diff --git a/tests/verifications/README.md b/tests/verifications/README.md new file mode 100644 index 000000000..986ff1087 --- /dev/null +++ b/tests/verifications/README.md @@ -0,0 +1,65 @@ +# Llama Stack Verifications + +Llama Stack Verifications provide standardized test suites to ensure API compatibility and behavior consistency across different LLM providers. These tests help verify that different models and providers implement the expected interfaces and behaviors correctly. + +## Overview + +This framework allows you to run the same set of verification tests against different LLM providers' OpenAI-compatible endpoints (Fireworks, Together, Groq, Cerebras, etc., and OpenAI itself) to ensure they meet the expected behavior and interface standards. + +## Features + +The verification suite currently tests: + +- Basic chat completions (streaming and non-streaming) +- Image input capabilities +- Structured JSON output formatting +- Tool calling functionality + +## Running Tests + +To run the verification tests, use pytest with the following parameters: + +```bash +cd llama-stack +pytest tests/verifications/openai --provider= +``` + +Example: +```bash +# Run all tests +pytest tests/verifications/openai --provider=together + +# Only run tests with Llama 4 models +pytest tests/verifications/openai --provider=together -k 'Llama-4' +``` + +### Parameters + +- `--provider`: The provider name (openai, fireworks, together, groq, cerebras, etc.) +- `--base-url`: The base URL for the provider's API (optional - defaults to the standard URL for the specified provider) +- `--api-key`: Your API key for the provider (optional - defaults to the standard API_KEY name for the specified provider) + +## Supported Providers + +The verification suite currently supports: +- OpenAI +- Fireworks +- Together +- Groq +- Cerebras + +## Adding New Test Cases + +To add new test cases, create appropriate JSON files in the `openai/fixtures/test_cases/` directory following the existing patterns. + + +## Structure + +- `__init__.py` - Marks the directory as a Python package +- `conftest.py` - Global pytest configuration and fixtures +- `openai/` - Tests specific to OpenAI-compatible APIs + - `fixtures/` - Test fixtures and utilities + - `fixtures.py` - Provider-specific fixtures + - `load.py` - Utilities for loading test cases + - `test_cases/` - JSON test case definitions + - `test_chat_completion.py` - Tests for chat completion APIs diff --git a/tests/verifications/REPORT.md b/tests/verifications/REPORT.md new file mode 100644 index 000000000..d5715ae21 --- /dev/null +++ b/tests/verifications/REPORT.md @@ -0,0 +1,88 @@ +# Test Results Report + +*Generated on: 2025-04-08 21:14:02* + +*This report was generated by running `python tests/verifications/generate_report.py`* + +## Legend + +- ✅ - Test passed +- ❌ - Test failed +- ⚪ - Test not applicable or not run for this model + + +## Summary + +| Provider | Pass Rate | Tests Passed | Total Tests | +| --- | --- | --- | --- | +| Together | 67.7% | 21 | 31 | +| Fireworks | 90.3% | 28 | 31 | +| Openai | 100.0% | 22 | 22 | + + + +## Together + +*Tests run on: 2025-04-08 16:19:59* + +```bash +pytest tests/verifications/openai/test_chat_completion.py --provider=together -v +``` + +| Test | Llama-3.3-70B-Instruct | Llama-4-Maverick-17B-128E-Instruct | Llama-4-Scout-17B-16E-Instruct | +| --- | --- | --- | --- | +| test_chat_non_streaming_basic (case 0) | ✅ | ✅ | ✅ | +| test_chat_non_streaming_basic (case 1) | ✅ | ✅ | ✅ | +| test_chat_non_streaming_image (case 0) | ⚪ | ✅ | ✅ | +| test_chat_non_streaming_structured_output (case 0) | ✅ | ✅ | ✅ | +| test_chat_non_streaming_structured_output (case 1) | ✅ | ✅ | ✅ | +| test_chat_non_streaming_tool_calling (case 0) | ✅ | ✅ | ✅ | +| test_chat_streaming_basic (case 0) | ✅ | ❌ | ❌ | +| test_chat_streaming_basic (case 1) | ✅ | ❌ | ❌ | +| test_chat_streaming_image (case 0) | ⚪ | ❌ | ❌ | +| test_chat_streaming_structured_output (case 0) | ✅ | ❌ | ❌ | +| test_chat_streaming_structured_output (case 1) | ✅ | ❌ | ❌ | + +## Fireworks + +*Tests run on: 2025-04-08 16:18:28* + +```bash +pytest tests/verifications/openai/test_chat_completion.py --provider=fireworks -v +``` + +| Test | Llama-3.3-70B-Instruct | Llama-4-Maverick-17B-128E-Instruct | Llama-4-Scout-17B-16E-Instruct | +| --- | --- | --- | --- | +| test_chat_non_streaming_basic (case 0) | ✅ | ✅ | ✅ | +| test_chat_non_streaming_basic (case 1) | ✅ | ✅ | ✅ | +| test_chat_non_streaming_image (case 0) | ⚪ | ✅ | ✅ | +| test_chat_non_streaming_structured_output (case 0) | ✅ | ✅ | ✅ | +| test_chat_non_streaming_structured_output (case 1) | ✅ | ✅ | ✅ | +| test_chat_non_streaming_tool_calling (case 0) | ✅ | ❌ | ❌ | +| test_chat_streaming_basic (case 0) | ✅ | ✅ | ✅ | +| test_chat_streaming_basic (case 1) | ✅ | ✅ | ✅ | +| test_chat_streaming_image (case 0) | ⚪ | ✅ | ✅ | +| test_chat_streaming_structured_output (case 0) | ✅ | ✅ | ✅ | +| test_chat_streaming_structured_output (case 1) | ❌ | ✅ | ✅ | + +## Openai + +*Tests run on: 2025-04-08 16:22:02* + +```bash +pytest tests/verifications/openai/test_chat_completion.py --provider=openai -v +``` + +| Test | gpt-4o | gpt-4o-mini | +| --- | --- | --- | +| test_chat_non_streaming_basic (case 0) | ✅ | ✅ | +| test_chat_non_streaming_basic (case 1) | ✅ | ✅ | +| test_chat_non_streaming_image (case 0) | ✅ | ✅ | +| test_chat_non_streaming_structured_output (case 0) | ✅ | ✅ | +| test_chat_non_streaming_structured_output (case 1) | ✅ | ✅ | +| test_chat_non_streaming_tool_calling (case 0) | ✅ | ✅ | +| test_chat_streaming_basic (case 0) | ✅ | ✅ | +| test_chat_streaming_basic (case 1) | ✅ | ✅ | +| test_chat_streaming_image (case 0) | ✅ | ✅ | +| test_chat_streaming_structured_output (case 0) | ✅ | ✅ | +| test_chat_streaming_structured_output (case 1) | ✅ | ✅ | diff --git a/tests/verifications/__init__.py b/tests/verifications/__init__.py new file mode 100644 index 000000000..756f351d8 --- /dev/null +++ b/tests/verifications/__init__.py @@ -0,0 +1,5 @@ +# Copyright (c) Meta Platforms, Inc. and affiliates. +# All rights reserved. +# +# This source code is licensed under the terms described in the LICENSE file in +# the root directory of this source tree. diff --git a/tests/verifications/conftest.py b/tests/verifications/conftest.py new file mode 100644 index 000000000..08967e834 --- /dev/null +++ b/tests/verifications/conftest.py @@ -0,0 +1,28 @@ +# Copyright (c) Meta Platforms, Inc. and affiliates. +# All rights reserved. +# +# This source code is licensed under the terms described in the LICENSE file in +# the root directory of this source tree. + + +def pytest_addoption(parser): + parser.addoption( + "--base-url", + action="store", + help="Base URL for OpenAI compatible API", + ) + parser.addoption( + "--api-key", + action="store", + help="API key", + ) + parser.addoption( + "--provider", + action="store", + help="Provider to use for testing", + ) + + +pytest_plugins = [ + "tests.verifications.openai.fixtures.fixtures", +] diff --git a/tests/verifications/generate_report.py b/tests/verifications/generate_report.py new file mode 100755 index 000000000..98a5930da --- /dev/null +++ b/tests/verifications/generate_report.py @@ -0,0 +1,485 @@ +# Copyright (c) Meta Platforms, Inc. and affiliates. +# All rights reserved. +# +# This source code is licensed under the terms described in the LICENSE file in +# the root directory of this source tree. + +""" +Test Report Generator + +Requirements: + pip install pytest-json-report + +Usage: + # Generate a report using existing test results + python tests/verifications/generate_report.py + + # Run tests and generate a report + python tests/verifications/generate_report.py --run-tests + + # Run tests for specific providers + python tests/verifications/generate_report.py --run-tests --providers fireworks openai + + # Save the report to a custom location + python tests/verifications/generate_report.py --output custom_report.md + + # Clean up old test result files + python tests/verifications/generate_report.py --cleanup +""" + +import argparse +import json +import os +import re +import subprocess +import time +from collections import defaultdict +from pathlib import Path + +# Define the root directory for test results +RESULTS_DIR = Path(__file__).parent / "test_results" +RESULTS_DIR.mkdir(exist_ok=True) + +# Maximum number of test result files to keep per provider +MAX_RESULTS_PER_PROVIDER = 1 + +# Custom order of providers +PROVIDER_ORDER = ["together", "fireworks", "groq", "cerebras", "openai"] + +# Dictionary to store providers and their models (will be populated dynamically) +PROVIDERS = defaultdict(set) + +# Tests will be dynamically extracted from results +ALL_TESTS = set() + + +def run_tests(provider): + """Run pytest for a specific provider and save results""" + print(f"Running tests for provider: {provider}") + + timestamp = int(time.time()) + result_file = RESULTS_DIR / f"{provider}_{timestamp}.json" + temp_json_file = RESULTS_DIR / f"temp_{provider}_{timestamp}.json" + + # Run pytest with JSON output + cmd = [ + "python", + "-m", + "pytest", + "tests/verifications/openai/test_chat_completion.py", + f"--provider={provider}", + "-v", + "--json-report", + f"--json-report-file={temp_json_file}", + ] + + try: + result = subprocess.run(cmd, capture_output=True, text=True) + print(f"Pytest exit code: {result.returncode}") + + # Check if the JSON file was created + if temp_json_file.exists(): + # Read the JSON file and save it to our results format + with open(temp_json_file, "r") as f: + test_results = json.load(f) + + # Save results to our own format with a trailing newline + with open(result_file, "w") as f: + json.dump(test_results, f, indent=2) + f.write("\n") # Add a trailing newline for precommit + + # Clean up temp file + temp_json_file.unlink() + + print(f"Test results saved to {result_file}") + return result_file + else: + print(f"Error: JSON report file not created for {provider}") + print(f"Command stdout: {result.stdout}") + print(f"Command stderr: {result.stderr}") + return None + except Exception as e: + print(f"Error running tests for {provider}: {e}") + return None + + +def parse_results(result_file): + """Parse the test results file and extract pass/fail by model and test""" + if not os.path.exists(result_file): + print(f"Results file does not exist: {result_file}") + return {} + + with open(result_file, "r") as f: + results = json.load(f) + + # Initialize results dictionary + parsed_results = defaultdict(lambda: defaultdict(dict)) + provider = os.path.basename(result_file).split("_")[0] + + # Debug: Print summary of test results + print(f"Test results summary for {provider}:") + print(f"Total tests: {results.get('summary', {}).get('total', 0)}") + print(f"Passed: {results.get('summary', {}).get('passed', 0)}") + print(f"Failed: {results.get('summary', {}).get('failed', 0)}") + print(f"Error: {results.get('summary', {}).get('error', 0)}") + print(f"Skipped: {results.get('summary', {}).get('skipped', 0)}") + + # Extract test results + if "tests" not in results or not results["tests"]: + print(f"No test results found in {result_file}") + return parsed_results + + # Map for normalizing model names + model_name_map = { + "Llama-3.3-8B-Instruct": "Llama-3.3-8B-Instruct", + "Llama-3.3-70B-Instruct": "Llama-3.3-70B-Instruct", + "Llama-3.2-11B-Vision-Instruct": "Llama-3.2-11B-Vision-Instruct", + "Llama-4-Scout-17B-16E": "Llama-4-Scout-17B-16E-Instruct", + "Llama-4-Scout-17B-16E-Instruct": "Llama-4-Scout-17B-16E-Instruct", + "Llama-4-Maverick-17B-128E": "Llama-4-Maverick-17B-128E-Instruct", + "Llama-4-Maverick-17B-128E-Instruct": "Llama-4-Maverick-17B-128E-Instruct", + "gpt-4o": "gpt-4o", + "gpt-4o-mini": "gpt-4o-mini", + } + + # Keep track of all models found for this provider + provider_models = set() + + # Track all unique test cases for each base test + test_case_counts = defaultdict(int) + + # First pass: count the number of cases for each test + for test in results["tests"]: + test_id = test.get("nodeid", "") + + if "call" in test: + test_name = test_id.split("::")[1].split("[")[0] + input_output_match = re.search(r"\[input_output(\d+)-", test_id) + if input_output_match: + test_case_counts[test_name] += 1 + + # Second pass: process the tests with case numbers only for tests with multiple cases + for test in results["tests"]: + test_id = test.get("nodeid", "") + outcome = test.get("outcome", "") + + # Only process tests that have been executed (not setup errors) + if "call" in test: + # Regular test that actually ran + test_name = test_id.split("::")[1].split("[")[0] + + # Extract input_output parameter to differentiate between test cases + input_output_match = re.search(r"\[input_output(\d+)-", test_id) + input_output_index = input_output_match.group(1) if input_output_match else "" + + # Create a more detailed test name with case number only if there are multiple cases + detailed_test_name = test_name + if input_output_index and test_case_counts[test_name] > 1: + detailed_test_name = f"{test_name} (case {input_output_index})" + + # Track all unique test names + ALL_TESTS.add(detailed_test_name) + + # Extract model name from test_id using a more robust pattern + model_match = re.search(r"\[input_output\d+-([^\]]+)\]", test_id) + if model_match: + raw_model = model_match.group(1) + model = model_name_map.get(raw_model, raw_model) + + # Add to set of known models for this provider + provider_models.add(model) + + # Also update the global PROVIDERS dictionary + PROVIDERS[provider].add(model) + + # Store the result + if outcome == "passed": + parsed_results[provider][model][detailed_test_name] = True + else: + parsed_results[provider][model][detailed_test_name] = False + + print(f"Parsed test result: {detailed_test_name} for model {model}: {outcome}") + elif outcome == "error" and "setup" in test and test.get("setup", {}).get("outcome") == "failed": + # This is a setup failure, which likely means a configuration issue + # Extract the base test name and model name + parts = test_id.split("::") + if len(parts) > 1: + test_name = parts[1].split("[")[0] + + # Extract input_output parameter to differentiate between test cases + input_output_match = re.search(r"\[input_output(\d+)-", test_id) + input_output_index = input_output_match.group(1) if input_output_match else "" + + # Create a more detailed test name with case number only if there are multiple cases + detailed_test_name = test_name + if input_output_index and test_case_counts[test_name] > 1: + detailed_test_name = f"{test_name} (case {input_output_index})" + + if detailed_test_name in ALL_TESTS: + # Use a more robust pattern for model extraction + model_match = re.search(r"\[input_output\d+-([^\]]+)\]", test_id) + if model_match: + raw_model = model_match.group(1) + model = model_name_map.get(raw_model, raw_model) + + # Add to set of known models for this provider + provider_models.add(model) + + # Also update the global PROVIDERS dictionary + PROVIDERS[provider].add(model) + + # Mark setup failures as false (failed) + parsed_results[provider][model][detailed_test_name] = False + print(f"Parsed setup failure: {detailed_test_name} for model {model}") + + # Debug: Print parsed results + if not parsed_results[provider]: + print(f"Warning: No test results parsed for provider {provider}") + else: + for model, tests in parsed_results[provider].items(): + print(f"Model {model}: {len(tests)} test results") + + return parsed_results + + +def cleanup_old_results(): + """Clean up old test result files, keeping only the newest N per provider""" + for provider in PROVIDERS.keys(): + # Get all result files for this provider + provider_files = list(RESULTS_DIR.glob(f"{provider}_*.json")) + + # Sort by timestamp (newest first) + provider_files.sort(key=lambda x: int(x.stem.split("_")[1]), reverse=True) + + # Remove old files beyond the max to keep + if len(provider_files) > MAX_RESULTS_PER_PROVIDER: + for old_file in provider_files[MAX_RESULTS_PER_PROVIDER:]: + try: + old_file.unlink() + print(f"Removed old result file: {old_file}") + except Exception as e: + print(f"Error removing file {old_file}: {e}") + + +def get_latest_results_by_provider(): + """Get the latest test result file for each provider""" + provider_results = {} + + # Get all result files + result_files = list(RESULTS_DIR.glob("*.json")) + + # Extract all provider names from filenames + all_providers = set() + for file in result_files: + # File format is provider_timestamp.json + parts = file.stem.split("_") + if len(parts) >= 2: + all_providers.add(parts[0]) + + # Group by provider + for provider in all_providers: + provider_files = [f for f in result_files if f.name.startswith(f"{provider}_")] + + # Sort by timestamp (newest first) + provider_files.sort(key=lambda x: int(x.stem.split("_")[1]), reverse=True) + + if provider_files: + provider_results[provider] = provider_files[0] + + return provider_results + + +def generate_report(results_dict, output_file=None): + """Generate the markdown report""" + if output_file is None: + # Default to creating the report in the same directory as this script + output_file = Path(__file__).parent / "REPORT.md" + else: + output_file = Path(output_file) + + # Get the timestamp from result files + provider_timestamps = {} + provider_results = get_latest_results_by_provider() + for provider, result_file in provider_results.items(): + # Extract timestamp from filename (format: provider_timestamp.json) + try: + timestamp_str = result_file.stem.split("_")[1] + timestamp = int(timestamp_str) + formatted_time = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(timestamp)) + provider_timestamps[provider] = formatted_time + except (IndexError, ValueError): + provider_timestamps[provider] = "Unknown" + + # Convert provider model sets to sorted lists + for provider in PROVIDERS: + PROVIDERS[provider] = sorted(PROVIDERS[provider]) + + # Sort tests alphabetically + sorted_tests = sorted(ALL_TESTS) + + report = ["# Test Results Report\n"] + report.append(f"*Generated on: {time.strftime('%Y-%m-%d %H:%M:%S')}*\n") + report.append("*This report was generated by running `python tests/verifications/generate_report.py`*\n") + + # Icons for pass/fail + pass_icon = "✅" + fail_icon = "❌" + na_icon = "⚪" + + # Add emoji legend + report.append("## Legend\n") + report.append(f"- {pass_icon} - Test passed") + report.append(f"- {fail_icon} - Test failed") + report.append(f"- {na_icon} - Test not applicable or not run for this model") + report.append("\n") + + # Add a summary section + report.append("## Summary\n") + + # Count total tests and passes + total_tests = 0 + passed_tests = 0 + provider_totals = {} + + # Prepare summary data + for provider in PROVIDERS.keys(): + provider_passed = 0 + provider_total = 0 + + if provider in results_dict: + provider_models = PROVIDERS[provider] + for model in provider_models: + if model in results_dict[provider]: + model_results = results_dict[provider][model] + for test in sorted_tests: + if test in model_results: + provider_total += 1 + total_tests += 1 + if model_results[test]: + provider_passed += 1 + passed_tests += 1 + + provider_totals[provider] = (provider_passed, provider_total) + + # Add summary table + report.append("| Provider | Pass Rate | Tests Passed | Total Tests |") + report.append("| --- | --- | --- | --- |") + + # Use the custom order for summary table + for provider in [p for p in PROVIDER_ORDER if p in PROVIDERS]: + passed, total = provider_totals.get(provider, (0, 0)) + pass_rate = f"{(passed / total * 100):.1f}%" if total > 0 else "N/A" + report.append(f"| {provider.capitalize()} | {pass_rate} | {passed} | {total} |") + + # Add providers not in the custom order + for provider in [p for p in PROVIDERS if p not in PROVIDER_ORDER]: + passed, total = provider_totals.get(provider, (0, 0)) + pass_rate = f"{(passed / total * 100):.1f}%" if total > 0 else "N/A" + report.append(f"| {provider.capitalize()} | {pass_rate} | {passed} | {total} |") + + report.append("\n") + + # Process each provider in the custom order, then any additional providers + for provider in sorted( + PROVIDERS.keys(), key=lambda p: (PROVIDER_ORDER.index(p) if p in PROVIDER_ORDER else float("inf"), p) + ): + if not PROVIDERS[provider]: + # Skip providers with no models + continue + + report.append(f"\n## {provider.capitalize()}\n") + + # Add timestamp when test was run + if provider in provider_timestamps: + report.append(f"*Tests run on: {provider_timestamps[provider]}*\n") + + # Add test command for reproducing results + test_cmd = f"pytest tests/verifications/openai/test_chat_completion.py --provider={provider} -v" + report.append(f"```bash\n{test_cmd}\n```\n") + + # Get the relevant models for this provider + provider_models = PROVIDERS[provider] + + # Create table header with models as columns + header = "| Test | " + " | ".join(provider_models) + " |" + separator = "| --- | " + " | ".join(["---"] * len(provider_models)) + " |" + + report.append(header) + report.append(separator) + + # Get results for this provider + provider_results = results_dict.get(provider, {}) + + # Add rows for each test + for test in sorted_tests: + row = f"| {test} |" + + # Add results for each model in this test + for model in provider_models: + if model in provider_results and test in provider_results[model]: + result = pass_icon if provider_results[model][test] else fail_icon + else: + result = na_icon + row += f" {result} |" + + report.append(row) + + # Write to file + with open(output_file, "w") as f: + f.write("\n".join(report)) + f.write("\n") + + print(f"Report generated: {output_file}") + + +def main(): + parser = argparse.ArgumentParser(description="Generate test report") + parser.add_argument("--run-tests", action="store_true", help="Run tests before generating report") + parser.add_argument( + "--providers", + type=str, + nargs="+", + help="Specify providers to test (comma-separated or space-separated, default: all)", + ) + parser.add_argument("--output", type=str, help="Output file location (default: tests/verifications/REPORT.md)") + args = parser.parse_args() + + all_results = {} + + if args.run_tests: + # Get list of available providers from command line or use detected providers + if args.providers: + # Handle both comma-separated and space-separated lists + test_providers = [] + for provider_arg in args.providers: + # Split by comma if commas are present + if "," in provider_arg: + test_providers.extend(provider_arg.split(",")) + else: + test_providers.append(provider_arg) + else: + # Default providers to test + test_providers = PROVIDER_ORDER + + for provider in test_providers: + provider = provider.strip() # Remove any whitespace + result_file = run_tests(provider) + if result_file: + provider_results = parse_results(result_file) + all_results.update(provider_results) + else: + # Use existing results + provider_result_files = get_latest_results_by_provider() + + for result_file in provider_result_files.values(): + provider_results = parse_results(result_file) + all_results.update(provider_results) + + # Generate the report + generate_report(all_results, args.output) + + cleanup_old_results() + + +if __name__ == "__main__": + main() diff --git a/tests/verifications/openai/__init__.py b/tests/verifications/openai/__init__.py new file mode 100644 index 000000000..756f351d8 --- /dev/null +++ b/tests/verifications/openai/__init__.py @@ -0,0 +1,5 @@ +# Copyright (c) Meta Platforms, Inc. and affiliates. +# All rights reserved. +# +# This source code is licensed under the terms described in the LICENSE file in +# the root directory of this source tree. diff --git a/tests/verifications/openai/fixtures/__init__.py b/tests/verifications/openai/fixtures/__init__.py new file mode 100644 index 000000000..756f351d8 --- /dev/null +++ b/tests/verifications/openai/fixtures/__init__.py @@ -0,0 +1,5 @@ +# Copyright (c) Meta Platforms, Inc. and affiliates. +# All rights reserved. +# +# This source code is licensed under the terms described in the LICENSE file in +# the root directory of this source tree. diff --git a/tests/verifications/openai/fixtures/fixtures.py b/tests/verifications/openai/fixtures/fixtures.py new file mode 100644 index 000000000..b86de3662 --- /dev/null +++ b/tests/verifications/openai/fixtures/fixtures.py @@ -0,0 +1,97 @@ +# Copyright (c) Meta Platforms, Inc. and affiliates. +# All rights reserved. +# +# This source code is licensed under the terms described in the LICENSE file in +# the root directory of this source tree. + +import os + +import pytest +from openai import OpenAI + + +@pytest.fixture +def providers_model_mapping(): + """ + Mapping from model names used in test cases to provider's model names. + """ + return { + "fireworks": { + "Llama-3.3-70B-Instruct": "accounts/fireworks/models/llama-v3p1-70b-instruct", + "Llama-3.2-11B-Vision-Instruct": "accounts/fireworks/models/llama-v3p2-11b-vision-instruct", + "Llama-4-Scout-17B-16E-Instruct": "accounts/fireworks/models/llama4-scout-instruct-basic", + "Llama-4-Maverick-17B-128E-Instruct": "accounts/fireworks/models/llama4-maverick-instruct-basic", + }, + "together": { + "Llama-3.3-70B-Instruct": "meta-llama/Llama-3.3-70B-Instruct-Turbo", + "Llama-3.2-11B-Vision-Instruct": "meta-llama/Llama-3.2-11B-Vision-Instruct-Turbo", + "Llama-4-Scout-17B-16E-Instruct": "meta-llama/Llama-4-Scout-17B-16E-Instruct", + "Llama-4-Maverick-17B-128E-Instruct": "meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8", + }, + "groq": { + "Llama-3.3-70B-Instruct": "llama-3.3-70b-versatile", + "Llama-3.2-11B-Vision-Instruct": "llama-3.2-11b-vision-preview", + "Llama-4-Scout-17B-16E-Instruct": "llama-4-scout-17b-16e-instruct", + "Llama-4-Maverick-17B-128E-Instruct": "llama-4-maverick-17b-128e-instruct", + }, + "cerebras": { + "Llama-3.3-70B-Instruct": "llama-3.3-70b", + }, + "openai": { + "gpt-4o": "gpt-4o", + "gpt-4o-mini": "gpt-4o-mini", + }, + } + + +@pytest.fixture +def provider_metadata(): + return { + "fireworks": ("https://api.fireworks.ai/inference/v1", "FIREWORKS_API_KEY"), + "together": ("https://api.together.xyz/v1", "TOGETHER_API_KEY"), + "groq": ("https://api.groq.com/openai/v1", "GROQ_API_KEY"), + "cerebras": ("https://api.cerebras.ai/v1", "CEREBRAS_API_KEY"), + "openai": ("https://api.openai.com/v1", "OPENAI_API_KEY"), + } + + +@pytest.fixture +def provider(request, provider_metadata): + provider = request.config.getoption("--provider") + base_url = request.config.getoption("--base-url") + + if provider and base_url and provider_metadata[provider][0] != base_url: + raise ValueError(f"Provider {provider} is not supported for base URL {base_url}") + + if not provider: + if not base_url: + raise ValueError("Provider and base URL are not provided") + for provider, metadata in provider_metadata.items(): + if metadata[0] == base_url: + provider = provider + break + + return provider + + +@pytest.fixture +def base_url(request, provider, provider_metadata): + return request.config.getoption("--base-url") or provider_metadata[provider][0] + + +@pytest.fixture +def api_key(request, provider, provider_metadata): + return request.config.getoption("--api-key") or os.getenv(provider_metadata[provider][1]) + + +@pytest.fixture +def model_mapping(provider, providers_model_mapping): + return providers_model_mapping[provider] + + +@pytest.fixture +def openai_client(base_url, api_key): + return OpenAI( + base_url=base_url, + api_key=api_key, + ) diff --git a/tests/verifications/openai/fixtures/load.py b/tests/verifications/openai/fixtures/load.py new file mode 100644 index 000000000..98580b2a1 --- /dev/null +++ b/tests/verifications/openai/fixtures/load.py @@ -0,0 +1,16 @@ +# Copyright (c) Meta Platforms, Inc. and affiliates. +# All rights reserved. +# +# This source code is licensed under the terms described in the LICENSE file in +# the root directory of this source tree. + +from pathlib import Path + +import yaml + + +def load_test_cases(name: str): + fixture_dir = Path(__file__).parent / "test_cases" + yaml_path = fixture_dir / f"{name}.yaml" + with open(yaml_path, "r") as f: + return yaml.safe_load(f) diff --git a/tests/verifications/openai/fixtures/test_cases/chat_completion.yaml b/tests/verifications/openai/fixtures/test_cases/chat_completion.yaml new file mode 100644 index 000000000..2c302a704 --- /dev/null +++ b/tests/verifications/openai/fixtures/test_cases/chat_completion.yaml @@ -0,0 +1,162 @@ +test_chat_basic: + test_name: test_chat_basic + test_params: + input_output: + - input: + messages: + - content: Which planet do humans live on? + role: user + output: Earth + - input: + messages: + - content: Which planet has rings around it with a name starting with letter + S? + role: user + output: Saturn + model: + - Llama-3.3-8B-Instruct + - Llama-3.3-70B-Instruct + - Llama-4-Scout-17B-16E + - Llama-4-Scout-17B-16E-Instruct + - Llama-4-Maverick-17B-128E + - Llama-4-Maverick-17B-128E-Instruct + - gpt-4o + - gpt-4o-mini +test_chat_image: + test_name: test_chat_image + test_params: + input_output: + - input: + messages: + - content: + - text: What is in this image? + type: text + - image_url: + url: https://upload.wikimedia.org/wikipedia/commons/f/f7/Llamas%2C_Vernagt-Stausee%2C_Italy.jpg + type: image_url + role: user + output: llama + model: + - Llama-4-Scout-17B-16E + - Llama-4-Scout-17B-16E-Instruct + - Llama-4-Maverick-17B-128E + - Llama-4-Maverick-17B-128E-Instruct + - gpt-4o + - gpt-4o-mini +test_chat_structured_output: + test_name: test_chat_structured_output + test_params: + input_output: + - input: + messages: + - content: Extract the event information. + role: system + - content: Alice and Bob are going to a science fair on Friday. + role: user + response_format: + json_schema: + name: calendar_event + schema: + properties: + date: + title: Date + type: string + name: + title: Name + type: string + participants: + items: + type: string + title: Participants + type: array + required: + - name + - date + - participants + title: CalendarEvent + type: object + type: json_schema + output: valid_calendar_event + - input: + messages: + - content: You are a helpful math tutor. Guide the user through the solution + step by step. + role: system + - content: how can I solve 8x + 7 = -23 + role: user + response_format: + json_schema: + name: math_reasoning + schema: + $defs: + Step: + properties: + explanation: + title: Explanation + type: string + output: + title: Output + type: string + required: + - explanation + - output + title: Step + type: object + properties: + final_answer: + title: Final Answer + type: string + steps: + items: + $ref: '#/$defs/Step' + title: Steps + type: array + required: + - steps + - final_answer + title: MathReasoning + type: object + type: json_schema + output: valid_math_reasoning + model: + - Llama-3.3-8B-Instruct + - Llama-3.3-70B-Instruct + - Llama-4-Scout-17B-16E + - Llama-4-Scout-17B-16E-Instruct + - Llama-4-Maverick-17B-128E + - Llama-4-Maverick-17B-128E-Instruct + - gpt-4o + - gpt-4o-mini +test_tool_calling: + test_name: test_tool_calling + test_params: + input_output: + - input: + messages: + - content: You are a helpful assistant that can use tools to get information. + role: system + - content: What's the weather like in San Francisco? + role: user + tools: + - function: + description: Get current temperature for a given location. + name: get_weather + parameters: + additionalProperties: false + properties: + location: + description: "City and country e.g. Bogot\xE1, Colombia" + type: string + required: + - location + type: object + type: function + output: get_weather_tool_call + model: + - Llama-3.3-70B-Instruct + - Llama-4-Scout-17B-16E + - Llama-4-Scout-17B-16E-Instruct + - Llama-4-Maverick-17B-128E + - Llama-4-Maverick-17B-128E-Instruct + - gpt-4o + - gpt-4o-mini diff --git a/tests/verifications/openai/test_chat_completion.py b/tests/verifications/openai/test_chat_completion.py new file mode 100644 index 000000000..c6a10de7b --- /dev/null +++ b/tests/verifications/openai/test_chat_completion.py @@ -0,0 +1,202 @@ +# Copyright (c) Meta Platforms, Inc. and affiliates. +# All rights reserved. +# +# This source code is licensed under the terms described in the LICENSE file in +# the root directory of this source tree. + +from typing import Any + +import pytest +from pydantic import BaseModel + +from tests.verifications.openai.fixtures.load import load_test_cases + +chat_completion_test_cases = load_test_cases("chat_completion") + + +@pytest.fixture +def correct_model_name(model, provider, providers_model_mapping): + """Return the provider-specific model name based on the generic model name.""" + mapping = providers_model_mapping[provider] + if model not in mapping: + pytest.skip(f"Provider {provider} does not support model {model}") + return mapping[model] + + +@pytest.mark.parametrize("model", chat_completion_test_cases["test_chat_basic"]["test_params"]["model"]) +@pytest.mark.parametrize( + "input_output", + chat_completion_test_cases["test_chat_basic"]["test_params"]["input_output"], +) +def test_chat_non_streaming_basic(openai_client, input_output, correct_model_name): + response = openai_client.chat.completions.create( + model=correct_model_name, + messages=input_output["input"]["messages"], + stream=False, + ) + assert response.choices[0].message.role == "assistant" + assert input_output["output"].lower() in response.choices[0].message.content.lower() + + +@pytest.mark.parametrize("model", chat_completion_test_cases["test_chat_basic"]["test_params"]["model"]) +@pytest.mark.parametrize( + "input_output", + chat_completion_test_cases["test_chat_basic"]["test_params"]["input_output"], +) +def test_chat_streaming_basic(openai_client, input_output, correct_model_name): + response = openai_client.chat.completions.create( + model=correct_model_name, + messages=input_output["input"]["messages"], + stream=True, + ) + content = "" + for chunk in response: + content += chunk.choices[0].delta.content or "" + + # TODO: add detailed type validation + + assert input_output["output"].lower() in content.lower() + + +@pytest.mark.parametrize("model", chat_completion_test_cases["test_chat_image"]["test_params"]["model"]) +@pytest.mark.parametrize( + "input_output", + chat_completion_test_cases["test_chat_image"]["test_params"]["input_output"], +) +def test_chat_non_streaming_image(openai_client, input_output, correct_model_name): + response = openai_client.chat.completions.create( + model=correct_model_name, + messages=input_output["input"]["messages"], + stream=False, + ) + assert response.choices[0].message.role == "assistant" + assert input_output["output"].lower() in response.choices[0].message.content.lower() + + +@pytest.mark.parametrize("model", chat_completion_test_cases["test_chat_image"]["test_params"]["model"]) +@pytest.mark.parametrize( + "input_output", + chat_completion_test_cases["test_chat_image"]["test_params"]["input_output"], +) +def test_chat_streaming_image(openai_client, input_output, correct_model_name): + response = openai_client.chat.completions.create( + model=correct_model_name, + messages=input_output["input"]["messages"], + stream=True, + ) + content = "" + for chunk in response: + content += chunk.choices[0].delta.content or "" + + # TODO: add detailed type validation + + assert input_output["output"].lower() in content.lower() + + +@pytest.mark.parametrize( + "model", + chat_completion_test_cases["test_chat_structured_output"]["test_params"]["model"], +) +@pytest.mark.parametrize( + "input_output", + chat_completion_test_cases["test_chat_structured_output"]["test_params"]["input_output"], +) +def test_chat_non_streaming_structured_output(openai_client, input_output, correct_model_name): + response = openai_client.chat.completions.create( + model=correct_model_name, + messages=input_output["input"]["messages"], + response_format=input_output["input"]["response_format"], + stream=False, + ) + + assert response.choices[0].message.role == "assistant" + maybe_json_content = response.choices[0].message.content + + validate_structured_output(maybe_json_content, input_output["output"]) + + +@pytest.mark.parametrize( + "model", + chat_completion_test_cases["test_chat_structured_output"]["test_params"]["model"], +) +@pytest.mark.parametrize( + "input_output", + chat_completion_test_cases["test_chat_structured_output"]["test_params"]["input_output"], +) +def test_chat_streaming_structured_output(openai_client, input_output, correct_model_name): + response = openai_client.chat.completions.create( + model=correct_model_name, + messages=input_output["input"]["messages"], + response_format=input_output["input"]["response_format"], + stream=True, + ) + maybe_json_content = "" + for chunk in response: + maybe_json_content += chunk.choices[0].delta.content or "" + validate_structured_output(maybe_json_content, input_output["output"]) + + +@pytest.mark.parametrize( + "model", + chat_completion_test_cases["test_tool_calling"]["test_params"]["model"], +) +@pytest.mark.parametrize( + "input_output", + chat_completion_test_cases["test_tool_calling"]["test_params"]["input_output"], +) +def test_chat_non_streaming_tool_calling(openai_client, input_output, correct_model_name): + response = openai_client.chat.completions.create( + model=correct_model_name, + messages=input_output["input"]["messages"], + tools=input_output["input"]["tools"], + stream=False, + ) + + assert response.choices[0].message.role == "assistant" + assert len(response.choices[0].message.tool_calls) > 0 + assert input_output["output"] == "get_weather_tool_call" + assert response.choices[0].message.tool_calls[0].function.name == "get_weather" + # TODO: add detailed type validation + + +def get_structured_output(maybe_json_content: str, schema_name: str) -> Any | None: + if schema_name == "valid_calendar_event": + + class CalendarEvent(BaseModel): + name: str + date: str + participants: list[str] + + try: + calendar_event = CalendarEvent.model_validate_json(maybe_json_content) + return calendar_event + except Exception: + return None + elif schema_name == "valid_math_reasoning": + + class Step(BaseModel): + explanation: str + output: str + + class MathReasoning(BaseModel): + steps: list[Step] + final_answer: str + + try: + math_reasoning = MathReasoning.model_validate_json(maybe_json_content) + return math_reasoning + except Exception: + return None + + return None + + +def validate_structured_output(maybe_json_content: str, schema_name: str) -> None: + structured_output = get_structured_output(maybe_json_content, schema_name) + assert structured_output is not None + if schema_name == "valid_calendar_event": + assert structured_output.name is not None + assert structured_output.date is not None + assert len(structured_output.participants) == 2 + elif schema_name == "valid_math_reasoning": + assert len(structured_output.final_answer) > 0 diff --git a/tests/verifications/test_results/fireworks_1744154308.json b/tests/verifications/test_results/fireworks_1744154308.json new file mode 100644 index 000000000..691f6e474 --- /dev/null +++ b/tests/verifications/test_results/fireworks_1744154308.json @@ -0,0 +1,2744 @@ +{ + "created": 1744154399.039055, + "duration": 87.73799800872803, + "exitcode": 1, + "root": "/Users/erichuang/projects/llama-stack", + "environment": {}, + "summary": { + "skipped": 52, + "passed": 28, + "failed": 3, + "total": 83, + "collected": 83 + }, + "collectors": [ + { + "nodeid": "", + "outcome": "passed", + "result": [ + { + "nodeid": "tests/verifications/openai/test_chat_completion.py", + "type": "Module" + } + ] + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py", + "outcome": "passed", + "result": [ + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_basic[input_output0-Llama-3.3-8B-Instruct]", + "type": "Function", + "lineno": 25 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_basic[input_output0-Llama-3.3-70B-Instruct]", + "type": "Function", + "lineno": 25 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_basic[input_output0-Llama-4-Scout-17B-16E]", + "type": "Function", + "lineno": 25 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_basic[input_output0-Llama-4-Scout-17B-16E-Instruct]", + "type": "Function", + "lineno": 25 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_basic[input_output0-Llama-4-Maverick-17B-128E]", + "type": "Function", + "lineno": 25 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_basic[input_output0-Llama-4-Maverick-17B-128E-Instruct]", + "type": "Function", + "lineno": 25 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_basic[input_output0-gpt-4o]", + "type": "Function", + "lineno": 25 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_basic[input_output0-gpt-4o-mini]", + "type": "Function", + "lineno": 25 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_basic[input_output1-Llama-3.3-8B-Instruct]", + "type": "Function", + "lineno": 25 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_basic[input_output1-Llama-3.3-70B-Instruct]", + "type": "Function", + "lineno": 25 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_basic[input_output1-Llama-4-Scout-17B-16E]", + "type": "Function", + "lineno": 25 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_basic[input_output1-Llama-4-Scout-17B-16E-Instruct]", + "type": "Function", + "lineno": 25 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_basic[input_output1-Llama-4-Maverick-17B-128E]", + "type": "Function", + "lineno": 25 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_basic[input_output1-Llama-4-Maverick-17B-128E-Instruct]", + "type": "Function", + "lineno": 25 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_basic[input_output1-gpt-4o]", + "type": "Function", + "lineno": 25 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_basic[input_output1-gpt-4o-mini]", + "type": "Function", + "lineno": 25 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_basic[input_output0-Llama-3.3-8B-Instruct]", + "type": "Function", + "lineno": 40 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_basic[input_output0-Llama-3.3-70B-Instruct]", + "type": "Function", + "lineno": 40 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_basic[input_output0-Llama-4-Scout-17B-16E]", + "type": "Function", + "lineno": 40 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_basic[input_output0-Llama-4-Scout-17B-16E-Instruct]", + "type": "Function", + "lineno": 40 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_basic[input_output0-Llama-4-Maverick-17B-128E]", + "type": "Function", + "lineno": 40 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_basic[input_output0-Llama-4-Maverick-17B-128E-Instruct]", + "type": "Function", + "lineno": 40 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_basic[input_output0-gpt-4o]", + "type": "Function", + "lineno": 40 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_basic[input_output0-gpt-4o-mini]", + "type": "Function", + "lineno": 40 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_basic[input_output1-Llama-3.3-8B-Instruct]", + "type": "Function", + "lineno": 40 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_basic[input_output1-Llama-3.3-70B-Instruct]", + "type": "Function", + "lineno": 40 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_basic[input_output1-Llama-4-Scout-17B-16E]", + "type": "Function", + "lineno": 40 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_basic[input_output1-Llama-4-Scout-17B-16E-Instruct]", + "type": "Function", + "lineno": 40 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_basic[input_output1-Llama-4-Maverick-17B-128E]", + "type": "Function", + "lineno": 40 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_basic[input_output1-Llama-4-Maverick-17B-128E-Instruct]", + "type": "Function", + "lineno": 40 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_basic[input_output1-gpt-4o]", + "type": "Function", + "lineno": 40 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_basic[input_output1-gpt-4o-mini]", + "type": "Function", + "lineno": 40 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_image[input_output0-Llama-4-Scout-17B-16E]", + "type": "Function", + "lineno": 60 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_image[input_output0-Llama-4-Scout-17B-16E-Instruct]", + "type": "Function", + "lineno": 60 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_image[input_output0-Llama-4-Maverick-17B-128E]", + "type": "Function", + "lineno": 60 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_image[input_output0-Llama-4-Maverick-17B-128E-Instruct]", + "type": "Function", + "lineno": 60 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_image[input_output0-gpt-4o]", + "type": "Function", + "lineno": 60 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_image[input_output0-gpt-4o-mini]", + "type": "Function", + "lineno": 60 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_image[input_output0-Llama-4-Scout-17B-16E]", + "type": "Function", + "lineno": 75 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_image[input_output0-Llama-4-Scout-17B-16E-Instruct]", + "type": "Function", + "lineno": 75 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_image[input_output0-Llama-4-Maverick-17B-128E]", + "type": "Function", + "lineno": 75 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_image[input_output0-Llama-4-Maverick-17B-128E-Instruct]", + "type": "Function", + "lineno": 75 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_image[input_output0-gpt-4o]", + "type": "Function", + "lineno": 75 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_image[input_output0-gpt-4o-mini]", + "type": "Function", + "lineno": 75 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_structured_output[input_output0-Llama-3.3-8B-Instruct]", + "type": "Function", + "lineno": 95 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_structured_output[input_output0-Llama-3.3-70B-Instruct]", + "type": "Function", + "lineno": 95 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_structured_output[input_output0-Llama-4-Scout-17B-16E]", + "type": "Function", + "lineno": 95 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_structured_output[input_output0-Llama-4-Scout-17B-16E-Instruct]", + "type": "Function", + "lineno": 95 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_structured_output[input_output0-Llama-4-Maverick-17B-128E]", + "type": "Function", + "lineno": 95 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_structured_output[input_output0-Llama-4-Maverick-17B-128E-Instruct]", + "type": "Function", + "lineno": 95 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_structured_output[input_output0-gpt-4o]", + "type": "Function", + "lineno": 95 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_structured_output[input_output0-gpt-4o-mini]", + "type": "Function", + "lineno": 95 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_structured_output[input_output1-Llama-3.3-8B-Instruct]", + "type": "Function", + "lineno": 95 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_structured_output[input_output1-Llama-3.3-70B-Instruct]", + "type": "Function", + "lineno": 95 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_structured_output[input_output1-Llama-4-Scout-17B-16E]", + "type": "Function", + "lineno": 95 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_structured_output[input_output1-Llama-4-Scout-17B-16E-Instruct]", + "type": "Function", + "lineno": 95 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_structured_output[input_output1-Llama-4-Maverick-17B-128E]", + "type": "Function", + "lineno": 95 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_structured_output[input_output1-Llama-4-Maverick-17B-128E-Instruct]", + "type": "Function", + "lineno": 95 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_structured_output[input_output1-gpt-4o]", + "type": "Function", + "lineno": 95 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_structured_output[input_output1-gpt-4o-mini]", + "type": "Function", + "lineno": 95 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_structured_output[input_output0-Llama-3.3-8B-Instruct]", + "type": "Function", + "lineno": 117 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_structured_output[input_output0-Llama-3.3-70B-Instruct]", + "type": "Function", + "lineno": 117 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_structured_output[input_output0-Llama-4-Scout-17B-16E]", + "type": "Function", + "lineno": 117 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_structured_output[input_output0-Llama-4-Scout-17B-16E-Instruct]", + "type": "Function", + "lineno": 117 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_structured_output[input_output0-Llama-4-Maverick-17B-128E]", + "type": "Function", + "lineno": 117 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_structured_output[input_output0-Llama-4-Maverick-17B-128E-Instruct]", + "type": "Function", + "lineno": 117 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_structured_output[input_output0-gpt-4o]", + "type": "Function", + "lineno": 117 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_structured_output[input_output0-gpt-4o-mini]", + "type": "Function", + "lineno": 117 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_structured_output[input_output1-Llama-3.3-8B-Instruct]", + "type": "Function", + "lineno": 117 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_structured_output[input_output1-Llama-3.3-70B-Instruct]", + "type": "Function", + "lineno": 117 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_structured_output[input_output1-Llama-4-Scout-17B-16E]", + "type": "Function", + "lineno": 117 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_structured_output[input_output1-Llama-4-Scout-17B-16E-Instruct]", + "type": "Function", + "lineno": 117 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_structured_output[input_output1-Llama-4-Maverick-17B-128E]", + "type": "Function", + "lineno": 117 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_structured_output[input_output1-Llama-4-Maverick-17B-128E-Instruct]", + "type": "Function", + "lineno": 117 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_structured_output[input_output1-gpt-4o]", + "type": "Function", + "lineno": 117 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_structured_output[input_output1-gpt-4o-mini]", + "type": "Function", + "lineno": 117 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_tool_calling[input_output0-Llama-3.3-70B-Instruct]", + "type": "Function", + "lineno": 138 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_tool_calling[input_output0-Llama-4-Scout-17B-16E]", + "type": "Function", + "lineno": 138 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_tool_calling[input_output0-Llama-4-Scout-17B-16E-Instruct]", + "type": "Function", + "lineno": 138 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_tool_calling[input_output0-Llama-4-Maverick-17B-128E]", + "type": "Function", + "lineno": 138 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_tool_calling[input_output0-Llama-4-Maverick-17B-128E-Instruct]", + "type": "Function", + "lineno": 138 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_tool_calling[input_output0-gpt-4o]", + "type": "Function", + "lineno": 138 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_tool_calling[input_output0-gpt-4o-mini]", + "type": "Function", + "lineno": 138 + } + ] + } + ], + "tests": [ + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_basic[input_output0-Llama-3.3-8B-Instruct]", + "lineno": 25, + "outcome": "skipped", + "keywords": [ + "test_chat_non_streaming_basic[input_output0-Llama-3.3-8B-Instruct]", + "parametrize", + "pytestmark", + "input_output0-Llama-3.3-8B-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.17320987500716, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 26, 'Skipped: Provider fireworks does not support model Llama-3.3-8B-Instruct')" + }, + "teardown": { + "duration": 0.000177707988768816, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_basic[input_output0-Llama-3.3-70B-Instruct]", + "lineno": 25, + "outcome": "passed", + "keywords": [ + "test_chat_non_streaming_basic[input_output0-Llama-3.3-70B-Instruct]", + "parametrize", + "pytestmark", + "input_output0-Llama-3.3-70B-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.009193749981932342, + "outcome": "passed" + }, + "call": { + "duration": 1.1473859580000862, + "outcome": "passed" + }, + "teardown": { + "duration": 0.00043337501119822264, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_basic[input_output0-Llama-4-Scout-17B-16E]", + "lineno": 25, + "outcome": "skipped", + "keywords": [ + "test_chat_non_streaming_basic[input_output0-Llama-4-Scout-17B-16E]", + "parametrize", + "pytestmark", + "input_output0-Llama-4-Scout-17B-16E", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.01645291701424867, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 26, 'Skipped: Provider fireworks does not support model Llama-4-Scout-17B-16E')" + }, + "teardown": { + "duration": 0.0002898749662563205, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_basic[input_output0-Llama-4-Scout-17B-16E-Instruct]", + "lineno": 25, + "outcome": "passed", + "keywords": [ + "test_chat_non_streaming_basic[input_output0-Llama-4-Scout-17B-16E-Instruct]", + "parametrize", + "pytestmark", + "input_output0-Llama-4-Scout-17B-16E-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.01562033302616328, + "outcome": "passed" + }, + "call": { + "duration": 0.8782661251025274, + "outcome": "passed" + }, + "teardown": { + "duration": 0.0002795408945530653, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_basic[input_output0-Llama-4-Maverick-17B-128E]", + "lineno": 25, + "outcome": "skipped", + "keywords": [ + "test_chat_non_streaming_basic[input_output0-Llama-4-Maverick-17B-128E]", + "parametrize", + "pytestmark", + "input_output0-Llama-4-Maverick-17B-128E", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.008571124984882772, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 26, 'Skipped: Provider fireworks does not support model Llama-4-Maverick-17B-128E')" + }, + "teardown": { + "duration": 0.0003043749602511525, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_basic[input_output0-Llama-4-Maverick-17B-128E-Instruct]", + "lineno": 25, + "outcome": "passed", + "keywords": [ + "test_chat_non_streaming_basic[input_output0-Llama-4-Maverick-17B-128E-Instruct]", + "parametrize", + "pytestmark", + "input_output0-Llama-4-Maverick-17B-128E-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.00842841702979058, + "outcome": "passed" + }, + "call": { + "duration": 1.3863223339430988, + "outcome": "passed" + }, + "teardown": { + "duration": 0.0009970410028472543, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_basic[input_output0-gpt-4o]", + "lineno": 25, + "outcome": "skipped", + "keywords": [ + "test_chat_non_streaming_basic[input_output0-gpt-4o]", + "parametrize", + "pytestmark", + "input_output0-gpt-4o", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.007089875056408346, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 26, 'Skipped: Provider fireworks does not support model gpt-4o')" + }, + "teardown": { + "duration": 0.00017958390526473522, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_basic[input_output0-gpt-4o-mini]", + "lineno": 25, + "outcome": "skipped", + "keywords": [ + "test_chat_non_streaming_basic[input_output0-gpt-4o-mini]", + "parametrize", + "pytestmark", + "input_output0-gpt-4o-mini", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.005809499998576939, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 26, 'Skipped: Provider fireworks does not support model gpt-4o-mini')" + }, + "teardown": { + "duration": 0.00016495899762958288, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_basic[input_output1-Llama-3.3-8B-Instruct]", + "lineno": 25, + "outcome": "skipped", + "keywords": [ + "test_chat_non_streaming_basic[input_output1-Llama-3.3-8B-Instruct]", + "parametrize", + "pytestmark", + "input_output1-Llama-3.3-8B-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.0119722920935601, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 26, 'Skipped: Provider fireworks does not support model Llama-3.3-8B-Instruct')" + }, + "teardown": { + "duration": 0.00016962504014372826, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_basic[input_output1-Llama-3.3-70B-Instruct]", + "lineno": 25, + "outcome": "passed", + "keywords": [ + "test_chat_non_streaming_basic[input_output1-Llama-3.3-70B-Instruct]", + "parametrize", + "pytestmark", + "input_output1-Llama-3.3-70B-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.005716291954740882, + "outcome": "passed" + }, + "call": { + "duration": 0.6822018750244752, + "outcome": "passed" + }, + "teardown": { + "duration": 0.0005292498972266912, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_basic[input_output1-Llama-4-Scout-17B-16E]", + "lineno": 25, + "outcome": "skipped", + "keywords": [ + "test_chat_non_streaming_basic[input_output1-Llama-4-Scout-17B-16E]", + "parametrize", + "pytestmark", + "input_output1-Llama-4-Scout-17B-16E", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.025827708072029054, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 26, 'Skipped: Provider fireworks does not support model Llama-4-Scout-17B-16E')" + }, + "teardown": { + "duration": 0.000295999925583601, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_basic[input_output1-Llama-4-Scout-17B-16E-Instruct]", + "lineno": 25, + "outcome": "passed", + "keywords": [ + "test_chat_non_streaming_basic[input_output1-Llama-4-Scout-17B-16E-Instruct]", + "parametrize", + "pytestmark", + "input_output1-Llama-4-Scout-17B-16E-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.010980832972563803, + "outcome": "passed" + }, + "call": { + "duration": 0.7537062909686938, + "outcome": "passed" + }, + "teardown": { + "duration": 0.0008091670460999012, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_basic[input_output1-Llama-4-Maverick-17B-128E]", + "lineno": 25, + "outcome": "skipped", + "keywords": [ + "test_chat_non_streaming_basic[input_output1-Llama-4-Maverick-17B-128E]", + "parametrize", + "pytestmark", + "input_output1-Llama-4-Maverick-17B-128E", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.006567832897417247, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 26, 'Skipped: Provider fireworks does not support model Llama-4-Maverick-17B-128E')" + }, + "teardown": { + "duration": 0.0001545000122860074, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_basic[input_output1-Llama-4-Maverick-17B-128E-Instruct]", + "lineno": 25, + "outcome": "passed", + "keywords": [ + "test_chat_non_streaming_basic[input_output1-Llama-4-Maverick-17B-128E-Instruct]", + "parametrize", + "pytestmark", + "input_output1-Llama-4-Maverick-17B-128E-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.005985083989799023, + "outcome": "passed" + }, + "call": { + "duration": 0.7263387079583481, + "outcome": "passed" + }, + "teardown": { + "duration": 0.0006324589485302567, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_basic[input_output1-gpt-4o]", + "lineno": 25, + "outcome": "skipped", + "keywords": [ + "test_chat_non_streaming_basic[input_output1-gpt-4o]", + "parametrize", + "pytestmark", + "input_output1-gpt-4o", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.0171962499152869, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 26, 'Skipped: Provider fireworks does not support model gpt-4o')" + }, + "teardown": { + "duration": 0.000780042028054595, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_basic[input_output1-gpt-4o-mini]", + "lineno": 25, + "outcome": "skipped", + "keywords": [ + "test_chat_non_streaming_basic[input_output1-gpt-4o-mini]", + "parametrize", + "pytestmark", + "input_output1-gpt-4o-mini", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.01365620899014175, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 26, 'Skipped: Provider fireworks does not support model gpt-4o-mini')" + }, + "teardown": { + "duration": 0.00016758404672145844, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_basic[input_output0-Llama-3.3-8B-Instruct]", + "lineno": 40, + "outcome": "skipped", + "keywords": [ + "test_chat_streaming_basic[input_output0-Llama-3.3-8B-Instruct]", + "parametrize", + "pytestmark", + "input_output0-Llama-3.3-8B-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.0064070840599015355, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 41, 'Skipped: Provider fireworks does not support model Llama-3.3-8B-Instruct')" + }, + "teardown": { + "duration": 0.0002031669719144702, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_basic[input_output0-Llama-3.3-70B-Instruct]", + "lineno": 40, + "outcome": "passed", + "keywords": [ + "test_chat_streaming_basic[input_output0-Llama-3.3-70B-Instruct]", + "parametrize", + "pytestmark", + "input_output0-Llama-3.3-70B-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.010951624950394034, + "outcome": "passed" + }, + "call": { + "duration": 0.5433399169705808, + "outcome": "passed" + }, + "teardown": { + "duration": 0.0013178749941289425, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_basic[input_output0-Llama-4-Scout-17B-16E]", + "lineno": 40, + "outcome": "skipped", + "keywords": [ + "test_chat_streaming_basic[input_output0-Llama-4-Scout-17B-16E]", + "parametrize", + "pytestmark", + "input_output0-Llama-4-Scout-17B-16E", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.022056750021874905, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 41, 'Skipped: Provider fireworks does not support model Llama-4-Scout-17B-16E')" + }, + "teardown": { + "duration": 0.0006570409750565886, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_basic[input_output0-Llama-4-Scout-17B-16E-Instruct]", + "lineno": 40, + "outcome": "passed", + "keywords": [ + "test_chat_streaming_basic[input_output0-Llama-4-Scout-17B-16E-Instruct]", + "parametrize", + "pytestmark", + "input_output0-Llama-4-Scout-17B-16E-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.008314333041198552, + "outcome": "passed" + }, + "call": { + "duration": 0.7779882500180975, + "outcome": "passed" + }, + "teardown": { + "duration": 0.0006799160037189722, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_basic[input_output0-Llama-4-Maverick-17B-128E]", + "lineno": 40, + "outcome": "skipped", + "keywords": [ + "test_chat_streaming_basic[input_output0-Llama-4-Maverick-17B-128E]", + "parametrize", + "pytestmark", + "input_output0-Llama-4-Maverick-17B-128E", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.03601404093205929, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 41, 'Skipped: Provider fireworks does not support model Llama-4-Maverick-17B-128E')" + }, + "teardown": { + "duration": 0.000610582996159792, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_basic[input_output0-Llama-4-Maverick-17B-128E-Instruct]", + "lineno": 40, + "outcome": "passed", + "keywords": [ + "test_chat_streaming_basic[input_output0-Llama-4-Maverick-17B-128E-Instruct]", + "parametrize", + "pytestmark", + "input_output0-Llama-4-Maverick-17B-128E-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.014321292052045465, + "outcome": "passed" + }, + "call": { + "duration": 1.0243758750148118, + "outcome": "passed" + }, + "teardown": { + "duration": 0.0010485410457476974, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_basic[input_output0-gpt-4o]", + "lineno": 40, + "outcome": "skipped", + "keywords": [ + "test_chat_streaming_basic[input_output0-gpt-4o]", + "parametrize", + "pytestmark", + "input_output0-gpt-4o", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.021133000031113625, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 41, 'Skipped: Provider fireworks does not support model gpt-4o')" + }, + "teardown": { + "duration": 0.0005400830414146185, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_basic[input_output0-gpt-4o-mini]", + "lineno": 40, + "outcome": "skipped", + "keywords": [ + "test_chat_streaming_basic[input_output0-gpt-4o-mini]", + "parametrize", + "pytestmark", + "input_output0-gpt-4o-mini", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.007212458993308246, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 41, 'Skipped: Provider fireworks does not support model gpt-4o-mini')" + }, + "teardown": { + "duration": 0.00026770797558128834, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_basic[input_output1-Llama-3.3-8B-Instruct]", + "lineno": 40, + "outcome": "skipped", + "keywords": [ + "test_chat_streaming_basic[input_output1-Llama-3.3-8B-Instruct]", + "parametrize", + "pytestmark", + "input_output1-Llama-3.3-8B-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.012334750033915043, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 41, 'Skipped: Provider fireworks does not support model Llama-3.3-8B-Instruct')" + }, + "teardown": { + "duration": 0.00042683398351073265, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_basic[input_output1-Llama-3.3-70B-Instruct]", + "lineno": 40, + "outcome": "passed", + "keywords": [ + "test_chat_streaming_basic[input_output1-Llama-3.3-70B-Instruct]", + "parametrize", + "pytestmark", + "input_output1-Llama-3.3-70B-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.011477917083539069, + "outcome": "passed" + }, + "call": { + "duration": 1.670572166913189, + "outcome": "passed" + }, + "teardown": { + "duration": 0.0005759169580414891, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_basic[input_output1-Llama-4-Scout-17B-16E]", + "lineno": 40, + "outcome": "skipped", + "keywords": [ + "test_chat_streaming_basic[input_output1-Llama-4-Scout-17B-16E]", + "parametrize", + "pytestmark", + "input_output1-Llama-4-Scout-17B-16E", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.024620208074338734, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 41, 'Skipped: Provider fireworks does not support model Llama-4-Scout-17B-16E')" + }, + "teardown": { + "duration": 0.0005166250048205256, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_basic[input_output1-Llama-4-Scout-17B-16E-Instruct]", + "lineno": 40, + "outcome": "passed", + "keywords": [ + "test_chat_streaming_basic[input_output1-Llama-4-Scout-17B-16E-Instruct]", + "parametrize", + "pytestmark", + "input_output1-Llama-4-Scout-17B-16E-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.008708957931958139, + "outcome": "passed" + }, + "call": { + "duration": 0.6654335829662159, + "outcome": "passed" + }, + "teardown": { + "duration": 0.0002927089808508754, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_basic[input_output1-Llama-4-Maverick-17B-128E]", + "lineno": 40, + "outcome": "skipped", + "keywords": [ + "test_chat_streaming_basic[input_output1-Llama-4-Maverick-17B-128E]", + "parametrize", + "pytestmark", + "input_output1-Llama-4-Maverick-17B-128E", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.018128167022950947, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 41, 'Skipped: Provider fireworks does not support model Llama-4-Maverick-17B-128E')" + }, + "teardown": { + "duration": 0.0001929170684888959, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_basic[input_output1-Llama-4-Maverick-17B-128E-Instruct]", + "lineno": 40, + "outcome": "passed", + "keywords": [ + "test_chat_streaming_basic[input_output1-Llama-4-Maverick-17B-128E-Instruct]", + "parametrize", + "pytestmark", + "input_output1-Llama-4-Maverick-17B-128E-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.0063874589977785945, + "outcome": "passed" + }, + "call": { + "duration": 0.8047525839647278, + "outcome": "passed" + }, + "teardown": { + "duration": 0.00039245898369699717, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_basic[input_output1-gpt-4o]", + "lineno": 40, + "outcome": "skipped", + "keywords": [ + "test_chat_streaming_basic[input_output1-gpt-4o]", + "parametrize", + "pytestmark", + "input_output1-gpt-4o", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.01366533397231251, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 41, 'Skipped: Provider fireworks does not support model gpt-4o')" + }, + "teardown": { + "duration": 0.00028241705149412155, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_basic[input_output1-gpt-4o-mini]", + "lineno": 40, + "outcome": "skipped", + "keywords": [ + "test_chat_streaming_basic[input_output1-gpt-4o-mini]", + "parametrize", + "pytestmark", + "input_output1-gpt-4o-mini", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.010844790958799422, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 41, 'Skipped: Provider fireworks does not support model gpt-4o-mini')" + }, + "teardown": { + "duration": 0.000258082989603281, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_image[input_output0-Llama-4-Scout-17B-16E]", + "lineno": 60, + "outcome": "skipped", + "keywords": [ + "test_chat_non_streaming_image[input_output0-Llama-4-Scout-17B-16E]", + "parametrize", + "pytestmark", + "input_output0-Llama-4-Scout-17B-16E", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.00936354196164757, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 61, 'Skipped: Provider fireworks does not support model Llama-4-Scout-17B-16E')" + }, + "teardown": { + "duration": 0.00020533299539238214, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_image[input_output0-Llama-4-Scout-17B-16E-Instruct]", + "lineno": 60, + "outcome": "passed", + "keywords": [ + "test_chat_non_streaming_image[input_output0-Llama-4-Scout-17B-16E-Instruct]", + "parametrize", + "pytestmark", + "input_output0-Llama-4-Scout-17B-16E-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.008578249951824546, + "outcome": "passed" + }, + "call": { + "duration": 2.6288582499837503, + "outcome": "passed" + }, + "teardown": { + "duration": 0.0006052498938515782, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_image[input_output0-Llama-4-Maverick-17B-128E]", + "lineno": 60, + "outcome": "skipped", + "keywords": [ + "test_chat_non_streaming_image[input_output0-Llama-4-Maverick-17B-128E]", + "parametrize", + "pytestmark", + "input_output0-Llama-4-Maverick-17B-128E", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.02061279199551791, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 61, 'Skipped: Provider fireworks does not support model Llama-4-Maverick-17B-128E')" + }, + "teardown": { + "duration": 0.00029320805333554745, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_image[input_output0-Llama-4-Maverick-17B-128E-Instruct]", + "lineno": 60, + "outcome": "passed", + "keywords": [ + "test_chat_non_streaming_image[input_output0-Llama-4-Maverick-17B-128E-Instruct]", + "parametrize", + "pytestmark", + "input_output0-Llama-4-Maverick-17B-128E-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.00995812495239079, + "outcome": "passed" + }, + "call": { + "duration": 3.0904540000483394, + "outcome": "passed" + }, + "teardown": { + "duration": 0.0003214169992133975, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_image[input_output0-gpt-4o]", + "lineno": 60, + "outcome": "skipped", + "keywords": [ + "test_chat_non_streaming_image[input_output0-gpt-4o]", + "parametrize", + "pytestmark", + "input_output0-gpt-4o", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.0261635419446975, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 61, 'Skipped: Provider fireworks does not support model gpt-4o')" + }, + "teardown": { + "duration": 0.00032716698478907347, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_image[input_output0-gpt-4o-mini]", + "lineno": 60, + "outcome": "skipped", + "keywords": [ + "test_chat_non_streaming_image[input_output0-gpt-4o-mini]", + "parametrize", + "pytestmark", + "input_output0-gpt-4o-mini", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.027220541960559785, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 61, 'Skipped: Provider fireworks does not support model gpt-4o-mini')" + }, + "teardown": { + "duration": 0.0003192499279975891, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_image[input_output0-Llama-4-Scout-17B-16E]", + "lineno": 75, + "outcome": "skipped", + "keywords": [ + "test_chat_streaming_image[input_output0-Llama-4-Scout-17B-16E]", + "parametrize", + "pytestmark", + "input_output0-Llama-4-Scout-17B-16E", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.010883458075113595, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 76, 'Skipped: Provider fireworks does not support model Llama-4-Scout-17B-16E')" + }, + "teardown": { + "duration": 0.0002687909873202443, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_image[input_output0-Llama-4-Scout-17B-16E-Instruct]", + "lineno": 75, + "outcome": "passed", + "keywords": [ + "test_chat_streaming_image[input_output0-Llama-4-Scout-17B-16E-Instruct]", + "parametrize", + "pytestmark", + "input_output0-Llama-4-Scout-17B-16E-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.0171177500160411, + "outcome": "passed" + }, + "call": { + "duration": 1.6752691670553759, + "outcome": "passed" + }, + "teardown": { + "duration": 0.0004877089522778988, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_image[input_output0-Llama-4-Maverick-17B-128E]", + "lineno": 75, + "outcome": "skipped", + "keywords": [ + "test_chat_streaming_image[input_output0-Llama-4-Maverick-17B-128E]", + "parametrize", + "pytestmark", + "input_output0-Llama-4-Maverick-17B-128E", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.011608208995312452, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 76, 'Skipped: Provider fireworks does not support model Llama-4-Maverick-17B-128E')" + }, + "teardown": { + "duration": 0.00017137499526143074, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_image[input_output0-Llama-4-Maverick-17B-128E-Instruct]", + "lineno": 75, + "outcome": "passed", + "keywords": [ + "test_chat_streaming_image[input_output0-Llama-4-Maverick-17B-128E-Instruct]", + "parametrize", + "pytestmark", + "input_output0-Llama-4-Maverick-17B-128E-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.009284624946303666, + "outcome": "passed" + }, + "call": { + "duration": 3.537356249988079, + "outcome": "passed" + }, + "teardown": { + "duration": 0.0005068340105935931, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_image[input_output0-gpt-4o]", + "lineno": 75, + "outcome": "skipped", + "keywords": [ + "test_chat_streaming_image[input_output0-gpt-4o]", + "parametrize", + "pytestmark", + "input_output0-gpt-4o", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.016660499968566, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 76, 'Skipped: Provider fireworks does not support model gpt-4o')" + }, + "teardown": { + "duration": 0.00029341597110033035, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_image[input_output0-gpt-4o-mini]", + "lineno": 75, + "outcome": "skipped", + "keywords": [ + "test_chat_streaming_image[input_output0-gpt-4o-mini]", + "parametrize", + "pytestmark", + "input_output0-gpt-4o-mini", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.01374066702555865, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 76, 'Skipped: Provider fireworks does not support model gpt-4o-mini')" + }, + "teardown": { + "duration": 0.0002625000197440386, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_structured_output[input_output0-Llama-3.3-8B-Instruct]", + "lineno": 95, + "outcome": "skipped", + "keywords": [ + "test_chat_non_streaming_structured_output[input_output0-Llama-3.3-8B-Instruct]", + "parametrize", + "pytestmark", + "input_output0-Llama-3.3-8B-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.013120374991558492, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 96, 'Skipped: Provider fireworks does not support model Llama-3.3-8B-Instruct')" + }, + "teardown": { + "duration": 0.00021954195108264685, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_structured_output[input_output0-Llama-3.3-70B-Instruct]", + "lineno": 95, + "outcome": "passed", + "keywords": [ + "test_chat_non_streaming_structured_output[input_output0-Llama-3.3-70B-Instruct]", + "parametrize", + "pytestmark", + "input_output0-Llama-3.3-70B-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.015080374898388982, + "outcome": "passed" + }, + "call": { + "duration": 1.157175041968003, + "outcome": "passed" + }, + "teardown": { + "duration": 0.000495875021442771, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_structured_output[input_output0-Llama-4-Scout-17B-16E]", + "lineno": 95, + "outcome": "skipped", + "keywords": [ + "test_chat_non_streaming_structured_output[input_output0-Llama-4-Scout-17B-16E]", + "parametrize", + "pytestmark", + "input_output0-Llama-4-Scout-17B-16E", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.013946042046882212, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 96, 'Skipped: Provider fireworks does not support model Llama-4-Scout-17B-16E')" + }, + "teardown": { + "duration": 0.0002954580122604966, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_structured_output[input_output0-Llama-4-Scout-17B-16E-Instruct]", + "lineno": 95, + "outcome": "passed", + "keywords": [ + "test_chat_non_streaming_structured_output[input_output0-Llama-4-Scout-17B-16E-Instruct]", + "parametrize", + "pytestmark", + "input_output0-Llama-4-Scout-17B-16E-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.011617792071774602, + "outcome": "passed" + }, + "call": { + "duration": 0.9537639999762177, + "outcome": "passed" + }, + "teardown": { + "duration": 0.0004819999448955059, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_structured_output[input_output0-Llama-4-Maverick-17B-128E]", + "lineno": 95, + "outcome": "skipped", + "keywords": [ + "test_chat_non_streaming_structured_output[input_output0-Llama-4-Maverick-17B-128E]", + "parametrize", + "pytestmark", + "input_output0-Llama-4-Maverick-17B-128E", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.027436082949861884, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 96, 'Skipped: Provider fireworks does not support model Llama-4-Maverick-17B-128E')" + }, + "teardown": { + "duration": 0.00030274991877377033, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_structured_output[input_output0-Llama-4-Maverick-17B-128E-Instruct]", + "lineno": 95, + "outcome": "passed", + "keywords": [ + "test_chat_non_streaming_structured_output[input_output0-Llama-4-Maverick-17B-128E-Instruct]", + "parametrize", + "pytestmark", + "input_output0-Llama-4-Maverick-17B-128E-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.016110333963297307, + "outcome": "passed" + }, + "call": { + "duration": 0.8493227910948917, + "outcome": "passed" + }, + "teardown": { + "duration": 0.0004883749643340707, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_structured_output[input_output0-gpt-4o]", + "lineno": 95, + "outcome": "skipped", + "keywords": [ + "test_chat_non_streaming_structured_output[input_output0-gpt-4o]", + "parametrize", + "pytestmark", + "input_output0-gpt-4o", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.017850833013653755, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 96, 'Skipped: Provider fireworks does not support model gpt-4o')" + }, + "teardown": { + "duration": 0.0003287500003352761, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_structured_output[input_output0-gpt-4o-mini]", + "lineno": 95, + "outcome": "skipped", + "keywords": [ + "test_chat_non_streaming_structured_output[input_output0-gpt-4o-mini]", + "parametrize", + "pytestmark", + "input_output0-gpt-4o-mini", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.012523208046332002, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 96, 'Skipped: Provider fireworks does not support model gpt-4o-mini')" + }, + "teardown": { + "duration": 0.00023500004317611456, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_structured_output[input_output1-Llama-3.3-8B-Instruct]", + "lineno": 95, + "outcome": "skipped", + "keywords": [ + "test_chat_non_streaming_structured_output[input_output1-Llama-3.3-8B-Instruct]", + "parametrize", + "pytestmark", + "input_output1-Llama-3.3-8B-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.007516667013987899, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 96, 'Skipped: Provider fireworks does not support model Llama-3.3-8B-Instruct')" + }, + "teardown": { + "duration": 0.00018912507221102715, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_structured_output[input_output1-Llama-3.3-70B-Instruct]", + "lineno": 95, + "outcome": "passed", + "keywords": [ + "test_chat_non_streaming_structured_output[input_output1-Llama-3.3-70B-Instruct]", + "parametrize", + "pytestmark", + "input_output1-Llama-3.3-70B-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.007337165996432304, + "outcome": "passed" + }, + "call": { + "duration": 3.124099582899362, + "outcome": "passed" + }, + "teardown": { + "duration": 0.0006703329272568226, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_structured_output[input_output1-Llama-4-Scout-17B-16E]", + "lineno": 95, + "outcome": "skipped", + "keywords": [ + "test_chat_non_streaming_structured_output[input_output1-Llama-4-Scout-17B-16E]", + "parametrize", + "pytestmark", + "input_output1-Llama-4-Scout-17B-16E", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.014259999967180192, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 96, 'Skipped: Provider fireworks does not support model Llama-4-Scout-17B-16E')" + }, + "teardown": { + "duration": 0.00030262500513345003, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_structured_output[input_output1-Llama-4-Scout-17B-16E-Instruct]", + "lineno": 95, + "outcome": "passed", + "keywords": [ + "test_chat_non_streaming_structured_output[input_output1-Llama-4-Scout-17B-16E-Instruct]", + "parametrize", + "pytestmark", + "input_output1-Llama-4-Scout-17B-16E-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.010863124975003302, + "outcome": "passed" + }, + "call": { + "duration": 1.3330956250429153, + "outcome": "passed" + }, + "teardown": { + "duration": 0.00018679199274629354, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_structured_output[input_output1-Llama-4-Maverick-17B-128E]", + "lineno": 95, + "outcome": "skipped", + "keywords": [ + "test_chat_non_streaming_structured_output[input_output1-Llama-4-Maverick-17B-128E]", + "parametrize", + "pytestmark", + "input_output1-Llama-4-Maverick-17B-128E", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.005797958001494408, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 96, 'Skipped: Provider fireworks does not support model Llama-4-Maverick-17B-128E')" + }, + "teardown": { + "duration": 0.00017529097385704517, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_structured_output[input_output1-Llama-4-Maverick-17B-128E-Instruct]", + "lineno": 95, + "outcome": "passed", + "keywords": [ + "test_chat_non_streaming_structured_output[input_output1-Llama-4-Maverick-17B-128E-Instruct]", + "parametrize", + "pytestmark", + "input_output1-Llama-4-Maverick-17B-128E-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.005647709011100233, + "outcome": "passed" + }, + "call": { + "duration": 3.2295467499643564, + "outcome": "passed" + }, + "teardown": { + "duration": 0.0005654999986290932, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_structured_output[input_output1-gpt-4o]", + "lineno": 95, + "outcome": "skipped", + "keywords": [ + "test_chat_non_streaming_structured_output[input_output1-gpt-4o]", + "parametrize", + "pytestmark", + "input_output1-gpt-4o", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.007151791942305863, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 96, 'Skipped: Provider fireworks does not support model gpt-4o')" + }, + "teardown": { + "duration": 0.00015316694043576717, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_structured_output[input_output1-gpt-4o-mini]", + "lineno": 95, + "outcome": "skipped", + "keywords": [ + "test_chat_non_streaming_structured_output[input_output1-gpt-4o-mini]", + "parametrize", + "pytestmark", + "input_output1-gpt-4o-mini", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.006435790914110839, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 96, 'Skipped: Provider fireworks does not support model gpt-4o-mini')" + }, + "teardown": { + "duration": 0.00015954102855175734, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_structured_output[input_output0-Llama-3.3-8B-Instruct]", + "lineno": 117, + "outcome": "skipped", + "keywords": [ + "test_chat_streaming_structured_output[input_output0-Llama-3.3-8B-Instruct]", + "parametrize", + "pytestmark", + "input_output0-Llama-3.3-8B-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.006164791993796825, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 118, 'Skipped: Provider fireworks does not support model Llama-3.3-8B-Instruct')" + }, + "teardown": { + "duration": 0.00014074996579438448, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_structured_output[input_output0-Llama-3.3-70B-Instruct]", + "lineno": 117, + "outcome": "passed", + "keywords": [ + "test_chat_streaming_structured_output[input_output0-Llama-3.3-70B-Instruct]", + "parametrize", + "pytestmark", + "input_output0-Llama-3.3-70B-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.010064583038911223, + "outcome": "passed" + }, + "call": { + "duration": 1.1676458748988807, + "outcome": "passed" + }, + "teardown": { + "duration": 0.0002513329964131117, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_structured_output[input_output0-Llama-4-Scout-17B-16E]", + "lineno": 117, + "outcome": "skipped", + "keywords": [ + "test_chat_streaming_structured_output[input_output0-Llama-4-Scout-17B-16E]", + "parametrize", + "pytestmark", + "input_output0-Llama-4-Scout-17B-16E", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.011011417023837566, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 118, 'Skipped: Provider fireworks does not support model Llama-4-Scout-17B-16E')" + }, + "teardown": { + "duration": 0.00020608294289559126, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_structured_output[input_output0-Llama-4-Scout-17B-16E-Instruct]", + "lineno": 117, + "outcome": "passed", + "keywords": [ + "test_chat_streaming_structured_output[input_output0-Llama-4-Scout-17B-16E-Instruct]", + "parametrize", + "pytestmark", + "input_output0-Llama-4-Scout-17B-16E-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.011654542060568929, + "outcome": "passed" + }, + "call": { + "duration": 0.7950789160095155, + "outcome": "passed" + }, + "teardown": { + "duration": 0.0002690000692382455, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_structured_output[input_output0-Llama-4-Maverick-17B-128E]", + "lineno": 117, + "outcome": "skipped", + "keywords": [ + "test_chat_streaming_structured_output[input_output0-Llama-4-Maverick-17B-128E]", + "parametrize", + "pytestmark", + "input_output0-Llama-4-Maverick-17B-128E", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.0066834589233621955, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 118, 'Skipped: Provider fireworks does not support model Llama-4-Maverick-17B-128E')" + }, + "teardown": { + "duration": 0.00017270795069634914, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_structured_output[input_output0-Llama-4-Maverick-17B-128E-Instruct]", + "lineno": 117, + "outcome": "passed", + "keywords": [ + "test_chat_streaming_structured_output[input_output0-Llama-4-Maverick-17B-128E-Instruct]", + "parametrize", + "pytestmark", + "input_output0-Llama-4-Maverick-17B-128E-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.011390416999347508, + "outcome": "passed" + }, + "call": { + "duration": 0.7844940840732306, + "outcome": "passed" + }, + "teardown": { + "duration": 0.000511458027176559, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_structured_output[input_output0-gpt-4o]", + "lineno": 117, + "outcome": "skipped", + "keywords": [ + "test_chat_streaming_structured_output[input_output0-gpt-4o]", + "parametrize", + "pytestmark", + "input_output0-gpt-4o", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.005813500029034913, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 118, 'Skipped: Provider fireworks does not support model gpt-4o')" + }, + "teardown": { + "duration": 0.00015495799016207457, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_structured_output[input_output0-gpt-4o-mini]", + "lineno": 117, + "outcome": "skipped", + "keywords": [ + "test_chat_streaming_structured_output[input_output0-gpt-4o-mini]", + "parametrize", + "pytestmark", + "input_output0-gpt-4o-mini", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.0075639160349965096, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 118, 'Skipped: Provider fireworks does not support model gpt-4o-mini')" + }, + "teardown": { + "duration": 0.00014358304906636477, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_structured_output[input_output1-Llama-3.3-8B-Instruct]", + "lineno": 117, + "outcome": "skipped", + "keywords": [ + "test_chat_streaming_structured_output[input_output1-Llama-3.3-8B-Instruct]", + "parametrize", + "pytestmark", + "input_output1-Llama-3.3-8B-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.008526541059836745, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 118, 'Skipped: Provider fireworks does not support model Llama-3.3-8B-Instruct')" + }, + "teardown": { + "duration": 0.00015841599088162184, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_structured_output[input_output1-Llama-3.3-70B-Instruct]", + "lineno": 117, + "outcome": "failed", + "keywords": [ + "test_chat_streaming_structured_output[input_output1-Llama-3.3-70B-Instruct]", + "parametrize", + "pytestmark", + "input_output1-Llama-3.3-70B-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.007805416011251509, + "outcome": "passed" + }, + "call": { + "duration": 13.25898533302825, + "outcome": "failed", + "crash": { + "path": "/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py", + "lineno": 196, + "message": "assert None is not None" + }, + "traceback": [ + { + "path": "tests/verifications/openai/test_chat_completion.py", + "lineno": 136, + "message": "" + }, + { + "path": "tests/verifications/openai/test_chat_completion.py", + "lineno": 196, + "message": "AssertionError" + } + ], + "longrepr": "openai_client = \ninput_output = {'input': {'messages': [{'content': 'You are a helpful math tutor. Guide the user through the solution step by step.',... ['steps', 'final_answer'], 'title': 'MathReasoning', ...}}, 'type': 'json_schema'}}, 'output': 'valid_math_reasoning'}\ncorrect_model_name = 'accounts/fireworks/models/llama-v3p1-70b-instruct'\n\n @pytest.mark.parametrize(\n \"model\",\n chat_completion_test_cases[\"test_chat_structured_output\"][\"test_params\"][\"model\"],\n )\n @pytest.mark.parametrize(\n \"input_output\",\n chat_completion_test_cases[\"test_chat_structured_output\"][\"test_params\"][\"input_output\"],\n )\n def test_chat_streaming_structured_output(openai_client, input_output, correct_model_name):\n response = openai_client.chat.completions.create(\n model=correct_model_name,\n messages=input_output[\"input\"][\"messages\"],\n response_format=input_output[\"input\"][\"response_format\"],\n stream=True,\n )\n maybe_json_content = \"\"\n for chunk in response:\n maybe_json_content += chunk.choices[0].delta.content or \"\"\n> validate_structured_output(maybe_json_content, input_output[\"output\"])\n\ntests/verifications/openai/test_chat_completion.py:136: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nmaybe_json_content = '{ \"final_answer\": \"}To solve the equation 8x + 7 = -23, we need to isolate the variable x. We can do this by followin...tassistantassistantassistantassistantassistantassistantassistantassistantassistantassistantassistantassistantassistant'\nschema_name = 'valid_math_reasoning'\n\n def validate_structured_output(maybe_json_content: str, schema_name: str) -> None:\n structured_output = get_structured_output(maybe_json_content, schema_name)\n> assert structured_output is not None\nE assert None is not None\n\ntests/verifications/openai/test_chat_completion.py:196: AssertionError" + }, + "teardown": { + "duration": 0.00022583396639674902, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_structured_output[input_output1-Llama-4-Scout-17B-16E]", + "lineno": 117, + "outcome": "skipped", + "keywords": [ + "test_chat_streaming_structured_output[input_output1-Llama-4-Scout-17B-16E]", + "parametrize", + "pytestmark", + "input_output1-Llama-4-Scout-17B-16E", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.006412541959434748, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 118, 'Skipped: Provider fireworks does not support model Llama-4-Scout-17B-16E')" + }, + "teardown": { + "duration": 0.0001449589617550373, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_structured_output[input_output1-Llama-4-Scout-17B-16E-Instruct]", + "lineno": 117, + "outcome": "passed", + "keywords": [ + "test_chat_streaming_structured_output[input_output1-Llama-4-Scout-17B-16E-Instruct]", + "parametrize", + "pytestmark", + "input_output1-Llama-4-Scout-17B-16E-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.010353000019676983, + "outcome": "passed" + }, + "call": { + "duration": 4.559281209018081, + "outcome": "passed" + }, + "teardown": { + "duration": 0.00021179206669330597, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_structured_output[input_output1-Llama-4-Maverick-17B-128E]", + "lineno": 117, + "outcome": "skipped", + "keywords": [ + "test_chat_streaming_structured_output[input_output1-Llama-4-Maverick-17B-128E]", + "parametrize", + "pytestmark", + "input_output1-Llama-4-Maverick-17B-128E", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.011320417048409581, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 118, 'Skipped: Provider fireworks does not support model Llama-4-Maverick-17B-128E')" + }, + "teardown": { + "duration": 0.0001623749267309904, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_structured_output[input_output1-Llama-4-Maverick-17B-128E-Instruct]", + "lineno": 117, + "outcome": "passed", + "keywords": [ + "test_chat_streaming_structured_output[input_output1-Llama-4-Maverick-17B-128E-Instruct]", + "parametrize", + "pytestmark", + "input_output1-Llama-4-Maverick-17B-128E-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.005637791007757187, + "outcome": "passed" + }, + "call": { + "duration": 2.9282109580235556, + "outcome": "passed" + }, + "teardown": { + "duration": 0.00019149994477629662, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_structured_output[input_output1-gpt-4o]", + "lineno": 117, + "outcome": "skipped", + "keywords": [ + "test_chat_streaming_structured_output[input_output1-gpt-4o]", + "parametrize", + "pytestmark", + "input_output1-gpt-4o", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.021475916961207986, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 118, 'Skipped: Provider fireworks does not support model gpt-4o')" + }, + "teardown": { + "duration": 0.0002605828922241926, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_structured_output[input_output1-gpt-4o-mini]", + "lineno": 117, + "outcome": "skipped", + "keywords": [ + "test_chat_streaming_structured_output[input_output1-gpt-4o-mini]", + "parametrize", + "pytestmark", + "input_output1-gpt-4o-mini", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.012046082993037999, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 118, 'Skipped: Provider fireworks does not support model gpt-4o-mini')" + }, + "teardown": { + "duration": 0.00016966694965958595, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_tool_calling[input_output0-Llama-3.3-70B-Instruct]", + "lineno": 138, + "outcome": "passed", + "keywords": [ + "test_chat_non_streaming_tool_calling[input_output0-Llama-3.3-70B-Instruct]", + "parametrize", + "pytestmark", + "input_output0-Llama-3.3-70B-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.00782629195600748, + "outcome": "passed" + }, + "call": { + "duration": 0.9290615000063553, + "outcome": "passed" + }, + "teardown": { + "duration": 0.0004110001027584076, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_tool_calling[input_output0-Llama-4-Scout-17B-16E]", + "lineno": 138, + "outcome": "skipped", + "keywords": [ + "test_chat_non_streaming_tool_calling[input_output0-Llama-4-Scout-17B-16E]", + "parametrize", + "pytestmark", + "input_output0-Llama-4-Scout-17B-16E", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.00842183397617191, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 139, 'Skipped: Provider fireworks does not support model Llama-4-Scout-17B-16E')" + }, + "teardown": { + "duration": 0.00023745803628116846, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_tool_calling[input_output0-Llama-4-Scout-17B-16E-Instruct]", + "lineno": 138, + "outcome": "failed", + "keywords": [ + "test_chat_non_streaming_tool_calling[input_output0-Llama-4-Scout-17B-16E-Instruct]", + "parametrize", + "pytestmark", + "input_output0-Llama-4-Scout-17B-16E-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.010762874968349934, + "outcome": "passed" + }, + "call": { + "duration": 23.62101216695737, + "outcome": "failed", + "crash": { + "path": "/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py", + "lineno": 156, + "message": "TypeError: object of type 'NoneType' has no len()" + }, + "traceback": [ + { + "path": "tests/verifications/openai/test_chat_completion.py", + "lineno": 156, + "message": "TypeError" + } + ], + "longrepr": "openai_client = \ninput_output = {'input': {'messages': [{'content': 'You are a helpful assistant that can use tools to get information.', 'role': 'sys..., 'properties': {...}, 'required': [...], 'type': 'object'}}, 'type': 'function'}]}, 'output': 'get_weather_tool_call'}\ncorrect_model_name = 'accounts/fireworks/models/llama4-scout-instruct-basic'\n\n @pytest.mark.parametrize(\n \"model\",\n chat_completion_test_cases[\"test_tool_calling\"][\"test_params\"][\"model\"],\n )\n @pytest.mark.parametrize(\n \"input_output\",\n chat_completion_test_cases[\"test_tool_calling\"][\"test_params\"][\"input_output\"],\n )\n def test_chat_non_streaming_tool_calling(openai_client, input_output, correct_model_name):\n response = openai_client.chat.completions.create(\n model=correct_model_name,\n messages=input_output[\"input\"][\"messages\"],\n tools=input_output[\"input\"][\"tools\"],\n stream=False,\n )\n \n assert response.choices[0].message.role == \"assistant\"\n> assert len(response.choices[0].message.tool_calls) > 0\nE TypeError: object of type 'NoneType' has no len()\n\ntests/verifications/openai/test_chat_completion.py:156: TypeError" + }, + "teardown": { + "duration": 0.0004520840011537075, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_tool_calling[input_output0-Llama-4-Maverick-17B-128E]", + "lineno": 138, + "outcome": "skipped", + "keywords": [ + "test_chat_non_streaming_tool_calling[input_output0-Llama-4-Maverick-17B-128E]", + "parametrize", + "pytestmark", + "input_output0-Llama-4-Maverick-17B-128E", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.00953104195650667, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 139, 'Skipped: Provider fireworks does not support model Llama-4-Maverick-17B-128E')" + }, + "teardown": { + "duration": 0.00017912499606609344, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_tool_calling[input_output0-Llama-4-Maverick-17B-128E-Instruct]", + "lineno": 138, + "outcome": "failed", + "keywords": [ + "test_chat_non_streaming_tool_calling[input_output0-Llama-4-Maverick-17B-128E-Instruct]", + "parametrize", + "pytestmark", + "input_output0-Llama-4-Maverick-17B-128E-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.010302042006514966, + "outcome": "passed" + }, + "call": { + "duration": 5.55651158397086, + "outcome": "failed", + "crash": { + "path": "/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py", + "lineno": 156, + "message": "TypeError: object of type 'NoneType' has no len()" + }, + "traceback": [ + { + "path": "tests/verifications/openai/test_chat_completion.py", + "lineno": 156, + "message": "TypeError" + } + ], + "longrepr": "openai_client = \ninput_output = {'input': {'messages': [{'content': 'You are a helpful assistant that can use tools to get information.', 'role': 'sys..., 'properties': {...}, 'required': [...], 'type': 'object'}}, 'type': 'function'}]}, 'output': 'get_weather_tool_call'}\ncorrect_model_name = 'accounts/fireworks/models/llama4-maverick-instruct-basic'\n\n @pytest.mark.parametrize(\n \"model\",\n chat_completion_test_cases[\"test_tool_calling\"][\"test_params\"][\"model\"],\n )\n @pytest.mark.parametrize(\n \"input_output\",\n chat_completion_test_cases[\"test_tool_calling\"][\"test_params\"][\"input_output\"],\n )\n def test_chat_non_streaming_tool_calling(openai_client, input_output, correct_model_name):\n response = openai_client.chat.completions.create(\n model=correct_model_name,\n messages=input_output[\"input\"][\"messages\"],\n tools=input_output[\"input\"][\"tools\"],\n stream=False,\n )\n \n assert response.choices[0].message.role == \"assistant\"\n> assert len(response.choices[0].message.tool_calls) > 0\nE TypeError: object of type 'NoneType' has no len()\n\ntests/verifications/openai/test_chat_completion.py:156: TypeError" + }, + "teardown": { + "duration": 0.0003929579397663474, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_tool_calling[input_output0-gpt-4o]", + "lineno": 138, + "outcome": "skipped", + "keywords": [ + "test_chat_non_streaming_tool_calling[input_output0-gpt-4o]", + "parametrize", + "pytestmark", + "input_output0-gpt-4o", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.01593891705852002, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 139, 'Skipped: Provider fireworks does not support model gpt-4o')" + }, + "teardown": { + "duration": 0.0003579579060897231, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_tool_calling[input_output0-gpt-4o-mini]", + "lineno": 138, + "outcome": "skipped", + "keywords": [ + "test_chat_non_streaming_tool_calling[input_output0-gpt-4o-mini]", + "parametrize", + "pytestmark", + "input_output0-gpt-4o-mini", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.01874550001230091, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 139, 'Skipped: Provider fireworks does not support model gpt-4o-mini')" + }, + "teardown": { + "duration": 0.00031995808240026236, + "outcome": "passed" + } + } + ] +} diff --git a/tests/verifications/test_results/openai_1744154522.json b/tests/verifications/test_results/openai_1744154522.json new file mode 100644 index 000000000..310f3500d --- /dev/null +++ b/tests/verifications/test_results/openai_1744154522.json @@ -0,0 +1,2672 @@ +{ + "created": 1744154576.251519, + "duration": 51.50739002227783, + "exitcode": 0, + "root": "/Users/erichuang/projects/llama-stack", + "environment": {}, + "summary": { + "skipped": 61, + "passed": 22, + "total": 83, + "collected": 83 + }, + "collectors": [ + { + "nodeid": "", + "outcome": "passed", + "result": [ + { + "nodeid": "tests/verifications/openai/test_chat_completion.py", + "type": "Module" + } + ] + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py", + "outcome": "passed", + "result": [ + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_basic[input_output0-Llama-3.3-8B-Instruct]", + "type": "Function", + "lineno": 25 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_basic[input_output0-Llama-3.3-70B-Instruct]", + "type": "Function", + "lineno": 25 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_basic[input_output0-Llama-4-Scout-17B-16E]", + "type": "Function", + "lineno": 25 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_basic[input_output0-Llama-4-Scout-17B-16E-Instruct]", + "type": "Function", + "lineno": 25 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_basic[input_output0-Llama-4-Maverick-17B-128E]", + "type": "Function", + "lineno": 25 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_basic[input_output0-Llama-4-Maverick-17B-128E-Instruct]", + "type": "Function", + "lineno": 25 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_basic[input_output0-gpt-4o]", + "type": "Function", + "lineno": 25 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_basic[input_output0-gpt-4o-mini]", + "type": "Function", + "lineno": 25 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_basic[input_output1-Llama-3.3-8B-Instruct]", + "type": "Function", + "lineno": 25 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_basic[input_output1-Llama-3.3-70B-Instruct]", + "type": "Function", + "lineno": 25 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_basic[input_output1-Llama-4-Scout-17B-16E]", + "type": "Function", + "lineno": 25 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_basic[input_output1-Llama-4-Scout-17B-16E-Instruct]", + "type": "Function", + "lineno": 25 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_basic[input_output1-Llama-4-Maverick-17B-128E]", + "type": "Function", + "lineno": 25 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_basic[input_output1-Llama-4-Maverick-17B-128E-Instruct]", + "type": "Function", + "lineno": 25 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_basic[input_output1-gpt-4o]", + "type": "Function", + "lineno": 25 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_basic[input_output1-gpt-4o-mini]", + "type": "Function", + "lineno": 25 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_basic[input_output0-Llama-3.3-8B-Instruct]", + "type": "Function", + "lineno": 40 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_basic[input_output0-Llama-3.3-70B-Instruct]", + "type": "Function", + "lineno": 40 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_basic[input_output0-Llama-4-Scout-17B-16E]", + "type": "Function", + "lineno": 40 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_basic[input_output0-Llama-4-Scout-17B-16E-Instruct]", + "type": "Function", + "lineno": 40 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_basic[input_output0-Llama-4-Maverick-17B-128E]", + "type": "Function", + "lineno": 40 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_basic[input_output0-Llama-4-Maverick-17B-128E-Instruct]", + "type": "Function", + "lineno": 40 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_basic[input_output0-gpt-4o]", + "type": "Function", + "lineno": 40 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_basic[input_output0-gpt-4o-mini]", + "type": "Function", + "lineno": 40 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_basic[input_output1-Llama-3.3-8B-Instruct]", + "type": "Function", + "lineno": 40 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_basic[input_output1-Llama-3.3-70B-Instruct]", + "type": "Function", + "lineno": 40 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_basic[input_output1-Llama-4-Scout-17B-16E]", + "type": "Function", + "lineno": 40 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_basic[input_output1-Llama-4-Scout-17B-16E-Instruct]", + "type": "Function", + "lineno": 40 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_basic[input_output1-Llama-4-Maverick-17B-128E]", + "type": "Function", + "lineno": 40 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_basic[input_output1-Llama-4-Maverick-17B-128E-Instruct]", + "type": "Function", + "lineno": 40 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_basic[input_output1-gpt-4o]", + "type": "Function", + "lineno": 40 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_basic[input_output1-gpt-4o-mini]", + "type": "Function", + "lineno": 40 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_image[input_output0-Llama-4-Scout-17B-16E]", + "type": "Function", + "lineno": 60 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_image[input_output0-Llama-4-Scout-17B-16E-Instruct]", + "type": "Function", + "lineno": 60 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_image[input_output0-Llama-4-Maverick-17B-128E]", + "type": "Function", + "lineno": 60 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_image[input_output0-Llama-4-Maverick-17B-128E-Instruct]", + "type": "Function", + "lineno": 60 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_image[input_output0-gpt-4o]", + "type": "Function", + "lineno": 60 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_image[input_output0-gpt-4o-mini]", + "type": "Function", + "lineno": 60 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_image[input_output0-Llama-4-Scout-17B-16E]", + "type": "Function", + "lineno": 75 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_image[input_output0-Llama-4-Scout-17B-16E-Instruct]", + "type": "Function", + "lineno": 75 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_image[input_output0-Llama-4-Maverick-17B-128E]", + "type": "Function", + "lineno": 75 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_image[input_output0-Llama-4-Maverick-17B-128E-Instruct]", + "type": "Function", + "lineno": 75 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_image[input_output0-gpt-4o]", + "type": "Function", + "lineno": 75 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_image[input_output0-gpt-4o-mini]", + "type": "Function", + "lineno": 75 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_structured_output[input_output0-Llama-3.3-8B-Instruct]", + "type": "Function", + "lineno": 95 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_structured_output[input_output0-Llama-3.3-70B-Instruct]", + "type": "Function", + "lineno": 95 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_structured_output[input_output0-Llama-4-Scout-17B-16E]", + "type": "Function", + "lineno": 95 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_structured_output[input_output0-Llama-4-Scout-17B-16E-Instruct]", + "type": "Function", + "lineno": 95 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_structured_output[input_output0-Llama-4-Maverick-17B-128E]", + "type": "Function", + "lineno": 95 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_structured_output[input_output0-Llama-4-Maverick-17B-128E-Instruct]", + "type": "Function", + "lineno": 95 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_structured_output[input_output0-gpt-4o]", + "type": "Function", + "lineno": 95 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_structured_output[input_output0-gpt-4o-mini]", + "type": "Function", + "lineno": 95 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_structured_output[input_output1-Llama-3.3-8B-Instruct]", + "type": "Function", + "lineno": 95 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_structured_output[input_output1-Llama-3.3-70B-Instruct]", + "type": "Function", + "lineno": 95 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_structured_output[input_output1-Llama-4-Scout-17B-16E]", + "type": "Function", + "lineno": 95 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_structured_output[input_output1-Llama-4-Scout-17B-16E-Instruct]", + "type": "Function", + "lineno": 95 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_structured_output[input_output1-Llama-4-Maverick-17B-128E]", + "type": "Function", + "lineno": 95 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_structured_output[input_output1-Llama-4-Maverick-17B-128E-Instruct]", + "type": "Function", + "lineno": 95 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_structured_output[input_output1-gpt-4o]", + "type": "Function", + "lineno": 95 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_structured_output[input_output1-gpt-4o-mini]", + "type": "Function", + "lineno": 95 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_structured_output[input_output0-Llama-3.3-8B-Instruct]", + "type": "Function", + "lineno": 117 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_structured_output[input_output0-Llama-3.3-70B-Instruct]", + "type": "Function", + "lineno": 117 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_structured_output[input_output0-Llama-4-Scout-17B-16E]", + "type": "Function", + "lineno": 117 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_structured_output[input_output0-Llama-4-Scout-17B-16E-Instruct]", + "type": "Function", + "lineno": 117 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_structured_output[input_output0-Llama-4-Maverick-17B-128E]", + "type": "Function", + "lineno": 117 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_structured_output[input_output0-Llama-4-Maverick-17B-128E-Instruct]", + "type": "Function", + "lineno": 117 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_structured_output[input_output0-gpt-4o]", + "type": "Function", + "lineno": 117 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_structured_output[input_output0-gpt-4o-mini]", + "type": "Function", + "lineno": 117 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_structured_output[input_output1-Llama-3.3-8B-Instruct]", + "type": "Function", + "lineno": 117 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_structured_output[input_output1-Llama-3.3-70B-Instruct]", + "type": "Function", + "lineno": 117 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_structured_output[input_output1-Llama-4-Scout-17B-16E]", + "type": "Function", + "lineno": 117 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_structured_output[input_output1-Llama-4-Scout-17B-16E-Instruct]", + "type": "Function", + "lineno": 117 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_structured_output[input_output1-Llama-4-Maverick-17B-128E]", + "type": "Function", + "lineno": 117 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_structured_output[input_output1-Llama-4-Maverick-17B-128E-Instruct]", + "type": "Function", + "lineno": 117 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_structured_output[input_output1-gpt-4o]", + "type": "Function", + "lineno": 117 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_structured_output[input_output1-gpt-4o-mini]", + "type": "Function", + "lineno": 117 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_tool_calling[input_output0-Llama-3.3-70B-Instruct]", + "type": "Function", + "lineno": 138 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_tool_calling[input_output0-Llama-4-Scout-17B-16E]", + "type": "Function", + "lineno": 138 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_tool_calling[input_output0-Llama-4-Scout-17B-16E-Instruct]", + "type": "Function", + "lineno": 138 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_tool_calling[input_output0-Llama-4-Maverick-17B-128E]", + "type": "Function", + "lineno": 138 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_tool_calling[input_output0-Llama-4-Maverick-17B-128E-Instruct]", + "type": "Function", + "lineno": 138 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_tool_calling[input_output0-gpt-4o]", + "type": "Function", + "lineno": 138 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_tool_calling[input_output0-gpt-4o-mini]", + "type": "Function", + "lineno": 138 + } + ] + } + ], + "tests": [ + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_basic[input_output0-Llama-3.3-8B-Instruct]", + "lineno": 25, + "outcome": "skipped", + "keywords": [ + "test_chat_non_streaming_basic[input_output0-Llama-3.3-8B-Instruct]", + "parametrize", + "pytestmark", + "input_output0-Llama-3.3-8B-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.0531630830373615, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 26, 'Skipped: Provider openai does not support model Llama-3.3-8B-Instruct')" + }, + "teardown": { + "duration": 0.0001657919492572546, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_basic[input_output0-Llama-3.3-70B-Instruct]", + "lineno": 25, + "outcome": "skipped", + "keywords": [ + "test_chat_non_streaming_basic[input_output0-Llama-3.3-70B-Instruct]", + "parametrize", + "pytestmark", + "input_output0-Llama-3.3-70B-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.006063499953597784, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 26, 'Skipped: Provider openai does not support model Llama-3.3-70B-Instruct')" + }, + "teardown": { + "duration": 0.00014004099648445845, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_basic[input_output0-Llama-4-Scout-17B-16E]", + "lineno": 25, + "outcome": "skipped", + "keywords": [ + "test_chat_non_streaming_basic[input_output0-Llama-4-Scout-17B-16E]", + "parametrize", + "pytestmark", + "input_output0-Llama-4-Scout-17B-16E", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.005356832989491522, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 26, 'Skipped: Provider openai does not support model Llama-4-Scout-17B-16E')" + }, + "teardown": { + "duration": 0.00016508297994732857, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_basic[input_output0-Llama-4-Scout-17B-16E-Instruct]", + "lineno": 25, + "outcome": "skipped", + "keywords": [ + "test_chat_non_streaming_basic[input_output0-Llama-4-Scout-17B-16E-Instruct]", + "parametrize", + "pytestmark", + "input_output0-Llama-4-Scout-17B-16E-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.006139832898043096, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 26, 'Skipped: Provider openai does not support model Llama-4-Scout-17B-16E-Instruct')" + }, + "teardown": { + "duration": 0.00014450005255639553, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_basic[input_output0-Llama-4-Maverick-17B-128E]", + "lineno": 25, + "outcome": "skipped", + "keywords": [ + "test_chat_non_streaming_basic[input_output0-Llama-4-Maverick-17B-128E]", + "parametrize", + "pytestmark", + "input_output0-Llama-4-Maverick-17B-128E", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.00542324990965426, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 26, 'Skipped: Provider openai does not support model Llama-4-Maverick-17B-128E')" + }, + "teardown": { + "duration": 0.00014112505596131086, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_basic[input_output0-Llama-4-Maverick-17B-128E-Instruct]", + "lineno": 25, + "outcome": "skipped", + "keywords": [ + "test_chat_non_streaming_basic[input_output0-Llama-4-Maverick-17B-128E-Instruct]", + "parametrize", + "pytestmark", + "input_output0-Llama-4-Maverick-17B-128E-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.004965625004842877, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 26, 'Skipped: Provider openai does not support model Llama-4-Maverick-17B-128E-Instruct')" + }, + "teardown": { + "duration": 0.00013720791321247816, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_basic[input_output0-gpt-4o]", + "lineno": 25, + "outcome": "passed", + "keywords": [ + "test_chat_non_streaming_basic[input_output0-gpt-4o]", + "parametrize", + "pytestmark", + "input_output0-gpt-4o", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.005054084002040327, + "outcome": "passed" + }, + "call": { + "duration": 0.6271341659594327, + "outcome": "passed" + }, + "teardown": { + "duration": 0.00043925002682954073, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_basic[input_output0-gpt-4o-mini]", + "lineno": 25, + "outcome": "passed", + "keywords": [ + "test_chat_non_streaming_basic[input_output0-gpt-4o-mini]", + "parametrize", + "pytestmark", + "input_output0-gpt-4o-mini", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.0159178749890998, + "outcome": "passed" + }, + "call": { + "duration": 0.44088316697161645, + "outcome": "passed" + }, + "teardown": { + "duration": 0.0006467089988291264, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_basic[input_output1-Llama-3.3-8B-Instruct]", + "lineno": 25, + "outcome": "skipped", + "keywords": [ + "test_chat_non_streaming_basic[input_output1-Llama-3.3-8B-Instruct]", + "parametrize", + "pytestmark", + "input_output1-Llama-3.3-8B-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.016705541987903416, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 26, 'Skipped: Provider openai does not support model Llama-3.3-8B-Instruct')" + }, + "teardown": { + "duration": 0.0005769169656559825, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_basic[input_output1-Llama-3.3-70B-Instruct]", + "lineno": 25, + "outcome": "skipped", + "keywords": [ + "test_chat_non_streaming_basic[input_output1-Llama-3.3-70B-Instruct]", + "parametrize", + "pytestmark", + "input_output1-Llama-3.3-70B-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.012067249976098537, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 26, 'Skipped: Provider openai does not support model Llama-3.3-70B-Instruct')" + }, + "teardown": { + "duration": 0.00016683305148035288, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_basic[input_output1-Llama-4-Scout-17B-16E]", + "lineno": 25, + "outcome": "skipped", + "keywords": [ + "test_chat_non_streaming_basic[input_output1-Llama-4-Scout-17B-16E]", + "parametrize", + "pytestmark", + "input_output1-Llama-4-Scout-17B-16E", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.009295083000324667, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 26, 'Skipped: Provider openai does not support model Llama-4-Scout-17B-16E')" + }, + "teardown": { + "duration": 0.00017204193864017725, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_basic[input_output1-Llama-4-Scout-17B-16E-Instruct]", + "lineno": 25, + "outcome": "skipped", + "keywords": [ + "test_chat_non_streaming_basic[input_output1-Llama-4-Scout-17B-16E-Instruct]", + "parametrize", + "pytestmark", + "input_output1-Llama-4-Scout-17B-16E-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.009534333017654717, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 26, 'Skipped: Provider openai does not support model Llama-4-Scout-17B-16E-Instruct')" + }, + "teardown": { + "duration": 0.00020175008103251457, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_basic[input_output1-Llama-4-Maverick-17B-128E]", + "lineno": 25, + "outcome": "skipped", + "keywords": [ + "test_chat_non_streaming_basic[input_output1-Llama-4-Maverick-17B-128E]", + "parametrize", + "pytestmark", + "input_output1-Llama-4-Maverick-17B-128E", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.006628665956668556, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 26, 'Skipped: Provider openai does not support model Llama-4-Maverick-17B-128E')" + }, + "teardown": { + "duration": 0.0003687090938910842, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_basic[input_output1-Llama-4-Maverick-17B-128E-Instruct]", + "lineno": 25, + "outcome": "skipped", + "keywords": [ + "test_chat_non_streaming_basic[input_output1-Llama-4-Maverick-17B-128E-Instruct]", + "parametrize", + "pytestmark", + "input_output1-Llama-4-Maverick-17B-128E-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.0061322919791564345, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 26, 'Skipped: Provider openai does not support model Llama-4-Maverick-17B-128E-Instruct')" + }, + "teardown": { + "duration": 0.0003664169926196337, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_basic[input_output1-gpt-4o]", + "lineno": 25, + "outcome": "passed", + "keywords": [ + "test_chat_non_streaming_basic[input_output1-gpt-4o]", + "parametrize", + "pytestmark", + "input_output1-gpt-4o", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.00623433303553611, + "outcome": "passed" + }, + "call": { + "duration": 0.7898445830214769, + "outcome": "passed" + }, + "teardown": { + "duration": 0.0006602079374715686, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_basic[input_output1-gpt-4o-mini]", + "lineno": 25, + "outcome": "passed", + "keywords": [ + "test_chat_non_streaming_basic[input_output1-gpt-4o-mini]", + "parametrize", + "pytestmark", + "input_output1-gpt-4o-mini", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.014758958015590906, + "outcome": "passed" + }, + "call": { + "duration": 1.1555478329537436, + "outcome": "passed" + }, + "teardown": { + "duration": 0.0011781250359490514, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_basic[input_output0-Llama-3.3-8B-Instruct]", + "lineno": 40, + "outcome": "skipped", + "keywords": [ + "test_chat_streaming_basic[input_output0-Llama-3.3-8B-Instruct]", + "parametrize", + "pytestmark", + "input_output0-Llama-3.3-8B-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.03454475000035018, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 41, 'Skipped: Provider openai does not support model Llama-3.3-8B-Instruct')" + }, + "teardown": { + "duration": 0.000967124942690134, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_basic[input_output0-Llama-3.3-70B-Instruct]", + "lineno": 40, + "outcome": "skipped", + "keywords": [ + "test_chat_streaming_basic[input_output0-Llama-3.3-70B-Instruct]", + "parametrize", + "pytestmark", + "input_output0-Llama-3.3-70B-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.025206666090525687, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 41, 'Skipped: Provider openai does not support model Llama-3.3-70B-Instruct')" + }, + "teardown": { + "duration": 0.000189624959602952, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_basic[input_output0-Llama-4-Scout-17B-16E]", + "lineno": 40, + "outcome": "skipped", + "keywords": [ + "test_chat_streaming_basic[input_output0-Llama-4-Scout-17B-16E]", + "parametrize", + "pytestmark", + "input_output0-Llama-4-Scout-17B-16E", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.014331333106383681, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 41, 'Skipped: Provider openai does not support model Llama-4-Scout-17B-16E')" + }, + "teardown": { + "duration": 0.00023133307695388794, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_basic[input_output0-Llama-4-Scout-17B-16E-Instruct]", + "lineno": 40, + "outcome": "skipped", + "keywords": [ + "test_chat_streaming_basic[input_output0-Llama-4-Scout-17B-16E-Instruct]", + "parametrize", + "pytestmark", + "input_output0-Llama-4-Scout-17B-16E-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.009339665994048119, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 41, 'Skipped: Provider openai does not support model Llama-4-Scout-17B-16E-Instruct')" + }, + "teardown": { + "duration": 0.00020329200197011232, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_basic[input_output0-Llama-4-Maverick-17B-128E]", + "lineno": 40, + "outcome": "skipped", + "keywords": [ + "test_chat_streaming_basic[input_output0-Llama-4-Maverick-17B-128E]", + "parametrize", + "pytestmark", + "input_output0-Llama-4-Maverick-17B-128E", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.010387042071670294, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 41, 'Skipped: Provider openai does not support model Llama-4-Maverick-17B-128E')" + }, + "teardown": { + "duration": 0.00018254201859235764, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_basic[input_output0-Llama-4-Maverick-17B-128E-Instruct]", + "lineno": 40, + "outcome": "skipped", + "keywords": [ + "test_chat_streaming_basic[input_output0-Llama-4-Maverick-17B-128E-Instruct]", + "parametrize", + "pytestmark", + "input_output0-Llama-4-Maverick-17B-128E-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.012297999928705394, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 41, 'Skipped: Provider openai does not support model Llama-4-Maverick-17B-128E-Instruct')" + }, + "teardown": { + "duration": 0.00018662505317479372, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_basic[input_output0-gpt-4o]", + "lineno": 40, + "outcome": "passed", + "keywords": [ + "test_chat_streaming_basic[input_output0-gpt-4o]", + "parametrize", + "pytestmark", + "input_output0-gpt-4o", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.006984042003750801, + "outcome": "passed" + }, + "call": { + "duration": 0.32529433304443955, + "outcome": "passed" + }, + "teardown": { + "duration": 0.0033042499562725425, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_basic[input_output0-gpt-4o-mini]", + "lineno": 40, + "outcome": "passed", + "keywords": [ + "test_chat_streaming_basic[input_output0-gpt-4o-mini]", + "parametrize", + "pytestmark", + "input_output0-gpt-4o-mini", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.01832079200539738, + "outcome": "passed" + }, + "call": { + "duration": 0.48440287495031953, + "outcome": "passed" + }, + "teardown": { + "duration": 0.00047233293298631907, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_basic[input_output1-Llama-3.3-8B-Instruct]", + "lineno": 40, + "outcome": "skipped", + "keywords": [ + "test_chat_streaming_basic[input_output1-Llama-3.3-8B-Instruct]", + "parametrize", + "pytestmark", + "input_output1-Llama-3.3-8B-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.02893691696226597, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 41, 'Skipped: Provider openai does not support model Llama-3.3-8B-Instruct')" + }, + "teardown": { + "duration": 0.0001747499918565154, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_basic[input_output1-Llama-3.3-70B-Instruct]", + "lineno": 40, + "outcome": "skipped", + "keywords": [ + "test_chat_streaming_basic[input_output1-Llama-3.3-70B-Instruct]", + "parametrize", + "pytestmark", + "input_output1-Llama-3.3-70B-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.006553041050210595, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 41, 'Skipped: Provider openai does not support model Llama-3.3-70B-Instruct')" + }, + "teardown": { + "duration": 0.00016829196829348803, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_basic[input_output1-Llama-4-Scout-17B-16E]", + "lineno": 40, + "outcome": "skipped", + "keywords": [ + "test_chat_streaming_basic[input_output1-Llama-4-Scout-17B-16E]", + "parametrize", + "pytestmark", + "input_output1-Llama-4-Scout-17B-16E", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.013746666954830289, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 41, 'Skipped: Provider openai does not support model Llama-4-Scout-17B-16E')" + }, + "teardown": { + "duration": 0.00019237503875046968, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_basic[input_output1-Llama-4-Scout-17B-16E-Instruct]", + "lineno": 40, + "outcome": "skipped", + "keywords": [ + "test_chat_streaming_basic[input_output1-Llama-4-Scout-17B-16E-Instruct]", + "parametrize", + "pytestmark", + "input_output1-Llama-4-Scout-17B-16E-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.007175332983024418, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 41, 'Skipped: Provider openai does not support model Llama-4-Scout-17B-16E-Instruct')" + }, + "teardown": { + "duration": 0.0001873329747468233, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_basic[input_output1-Llama-4-Maverick-17B-128E]", + "lineno": 40, + "outcome": "skipped", + "keywords": [ + "test_chat_streaming_basic[input_output1-Llama-4-Maverick-17B-128E]", + "parametrize", + "pytestmark", + "input_output1-Llama-4-Maverick-17B-128E", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.006127291941083968, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 41, 'Skipped: Provider openai does not support model Llama-4-Maverick-17B-128E')" + }, + "teardown": { + "duration": 0.00019004102796316147, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_basic[input_output1-Llama-4-Maverick-17B-128E-Instruct]", + "lineno": 40, + "outcome": "skipped", + "keywords": [ + "test_chat_streaming_basic[input_output1-Llama-4-Maverick-17B-128E-Instruct]", + "parametrize", + "pytestmark", + "input_output1-Llama-4-Maverick-17B-128E-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.006421791040338576, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 41, 'Skipped: Provider openai does not support model Llama-4-Maverick-17B-128E-Instruct')" + }, + "teardown": { + "duration": 0.0001611249754205346, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_basic[input_output1-gpt-4o]", + "lineno": 40, + "outcome": "passed", + "keywords": [ + "test_chat_streaming_basic[input_output1-gpt-4o]", + "parametrize", + "pytestmark", + "input_output1-gpt-4o", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.009806249989196658, + "outcome": "passed" + }, + "call": { + "duration": 0.9556747920578346, + "outcome": "passed" + }, + "teardown": { + "duration": 0.0004937920020893216, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_basic[input_output1-gpt-4o-mini]", + "lineno": 40, + "outcome": "passed", + "keywords": [ + "test_chat_streaming_basic[input_output1-gpt-4o-mini]", + "parametrize", + "pytestmark", + "input_output1-gpt-4o-mini", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.03146500000730157, + "outcome": "passed" + }, + "call": { + "duration": 1.082494750036858, + "outcome": "passed" + }, + "teardown": { + "duration": 0.0006242080125957727, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_image[input_output0-Llama-4-Scout-17B-16E]", + "lineno": 60, + "outcome": "skipped", + "keywords": [ + "test_chat_non_streaming_image[input_output0-Llama-4-Scout-17B-16E]", + "parametrize", + "pytestmark", + "input_output0-Llama-4-Scout-17B-16E", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.021534667001105845, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 61, 'Skipped: Provider openai does not support model Llama-4-Scout-17B-16E')" + }, + "teardown": { + "duration": 0.0003469999646767974, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_image[input_output0-Llama-4-Scout-17B-16E-Instruct]", + "lineno": 60, + "outcome": "skipped", + "keywords": [ + "test_chat_non_streaming_image[input_output0-Llama-4-Scout-17B-16E-Instruct]", + "parametrize", + "pytestmark", + "input_output0-Llama-4-Scout-17B-16E-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.025929750059731305, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 61, 'Skipped: Provider openai does not support model Llama-4-Scout-17B-16E-Instruct')" + }, + "teardown": { + "duration": 0.0008774169255048037, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_image[input_output0-Llama-4-Maverick-17B-128E]", + "lineno": 60, + "outcome": "skipped", + "keywords": [ + "test_chat_non_streaming_image[input_output0-Llama-4-Maverick-17B-128E]", + "parametrize", + "pytestmark", + "input_output0-Llama-4-Maverick-17B-128E", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.012507125036790967, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 61, 'Skipped: Provider openai does not support model Llama-4-Maverick-17B-128E')" + }, + "teardown": { + "duration": 0.00022008304949849844, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_image[input_output0-Llama-4-Maverick-17B-128E-Instruct]", + "lineno": 60, + "outcome": "skipped", + "keywords": [ + "test_chat_non_streaming_image[input_output0-Llama-4-Maverick-17B-128E-Instruct]", + "parametrize", + "pytestmark", + "input_output0-Llama-4-Maverick-17B-128E-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.008156375028192997, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 61, 'Skipped: Provider openai does not support model Llama-4-Maverick-17B-128E-Instruct')" + }, + "teardown": { + "duration": 0.0002079169498756528, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_image[input_output0-gpt-4o]", + "lineno": 60, + "outcome": "passed", + "keywords": [ + "test_chat_non_streaming_image[input_output0-gpt-4o]", + "parametrize", + "pytestmark", + "input_output0-gpt-4o", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.012587749981321394, + "outcome": "passed" + }, + "call": { + "duration": 2.7379885419504717, + "outcome": "passed" + }, + "teardown": { + "duration": 0.00044579198583960533, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_image[input_output0-gpt-4o-mini]", + "lineno": 60, + "outcome": "passed", + "keywords": [ + "test_chat_non_streaming_image[input_output0-gpt-4o-mini]", + "parametrize", + "pytestmark", + "input_output0-gpt-4o-mini", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.017111250082962215, + "outcome": "passed" + }, + "call": { + "duration": 2.599374584038742, + "outcome": "passed" + }, + "teardown": { + "duration": 0.0009177909232676029, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_image[input_output0-Llama-4-Scout-17B-16E]", + "lineno": 75, + "outcome": "skipped", + "keywords": [ + "test_chat_streaming_image[input_output0-Llama-4-Scout-17B-16E]", + "parametrize", + "pytestmark", + "input_output0-Llama-4-Scout-17B-16E", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.02198700001463294, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 76, 'Skipped: Provider openai does not support model Llama-4-Scout-17B-16E')" + }, + "teardown": { + "duration": 0.00042749999556690454, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_image[input_output0-Llama-4-Scout-17B-16E-Instruct]", + "lineno": 75, + "outcome": "skipped", + "keywords": [ + "test_chat_streaming_image[input_output0-Llama-4-Scout-17B-16E-Instruct]", + "parametrize", + "pytestmark", + "input_output0-Llama-4-Scout-17B-16E-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.015032917028293014, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 76, 'Skipped: Provider openai does not support model Llama-4-Scout-17B-16E-Instruct')" + }, + "teardown": { + "duration": 0.00041016703471541405, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_image[input_output0-Llama-4-Maverick-17B-128E]", + "lineno": 75, + "outcome": "skipped", + "keywords": [ + "test_chat_streaming_image[input_output0-Llama-4-Maverick-17B-128E]", + "parametrize", + "pytestmark", + "input_output0-Llama-4-Maverick-17B-128E", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.013976250076666474, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 76, 'Skipped: Provider openai does not support model Llama-4-Maverick-17B-128E')" + }, + "teardown": { + "duration": 0.00027600000612437725, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_image[input_output0-Llama-4-Maverick-17B-128E-Instruct]", + "lineno": 75, + "outcome": "skipped", + "keywords": [ + "test_chat_streaming_image[input_output0-Llama-4-Maverick-17B-128E-Instruct]", + "parametrize", + "pytestmark", + "input_output0-Llama-4-Maverick-17B-128E-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.00799729092977941, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 76, 'Skipped: Provider openai does not support model Llama-4-Maverick-17B-128E-Instruct')" + }, + "teardown": { + "duration": 0.00020320899784564972, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_image[input_output0-gpt-4o]", + "lineno": 75, + "outcome": "passed", + "keywords": [ + "test_chat_streaming_image[input_output0-gpt-4o]", + "parametrize", + "pytestmark", + "input_output0-gpt-4o", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.010483540943823755, + "outcome": "passed" + }, + "call": { + "duration": 4.249965250026435, + "outcome": "passed" + }, + "teardown": { + "duration": 0.0008596250554546714, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_image[input_output0-gpt-4o-mini]", + "lineno": 75, + "outcome": "passed", + "keywords": [ + "test_chat_streaming_image[input_output0-gpt-4o-mini]", + "parametrize", + "pytestmark", + "input_output0-gpt-4o-mini", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.018141582957468927, + "outcome": "passed" + }, + "call": { + "duration": 2.297856790944934, + "outcome": "passed" + }, + "teardown": { + "duration": 0.0005075830267742276, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_structured_output[input_output0-Llama-3.3-8B-Instruct]", + "lineno": 95, + "outcome": "skipped", + "keywords": [ + "test_chat_non_streaming_structured_output[input_output0-Llama-3.3-8B-Instruct]", + "parametrize", + "pytestmark", + "input_output0-Llama-3.3-8B-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.017144332989118993, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 96, 'Skipped: Provider openai does not support model Llama-3.3-8B-Instruct')" + }, + "teardown": { + "duration": 0.0006829580524936318, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_structured_output[input_output0-Llama-3.3-70B-Instruct]", + "lineno": 95, + "outcome": "skipped", + "keywords": [ + "test_chat_non_streaming_structured_output[input_output0-Llama-3.3-70B-Instruct]", + "parametrize", + "pytestmark", + "input_output0-Llama-3.3-70B-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.009827250032685697, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 96, 'Skipped: Provider openai does not support model Llama-3.3-70B-Instruct')" + }, + "teardown": { + "duration": 0.00024204188957810402, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_structured_output[input_output0-Llama-4-Scout-17B-16E]", + "lineno": 95, + "outcome": "skipped", + "keywords": [ + "test_chat_non_streaming_structured_output[input_output0-Llama-4-Scout-17B-16E]", + "parametrize", + "pytestmark", + "input_output0-Llama-4-Scout-17B-16E", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.006737958989106119, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 96, 'Skipped: Provider openai does not support model Llama-4-Scout-17B-16E')" + }, + "teardown": { + "duration": 0.00022729102056473494, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_structured_output[input_output0-Llama-4-Scout-17B-16E-Instruct]", + "lineno": 95, + "outcome": "skipped", + "keywords": [ + "test_chat_non_streaming_structured_output[input_output0-Llama-4-Scout-17B-16E-Instruct]", + "parametrize", + "pytestmark", + "input_output0-Llama-4-Scout-17B-16E-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.006030917051248252, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 96, 'Skipped: Provider openai does not support model Llama-4-Scout-17B-16E-Instruct')" + }, + "teardown": { + "duration": 0.00022229203023016453, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_structured_output[input_output0-Llama-4-Maverick-17B-128E]", + "lineno": 95, + "outcome": "skipped", + "keywords": [ + "test_chat_non_streaming_structured_output[input_output0-Llama-4-Maverick-17B-128E]", + "parametrize", + "pytestmark", + "input_output0-Llama-4-Maverick-17B-128E", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.009183833957649767, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 96, 'Skipped: Provider openai does not support model Llama-4-Maverick-17B-128E')" + }, + "teardown": { + "duration": 0.00022629194427281618, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_structured_output[input_output0-Llama-4-Maverick-17B-128E-Instruct]", + "lineno": 95, + "outcome": "skipped", + "keywords": [ + "test_chat_non_streaming_structured_output[input_output0-Llama-4-Maverick-17B-128E-Instruct]", + "parametrize", + "pytestmark", + "input_output0-Llama-4-Maverick-17B-128E-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.007097500027157366, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 96, 'Skipped: Provider openai does not support model Llama-4-Maverick-17B-128E-Instruct')" + }, + "teardown": { + "duration": 0.00826825003605336, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_structured_output[input_output0-gpt-4o]", + "lineno": 95, + "outcome": "passed", + "keywords": [ + "test_chat_non_streaming_structured_output[input_output0-gpt-4o]", + "parametrize", + "pytestmark", + "input_output0-gpt-4o", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.006604874972254038, + "outcome": "passed" + }, + "call": { + "duration": 1.4057738750707358, + "outcome": "passed" + }, + "teardown": { + "duration": 0.000506040989421308, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_structured_output[input_output0-gpt-4o-mini]", + "lineno": 95, + "outcome": "passed", + "keywords": [ + "test_chat_non_streaming_structured_output[input_output0-gpt-4o-mini]", + "parametrize", + "pytestmark", + "input_output0-gpt-4o-mini", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.015966624952852726, + "outcome": "passed" + }, + "call": { + "duration": 0.540478374925442, + "outcome": "passed" + }, + "teardown": { + "duration": 0.0009536249563097954, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_structured_output[input_output1-Llama-3.3-8B-Instruct]", + "lineno": 95, + "outcome": "skipped", + "keywords": [ + "test_chat_non_streaming_structured_output[input_output1-Llama-3.3-8B-Instruct]", + "parametrize", + "pytestmark", + "input_output1-Llama-3.3-8B-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.020631707971915603, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 96, 'Skipped: Provider openai does not support model Llama-3.3-8B-Instruct')" + }, + "teardown": { + "duration": 0.0004928340204060078, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_structured_output[input_output1-Llama-3.3-70B-Instruct]", + "lineno": 95, + "outcome": "skipped", + "keywords": [ + "test_chat_non_streaming_structured_output[input_output1-Llama-3.3-70B-Instruct]", + "parametrize", + "pytestmark", + "input_output1-Llama-3.3-70B-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.016745459055528045, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 96, 'Skipped: Provider openai does not support model Llama-3.3-70B-Instruct')" + }, + "teardown": { + "duration": 0.0003412909572944045, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_structured_output[input_output1-Llama-4-Scout-17B-16E]", + "lineno": 95, + "outcome": "skipped", + "keywords": [ + "test_chat_non_streaming_structured_output[input_output1-Llama-4-Scout-17B-16E]", + "parametrize", + "pytestmark", + "input_output1-Llama-4-Scout-17B-16E", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.012252667103894055, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 96, 'Skipped: Provider openai does not support model Llama-4-Scout-17B-16E')" + }, + "teardown": { + "duration": 0.00028650008607655764, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_structured_output[input_output1-Llama-4-Scout-17B-16E-Instruct]", + "lineno": 95, + "outcome": "skipped", + "keywords": [ + "test_chat_non_streaming_structured_output[input_output1-Llama-4-Scout-17B-16E-Instruct]", + "parametrize", + "pytestmark", + "input_output1-Llama-4-Scout-17B-16E-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.01128904102370143, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 96, 'Skipped: Provider openai does not support model Llama-4-Scout-17B-16E-Instruct')" + }, + "teardown": { + "duration": 0.00027041707653552294, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_structured_output[input_output1-Llama-4-Maverick-17B-128E]", + "lineno": 95, + "outcome": "skipped", + "keywords": [ + "test_chat_non_streaming_structured_output[input_output1-Llama-4-Maverick-17B-128E]", + "parametrize", + "pytestmark", + "input_output1-Llama-4-Maverick-17B-128E", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.009191332967020571, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 96, 'Skipped: Provider openai does not support model Llama-4-Maverick-17B-128E')" + }, + "teardown": { + "duration": 0.0002074999501928687, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_structured_output[input_output1-Llama-4-Maverick-17B-128E-Instruct]", + "lineno": 95, + "outcome": "skipped", + "keywords": [ + "test_chat_non_streaming_structured_output[input_output1-Llama-4-Maverick-17B-128E-Instruct]", + "parametrize", + "pytestmark", + "input_output1-Llama-4-Maverick-17B-128E-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.007687666919082403, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 96, 'Skipped: Provider openai does not support model Llama-4-Maverick-17B-128E-Instruct')" + }, + "teardown": { + "duration": 0.0002027079463005066, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_structured_output[input_output1-gpt-4o]", + "lineno": 95, + "outcome": "passed", + "keywords": [ + "test_chat_non_streaming_structured_output[input_output1-gpt-4o]", + "parametrize", + "pytestmark", + "input_output1-gpt-4o", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.007542708073742688, + "outcome": "passed" + }, + "call": { + "duration": 4.244797708000988, + "outcome": "passed" + }, + "teardown": { + "duration": 0.0012778330128639936, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_structured_output[input_output1-gpt-4o-mini]", + "lineno": 95, + "outcome": "passed", + "keywords": [ + "test_chat_non_streaming_structured_output[input_output1-gpt-4o-mini]", + "parametrize", + "pytestmark", + "input_output1-gpt-4o-mini", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.026919999974779785, + "outcome": "passed" + }, + "call": { + "duration": 9.006108874920756, + "outcome": "passed" + }, + "teardown": { + "duration": 0.00046324997674673796, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_structured_output[input_output0-Llama-3.3-8B-Instruct]", + "lineno": 117, + "outcome": "skipped", + "keywords": [ + "test_chat_streaming_structured_output[input_output0-Llama-3.3-8B-Instruct]", + "parametrize", + "pytestmark", + "input_output0-Llama-3.3-8B-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.01554666692391038, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 118, 'Skipped: Provider openai does not support model Llama-3.3-8B-Instruct')" + }, + "teardown": { + "duration": 0.0004023330984637141, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_structured_output[input_output0-Llama-3.3-70B-Instruct]", + "lineno": 117, + "outcome": "skipped", + "keywords": [ + "test_chat_streaming_structured_output[input_output0-Llama-3.3-70B-Instruct]", + "parametrize", + "pytestmark", + "input_output0-Llama-3.3-70B-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.007354958914220333, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 118, 'Skipped: Provider openai does not support model Llama-3.3-70B-Instruct')" + }, + "teardown": { + "duration": 0.0002900830004364252, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_structured_output[input_output0-Llama-4-Scout-17B-16E]", + "lineno": 117, + "outcome": "skipped", + "keywords": [ + "test_chat_streaming_structured_output[input_output0-Llama-4-Scout-17B-16E]", + "parametrize", + "pytestmark", + "input_output0-Llama-4-Scout-17B-16E", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.017274250043556094, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 118, 'Skipped: Provider openai does not support model Llama-4-Scout-17B-16E')" + }, + "teardown": { + "duration": 0.0002668329980224371, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_structured_output[input_output0-Llama-4-Scout-17B-16E-Instruct]", + "lineno": 117, + "outcome": "skipped", + "keywords": [ + "test_chat_streaming_structured_output[input_output0-Llama-4-Scout-17B-16E-Instruct]", + "parametrize", + "pytestmark", + "input_output0-Llama-4-Scout-17B-16E-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.006813667016103864, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 118, 'Skipped: Provider openai does not support model Llama-4-Scout-17B-16E-Instruct')" + }, + "teardown": { + "duration": 0.00024500000290572643, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_structured_output[input_output0-Llama-4-Maverick-17B-128E]", + "lineno": 117, + "outcome": "skipped", + "keywords": [ + "test_chat_streaming_structured_output[input_output0-Llama-4-Maverick-17B-128E]", + "parametrize", + "pytestmark", + "input_output0-Llama-4-Maverick-17B-128E", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.007385291974060237, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 118, 'Skipped: Provider openai does not support model Llama-4-Maverick-17B-128E')" + }, + "teardown": { + "duration": 0.00017024995759129524, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_structured_output[input_output0-Llama-4-Maverick-17B-128E-Instruct]", + "lineno": 117, + "outcome": "skipped", + "keywords": [ + "test_chat_streaming_structured_output[input_output0-Llama-4-Maverick-17B-128E-Instruct]", + "parametrize", + "pytestmark", + "input_output0-Llama-4-Maverick-17B-128E-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.00857366609852761, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 118, 'Skipped: Provider openai does not support model Llama-4-Maverick-17B-128E-Instruct')" + }, + "teardown": { + "duration": 0.00016850000247359276, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_structured_output[input_output0-gpt-4o]", + "lineno": 117, + "outcome": "passed", + "keywords": [ + "test_chat_streaming_structured_output[input_output0-gpt-4o]", + "parametrize", + "pytestmark", + "input_output0-gpt-4o", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.005570041947066784, + "outcome": "passed" + }, + "call": { + "duration": 0.8564215000951663, + "outcome": "passed" + }, + "teardown": { + "duration": 0.0004029169213026762, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_structured_output[input_output0-gpt-4o-mini]", + "lineno": 117, + "outcome": "passed", + "keywords": [ + "test_chat_streaming_structured_output[input_output0-gpt-4o-mini]", + "parametrize", + "pytestmark", + "input_output0-gpt-4o-mini", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.00786762498319149, + "outcome": "passed" + }, + "call": { + "duration": 0.6419672920601442, + "outcome": "passed" + }, + "teardown": { + "duration": 0.0005102079594507813, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_structured_output[input_output1-Llama-3.3-8B-Instruct]", + "lineno": 117, + "outcome": "skipped", + "keywords": [ + "test_chat_streaming_structured_output[input_output1-Llama-3.3-8B-Instruct]", + "parametrize", + "pytestmark", + "input_output1-Llama-3.3-8B-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.017147499951533973, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 118, 'Skipped: Provider openai does not support model Llama-3.3-8B-Instruct')" + }, + "teardown": { + "duration": 0.00032350001856684685, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_structured_output[input_output1-Llama-3.3-70B-Instruct]", + "lineno": 117, + "outcome": "skipped", + "keywords": [ + "test_chat_streaming_structured_output[input_output1-Llama-3.3-70B-Instruct]", + "parametrize", + "pytestmark", + "input_output1-Llama-3.3-70B-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.01194737502373755, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 118, 'Skipped: Provider openai does not support model Llama-3.3-70B-Instruct')" + }, + "teardown": { + "duration": 0.0005004579434171319, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_structured_output[input_output1-Llama-4-Scout-17B-16E]", + "lineno": 117, + "outcome": "skipped", + "keywords": [ + "test_chat_streaming_structured_output[input_output1-Llama-4-Scout-17B-16E]", + "parametrize", + "pytestmark", + "input_output1-Llama-4-Scout-17B-16E", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.010250666993670166, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 118, 'Skipped: Provider openai does not support model Llama-4-Scout-17B-16E')" + }, + "teardown": { + "duration": 0.00022554199676960707, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_structured_output[input_output1-Llama-4-Scout-17B-16E-Instruct]", + "lineno": 117, + "outcome": "skipped", + "keywords": [ + "test_chat_streaming_structured_output[input_output1-Llama-4-Scout-17B-16E-Instruct]", + "parametrize", + "pytestmark", + "input_output1-Llama-4-Scout-17B-16E-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.007847042055800557, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 118, 'Skipped: Provider openai does not support model Llama-4-Scout-17B-16E-Instruct')" + }, + "teardown": { + "duration": 0.000283458037301898, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_structured_output[input_output1-Llama-4-Maverick-17B-128E]", + "lineno": 117, + "outcome": "skipped", + "keywords": [ + "test_chat_streaming_structured_output[input_output1-Llama-4-Maverick-17B-128E]", + "parametrize", + "pytestmark", + "input_output1-Llama-4-Maverick-17B-128E", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.008078000042587519, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 118, 'Skipped: Provider openai does not support model Llama-4-Maverick-17B-128E')" + }, + "teardown": { + "duration": 0.0001794169656932354, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_structured_output[input_output1-Llama-4-Maverick-17B-128E-Instruct]", + "lineno": 117, + "outcome": "skipped", + "keywords": [ + "test_chat_streaming_structured_output[input_output1-Llama-4-Maverick-17B-128E-Instruct]", + "parametrize", + "pytestmark", + "input_output1-Llama-4-Maverick-17B-128E-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.007204750087112188, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 118, 'Skipped: Provider openai does not support model Llama-4-Maverick-17B-128E-Instruct')" + }, + "teardown": { + "duration": 0.00017725001089274883, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_structured_output[input_output1-gpt-4o]", + "lineno": 117, + "outcome": "passed", + "keywords": [ + "test_chat_streaming_structured_output[input_output1-gpt-4o]", + "parametrize", + "pytestmark", + "input_output1-gpt-4o", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.006797667010687292, + "outcome": "passed" + }, + "call": { + "duration": 5.411579457926564, + "outcome": "passed" + }, + "teardown": { + "duration": 0.001134666963480413, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_structured_output[input_output1-gpt-4o-mini]", + "lineno": 117, + "outcome": "passed", + "keywords": [ + "test_chat_streaming_structured_output[input_output1-gpt-4o-mini]", + "parametrize", + "pytestmark", + "input_output1-gpt-4o-mini", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.025059624924324453, + "outcome": "passed" + }, + "call": { + "duration": 9.112342999898829, + "outcome": "passed" + }, + "teardown": { + "duration": 0.0009202499641105533, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_tool_calling[input_output0-Llama-3.3-70B-Instruct]", + "lineno": 138, + "outcome": "skipped", + "keywords": [ + "test_chat_non_streaming_tool_calling[input_output0-Llama-3.3-70B-Instruct]", + "parametrize", + "pytestmark", + "input_output0-Llama-3.3-70B-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.024287916952744126, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 139, 'Skipped: Provider openai does not support model Llama-3.3-70B-Instruct')" + }, + "teardown": { + "duration": 0.00015587499365210533, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_tool_calling[input_output0-Llama-4-Scout-17B-16E]", + "lineno": 138, + "outcome": "skipped", + "keywords": [ + "test_chat_non_streaming_tool_calling[input_output0-Llama-4-Scout-17B-16E]", + "parametrize", + "pytestmark", + "input_output0-Llama-4-Scout-17B-16E", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.006531457998789847, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 139, 'Skipped: Provider openai does not support model Llama-4-Scout-17B-16E')" + }, + "teardown": { + "duration": 0.00014670798555016518, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_tool_calling[input_output0-Llama-4-Scout-17B-16E-Instruct]", + "lineno": 138, + "outcome": "skipped", + "keywords": [ + "test_chat_non_streaming_tool_calling[input_output0-Llama-4-Scout-17B-16E-Instruct]", + "parametrize", + "pytestmark", + "input_output0-Llama-4-Scout-17B-16E-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.006190375075675547, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 139, 'Skipped: Provider openai does not support model Llama-4-Scout-17B-16E-Instruct')" + }, + "teardown": { + "duration": 0.0001603750279173255, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_tool_calling[input_output0-Llama-4-Maverick-17B-128E]", + "lineno": 138, + "outcome": "skipped", + "keywords": [ + "test_chat_non_streaming_tool_calling[input_output0-Llama-4-Maverick-17B-128E]", + "parametrize", + "pytestmark", + "input_output0-Llama-4-Maverick-17B-128E", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.005670750048011541, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 139, 'Skipped: Provider openai does not support model Llama-4-Maverick-17B-128E')" + }, + "teardown": { + "duration": 0.0001479999627918005, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_tool_calling[input_output0-Llama-4-Maverick-17B-128E-Instruct]", + "lineno": 138, + "outcome": "skipped", + "keywords": [ + "test_chat_non_streaming_tool_calling[input_output0-Llama-4-Maverick-17B-128E-Instruct]", + "parametrize", + "pytestmark", + "input_output0-Llama-4-Maverick-17B-128E-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.005662833107635379, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 139, 'Skipped: Provider openai does not support model Llama-4-Maverick-17B-128E-Instruct')" + }, + "teardown": { + "duration": 0.0001480829669162631, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_tool_calling[input_output0-gpt-4o]", + "lineno": 138, + "outcome": "passed", + "keywords": [ + "test_chat_non_streaming_tool_calling[input_output0-gpt-4o]", + "parametrize", + "pytestmark", + "input_output0-gpt-4o", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.00573637499473989, + "outcome": "passed" + }, + "call": { + "duration": 0.6269576249178499, + "outcome": "passed" + }, + "teardown": { + "duration": 0.0010142088867723942, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_tool_calling[input_output0-gpt-4o-mini]", + "lineno": 138, + "outcome": "passed", + "keywords": [ + "test_chat_non_streaming_tool_calling[input_output0-gpt-4o-mini]", + "parametrize", + "pytestmark", + "input_output0-gpt-4o-mini", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.01623620803002268, + "outcome": "passed" + }, + "call": { + "duration": 0.7144521250156686, + "outcome": "passed" + }, + "teardown": { + "duration": 0.0011040839599445462, + "outcome": "passed" + } + } + ] +} diff --git a/tests/verifications/test_results/together_1744154399.json b/tests/verifications/test_results/together_1744154399.json new file mode 100644 index 000000000..ae801e83b --- /dev/null +++ b/tests/verifications/test_results/together_1744154399.json @@ -0,0 +1,2830 @@ +{ + "created": 1744154470.9868789, + "duration": 59.6187219619751, + "exitcode": 1, + "root": "/Users/erichuang/projects/llama-stack", + "environment": {}, + "summary": { + "skipped": 52, + "passed": 21, + "failed": 10, + "total": 83, + "collected": 83 + }, + "collectors": [ + { + "nodeid": "", + "outcome": "passed", + "result": [ + { + "nodeid": "tests/verifications/openai/test_chat_completion.py", + "type": "Module" + } + ] + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py", + "outcome": "passed", + "result": [ + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_basic[input_output0-Llama-3.3-8B-Instruct]", + "type": "Function", + "lineno": 25 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_basic[input_output0-Llama-3.3-70B-Instruct]", + "type": "Function", + "lineno": 25 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_basic[input_output0-Llama-4-Scout-17B-16E]", + "type": "Function", + "lineno": 25 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_basic[input_output0-Llama-4-Scout-17B-16E-Instruct]", + "type": "Function", + "lineno": 25 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_basic[input_output0-Llama-4-Maverick-17B-128E]", + "type": "Function", + "lineno": 25 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_basic[input_output0-Llama-4-Maverick-17B-128E-Instruct]", + "type": "Function", + "lineno": 25 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_basic[input_output0-gpt-4o]", + "type": "Function", + "lineno": 25 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_basic[input_output0-gpt-4o-mini]", + "type": "Function", + "lineno": 25 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_basic[input_output1-Llama-3.3-8B-Instruct]", + "type": "Function", + "lineno": 25 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_basic[input_output1-Llama-3.3-70B-Instruct]", + "type": "Function", + "lineno": 25 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_basic[input_output1-Llama-4-Scout-17B-16E]", + "type": "Function", + "lineno": 25 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_basic[input_output1-Llama-4-Scout-17B-16E-Instruct]", + "type": "Function", + "lineno": 25 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_basic[input_output1-Llama-4-Maverick-17B-128E]", + "type": "Function", + "lineno": 25 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_basic[input_output1-Llama-4-Maverick-17B-128E-Instruct]", + "type": "Function", + "lineno": 25 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_basic[input_output1-gpt-4o]", + "type": "Function", + "lineno": 25 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_basic[input_output1-gpt-4o-mini]", + "type": "Function", + "lineno": 25 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_basic[input_output0-Llama-3.3-8B-Instruct]", + "type": "Function", + "lineno": 40 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_basic[input_output0-Llama-3.3-70B-Instruct]", + "type": "Function", + "lineno": 40 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_basic[input_output0-Llama-4-Scout-17B-16E]", + "type": "Function", + "lineno": 40 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_basic[input_output0-Llama-4-Scout-17B-16E-Instruct]", + "type": "Function", + "lineno": 40 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_basic[input_output0-Llama-4-Maverick-17B-128E]", + "type": "Function", + "lineno": 40 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_basic[input_output0-Llama-4-Maverick-17B-128E-Instruct]", + "type": "Function", + "lineno": 40 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_basic[input_output0-gpt-4o]", + "type": "Function", + "lineno": 40 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_basic[input_output0-gpt-4o-mini]", + "type": "Function", + "lineno": 40 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_basic[input_output1-Llama-3.3-8B-Instruct]", + "type": "Function", + "lineno": 40 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_basic[input_output1-Llama-3.3-70B-Instruct]", + "type": "Function", + "lineno": 40 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_basic[input_output1-Llama-4-Scout-17B-16E]", + "type": "Function", + "lineno": 40 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_basic[input_output1-Llama-4-Scout-17B-16E-Instruct]", + "type": "Function", + "lineno": 40 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_basic[input_output1-Llama-4-Maverick-17B-128E]", + "type": "Function", + "lineno": 40 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_basic[input_output1-Llama-4-Maverick-17B-128E-Instruct]", + "type": "Function", + "lineno": 40 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_basic[input_output1-gpt-4o]", + "type": "Function", + "lineno": 40 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_basic[input_output1-gpt-4o-mini]", + "type": "Function", + "lineno": 40 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_image[input_output0-Llama-4-Scout-17B-16E]", + "type": "Function", + "lineno": 60 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_image[input_output0-Llama-4-Scout-17B-16E-Instruct]", + "type": "Function", + "lineno": 60 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_image[input_output0-Llama-4-Maverick-17B-128E]", + "type": "Function", + "lineno": 60 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_image[input_output0-Llama-4-Maverick-17B-128E-Instruct]", + "type": "Function", + "lineno": 60 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_image[input_output0-gpt-4o]", + "type": "Function", + "lineno": 60 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_image[input_output0-gpt-4o-mini]", + "type": "Function", + "lineno": 60 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_image[input_output0-Llama-4-Scout-17B-16E]", + "type": "Function", + "lineno": 75 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_image[input_output0-Llama-4-Scout-17B-16E-Instruct]", + "type": "Function", + "lineno": 75 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_image[input_output0-Llama-4-Maverick-17B-128E]", + "type": "Function", + "lineno": 75 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_image[input_output0-Llama-4-Maverick-17B-128E-Instruct]", + "type": "Function", + "lineno": 75 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_image[input_output0-gpt-4o]", + "type": "Function", + "lineno": 75 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_image[input_output0-gpt-4o-mini]", + "type": "Function", + "lineno": 75 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_structured_output[input_output0-Llama-3.3-8B-Instruct]", + "type": "Function", + "lineno": 95 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_structured_output[input_output0-Llama-3.3-70B-Instruct]", + "type": "Function", + "lineno": 95 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_structured_output[input_output0-Llama-4-Scout-17B-16E]", + "type": "Function", + "lineno": 95 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_structured_output[input_output0-Llama-4-Scout-17B-16E-Instruct]", + "type": "Function", + "lineno": 95 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_structured_output[input_output0-Llama-4-Maverick-17B-128E]", + "type": "Function", + "lineno": 95 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_structured_output[input_output0-Llama-4-Maverick-17B-128E-Instruct]", + "type": "Function", + "lineno": 95 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_structured_output[input_output0-gpt-4o]", + "type": "Function", + "lineno": 95 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_structured_output[input_output0-gpt-4o-mini]", + "type": "Function", + "lineno": 95 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_structured_output[input_output1-Llama-3.3-8B-Instruct]", + "type": "Function", + "lineno": 95 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_structured_output[input_output1-Llama-3.3-70B-Instruct]", + "type": "Function", + "lineno": 95 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_structured_output[input_output1-Llama-4-Scout-17B-16E]", + "type": "Function", + "lineno": 95 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_structured_output[input_output1-Llama-4-Scout-17B-16E-Instruct]", + "type": "Function", + "lineno": 95 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_structured_output[input_output1-Llama-4-Maverick-17B-128E]", + "type": "Function", + "lineno": 95 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_structured_output[input_output1-Llama-4-Maverick-17B-128E-Instruct]", + "type": "Function", + "lineno": 95 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_structured_output[input_output1-gpt-4o]", + "type": "Function", + "lineno": 95 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_structured_output[input_output1-gpt-4o-mini]", + "type": "Function", + "lineno": 95 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_structured_output[input_output0-Llama-3.3-8B-Instruct]", + "type": "Function", + "lineno": 117 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_structured_output[input_output0-Llama-3.3-70B-Instruct]", + "type": "Function", + "lineno": 117 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_structured_output[input_output0-Llama-4-Scout-17B-16E]", + "type": "Function", + "lineno": 117 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_structured_output[input_output0-Llama-4-Scout-17B-16E-Instruct]", + "type": "Function", + "lineno": 117 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_structured_output[input_output0-Llama-4-Maverick-17B-128E]", + "type": "Function", + "lineno": 117 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_structured_output[input_output0-Llama-4-Maverick-17B-128E-Instruct]", + "type": "Function", + "lineno": 117 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_structured_output[input_output0-gpt-4o]", + "type": "Function", + "lineno": 117 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_structured_output[input_output0-gpt-4o-mini]", + "type": "Function", + "lineno": 117 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_structured_output[input_output1-Llama-3.3-8B-Instruct]", + "type": "Function", + "lineno": 117 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_structured_output[input_output1-Llama-3.3-70B-Instruct]", + "type": "Function", + "lineno": 117 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_structured_output[input_output1-Llama-4-Scout-17B-16E]", + "type": "Function", + "lineno": 117 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_structured_output[input_output1-Llama-4-Scout-17B-16E-Instruct]", + "type": "Function", + "lineno": 117 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_structured_output[input_output1-Llama-4-Maverick-17B-128E]", + "type": "Function", + "lineno": 117 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_structured_output[input_output1-Llama-4-Maverick-17B-128E-Instruct]", + "type": "Function", + "lineno": 117 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_structured_output[input_output1-gpt-4o]", + "type": "Function", + "lineno": 117 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_structured_output[input_output1-gpt-4o-mini]", + "type": "Function", + "lineno": 117 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_tool_calling[input_output0-Llama-3.3-70B-Instruct]", + "type": "Function", + "lineno": 138 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_tool_calling[input_output0-Llama-4-Scout-17B-16E]", + "type": "Function", + "lineno": 138 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_tool_calling[input_output0-Llama-4-Scout-17B-16E-Instruct]", + "type": "Function", + "lineno": 138 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_tool_calling[input_output0-Llama-4-Maverick-17B-128E]", + "type": "Function", + "lineno": 138 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_tool_calling[input_output0-Llama-4-Maverick-17B-128E-Instruct]", + "type": "Function", + "lineno": 138 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_tool_calling[input_output0-gpt-4o]", + "type": "Function", + "lineno": 138 + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_tool_calling[input_output0-gpt-4o-mini]", + "type": "Function", + "lineno": 138 + } + ] + } + ], + "tests": [ + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_basic[input_output0-Llama-3.3-8B-Instruct]", + "lineno": 25, + "outcome": "skipped", + "keywords": [ + "test_chat_non_streaming_basic[input_output0-Llama-3.3-8B-Instruct]", + "parametrize", + "pytestmark", + "input_output0-Llama-3.3-8B-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.39231995795853436, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 26, 'Skipped: Provider together does not support model Llama-3.3-8B-Instruct')" + }, + "teardown": { + "duration": 0.0002014160854741931, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_basic[input_output0-Llama-3.3-70B-Instruct]", + "lineno": 25, + "outcome": "passed", + "keywords": [ + "test_chat_non_streaming_basic[input_output0-Llama-3.3-70B-Instruct]", + "parametrize", + "pytestmark", + "input_output0-Llama-3.3-70B-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.0071710830088704824, + "outcome": "passed" + }, + "call": { + "duration": 0.7968309168936685, + "outcome": "passed" + }, + "teardown": { + "duration": 0.0004362498875707388, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_basic[input_output0-Llama-4-Scout-17B-16E]", + "lineno": 25, + "outcome": "skipped", + "keywords": [ + "test_chat_non_streaming_basic[input_output0-Llama-4-Scout-17B-16E]", + "parametrize", + "pytestmark", + "input_output0-Llama-4-Scout-17B-16E", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.012780916062183678, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 26, 'Skipped: Provider together does not support model Llama-4-Scout-17B-16E')" + }, + "teardown": { + "duration": 0.00029158301185816526, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_basic[input_output0-Llama-4-Scout-17B-16E-Instruct]", + "lineno": 25, + "outcome": "passed", + "keywords": [ + "test_chat_non_streaming_basic[input_output0-Llama-4-Scout-17B-16E-Instruct]", + "parametrize", + "pytestmark", + "input_output0-Llama-4-Scout-17B-16E-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.013563874992541969, + "outcome": "passed" + }, + "call": { + "duration": 0.5071627920260653, + "outcome": "passed" + }, + "teardown": { + "duration": 0.0005456249928101897, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_basic[input_output0-Llama-4-Maverick-17B-128E]", + "lineno": 25, + "outcome": "skipped", + "keywords": [ + "test_chat_non_streaming_basic[input_output0-Llama-4-Maverick-17B-128E]", + "parametrize", + "pytestmark", + "input_output0-Llama-4-Maverick-17B-128E", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.020708917058072984, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 26, 'Skipped: Provider together does not support model Llama-4-Maverick-17B-128E')" + }, + "teardown": { + "duration": 0.00030325003899633884, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_basic[input_output0-Llama-4-Maverick-17B-128E-Instruct]", + "lineno": 25, + "outcome": "passed", + "keywords": [ + "test_chat_non_streaming_basic[input_output0-Llama-4-Maverick-17B-128E-Instruct]", + "parametrize", + "pytestmark", + "input_output0-Llama-4-Maverick-17B-128E-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.014170082984492183, + "outcome": "passed" + }, + "call": { + "duration": 1.2383921250002459, + "outcome": "passed" + }, + "teardown": { + "duration": 0.0009597090538591146, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_basic[input_output0-gpt-4o]", + "lineno": 25, + "outcome": "skipped", + "keywords": [ + "test_chat_non_streaming_basic[input_output0-gpt-4o]", + "parametrize", + "pytestmark", + "input_output0-gpt-4o", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.013402250013314188, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 26, 'Skipped: Provider together does not support model gpt-4o')" + }, + "teardown": { + "duration": 0.00028245802968740463, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_basic[input_output0-gpt-4o-mini]", + "lineno": 25, + "outcome": "skipped", + "keywords": [ + "test_chat_non_streaming_basic[input_output0-gpt-4o-mini]", + "parametrize", + "pytestmark", + "input_output0-gpt-4o-mini", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.008693707990460098, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 26, 'Skipped: Provider together does not support model gpt-4o-mini')" + }, + "teardown": { + "duration": 0.00016249995678663254, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_basic[input_output1-Llama-3.3-8B-Instruct]", + "lineno": 25, + "outcome": "skipped", + "keywords": [ + "test_chat_non_streaming_basic[input_output1-Llama-3.3-8B-Instruct]", + "parametrize", + "pytestmark", + "input_output1-Llama-3.3-8B-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.005904874997213483, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 26, 'Skipped: Provider together does not support model Llama-3.3-8B-Instruct')" + }, + "teardown": { + "duration": 0.0001960420049726963, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_basic[input_output1-Llama-3.3-70B-Instruct]", + "lineno": 25, + "outcome": "passed", + "keywords": [ + "test_chat_non_streaming_basic[input_output1-Llama-3.3-70B-Instruct]", + "parametrize", + "pytestmark", + "input_output1-Llama-3.3-70B-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.006532749976031482, + "outcome": "passed" + }, + "call": { + "duration": 0.5410778749501333, + "outcome": "passed" + }, + "teardown": { + "duration": 0.00019516597967594862, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_basic[input_output1-Llama-4-Scout-17B-16E]", + "lineno": 25, + "outcome": "skipped", + "keywords": [ + "test_chat_non_streaming_basic[input_output1-Llama-4-Scout-17B-16E]", + "parametrize", + "pytestmark", + "input_output1-Llama-4-Scout-17B-16E", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.009374375105835497, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 26, 'Skipped: Provider together does not support model Llama-4-Scout-17B-16E')" + }, + "teardown": { + "duration": 0.00015524995978921652, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_basic[input_output1-Llama-4-Scout-17B-16E-Instruct]", + "lineno": 25, + "outcome": "passed", + "keywords": [ + "test_chat_non_streaming_basic[input_output1-Llama-4-Scout-17B-16E-Instruct]", + "parametrize", + "pytestmark", + "input_output1-Llama-4-Scout-17B-16E-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.007205875008367002, + "outcome": "passed" + }, + "call": { + "duration": 0.42584729101508856, + "outcome": "passed" + }, + "teardown": { + "duration": 0.0009506250498816371, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_basic[input_output1-Llama-4-Maverick-17B-128E]", + "lineno": 25, + "outcome": "skipped", + "keywords": [ + "test_chat_non_streaming_basic[input_output1-Llama-4-Maverick-17B-128E]", + "parametrize", + "pytestmark", + "input_output1-Llama-4-Maverick-17B-128E", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.029625958995893598, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 26, 'Skipped: Provider together does not support model Llama-4-Maverick-17B-128E')" + }, + "teardown": { + "duration": 0.0001860830234363675, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_basic[input_output1-Llama-4-Maverick-17B-128E-Instruct]", + "lineno": 25, + "outcome": "passed", + "keywords": [ + "test_chat_non_streaming_basic[input_output1-Llama-4-Maverick-17B-128E-Instruct]", + "parametrize", + "pytestmark", + "input_output1-Llama-4-Maverick-17B-128E-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.023576707928441465, + "outcome": "passed" + }, + "call": { + "duration": 1.2249365829629824, + "outcome": "passed" + }, + "teardown": { + "duration": 0.0004278330598026514, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_basic[input_output1-gpt-4o]", + "lineno": 25, + "outcome": "skipped", + "keywords": [ + "test_chat_non_streaming_basic[input_output1-gpt-4o]", + "parametrize", + "pytestmark", + "input_output1-gpt-4o", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.014816291979514062, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 26, 'Skipped: Provider together does not support model gpt-4o')" + }, + "teardown": { + "duration": 0.00029558304231613874, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_basic[input_output1-gpt-4o-mini]", + "lineno": 25, + "outcome": "skipped", + "keywords": [ + "test_chat_non_streaming_basic[input_output1-gpt-4o-mini]", + "parametrize", + "pytestmark", + "input_output1-gpt-4o-mini", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.012769333901815116, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 26, 'Skipped: Provider together does not support model gpt-4o-mini')" + }, + "teardown": { + "duration": 0.00024329195730388165, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_basic[input_output0-Llama-3.3-8B-Instruct]", + "lineno": 40, + "outcome": "skipped", + "keywords": [ + "test_chat_streaming_basic[input_output0-Llama-3.3-8B-Instruct]", + "parametrize", + "pytestmark", + "input_output0-Llama-3.3-8B-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.009145625052042305, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 41, 'Skipped: Provider together does not support model Llama-3.3-8B-Instruct')" + }, + "teardown": { + "duration": 0.00021195888984948397, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_basic[input_output0-Llama-3.3-70B-Instruct]", + "lineno": 40, + "outcome": "passed", + "keywords": [ + "test_chat_streaming_basic[input_output0-Llama-3.3-70B-Instruct]", + "parametrize", + "pytestmark", + "input_output0-Llama-3.3-70B-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.0133140409598127, + "outcome": "passed" + }, + "call": { + "duration": 0.7228892090497538, + "outcome": "passed" + }, + "teardown": { + "duration": 0.0004301250446587801, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_basic[input_output0-Llama-4-Scout-17B-16E]", + "lineno": 40, + "outcome": "skipped", + "keywords": [ + "test_chat_streaming_basic[input_output0-Llama-4-Scout-17B-16E]", + "parametrize", + "pytestmark", + "input_output0-Llama-4-Scout-17B-16E", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.013998750015161932, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 41, 'Skipped: Provider together does not support model Llama-4-Scout-17B-16E')" + }, + "teardown": { + "duration": 0.0002961249556392431, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_basic[input_output0-Llama-4-Scout-17B-16E-Instruct]", + "lineno": 40, + "outcome": "failed", + "keywords": [ + "test_chat_streaming_basic[input_output0-Llama-4-Scout-17B-16E-Instruct]", + "parametrize", + "pytestmark", + "input_output0-Llama-4-Scout-17B-16E-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.012570249964483082, + "outcome": "passed" + }, + "call": { + "duration": 0.7193170419195667, + "outcome": "failed", + "crash": { + "path": "/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py", + "lineno": 54, + "message": "IndexError: list index out of range" + }, + "traceback": [ + { + "path": "tests/verifications/openai/test_chat_completion.py", + "lineno": 54, + "message": "IndexError" + } + ], + "longrepr": "openai_client = \ninput_output = {'input': {'messages': [{'content': 'Which planet do humans live on?', 'role': 'user'}]}, 'output': 'Earth'}\ncorrect_model_name = 'meta-llama/Llama-4-Scout-17B-16E-Instruct'\n\n @pytest.mark.parametrize(\"model\", chat_completion_test_cases[\"test_chat_basic\"][\"test_params\"][\"model\"])\n @pytest.mark.parametrize(\n \"input_output\",\n chat_completion_test_cases[\"test_chat_basic\"][\"test_params\"][\"input_output\"],\n )\n def test_chat_streaming_basic(openai_client, input_output, correct_model_name):\n response = openai_client.chat.completions.create(\n model=correct_model_name,\n messages=input_output[\"input\"][\"messages\"],\n stream=True,\n )\n content = \"\"\n for chunk in response:\n> content += chunk.choices[0].delta.content or \"\"\nE IndexError: list index out of range\n\ntests/verifications/openai/test_chat_completion.py:54: IndexError" + }, + "teardown": { + "duration": 0.00022504094522446394, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_basic[input_output0-Llama-4-Maverick-17B-128E]", + "lineno": 40, + "outcome": "skipped", + "keywords": [ + "test_chat_streaming_basic[input_output0-Llama-4-Maverick-17B-128E]", + "parametrize", + "pytestmark", + "input_output0-Llama-4-Maverick-17B-128E", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.006660082959569991, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 41, 'Skipped: Provider together does not support model Llama-4-Maverick-17B-128E')" + }, + "teardown": { + "duration": 0.0001445829402655363, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_basic[input_output0-Llama-4-Maverick-17B-128E-Instruct]", + "lineno": 40, + "outcome": "failed", + "keywords": [ + "test_chat_streaming_basic[input_output0-Llama-4-Maverick-17B-128E-Instruct]", + "parametrize", + "pytestmark", + "input_output0-Llama-4-Maverick-17B-128E-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.021228999947197735, + "outcome": "passed" + }, + "call": { + "duration": 1.5670281670754775, + "outcome": "failed", + "crash": { + "path": "/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py", + "lineno": 54, + "message": "IndexError: list index out of range" + }, + "traceback": [ + { + "path": "tests/verifications/openai/test_chat_completion.py", + "lineno": 54, + "message": "IndexError" + } + ], + "longrepr": "openai_client = \ninput_output = {'input': {'messages': [{'content': 'Which planet do humans live on?', 'role': 'user'}]}, 'output': 'Earth'}\ncorrect_model_name = 'meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8'\n\n @pytest.mark.parametrize(\"model\", chat_completion_test_cases[\"test_chat_basic\"][\"test_params\"][\"model\"])\n @pytest.mark.parametrize(\n \"input_output\",\n chat_completion_test_cases[\"test_chat_basic\"][\"test_params\"][\"input_output\"],\n )\n def test_chat_streaming_basic(openai_client, input_output, correct_model_name):\n response = openai_client.chat.completions.create(\n model=correct_model_name,\n messages=input_output[\"input\"][\"messages\"],\n stream=True,\n )\n content = \"\"\n for chunk in response:\n> content += chunk.choices[0].delta.content or \"\"\nE IndexError: list index out of range\n\ntests/verifications/openai/test_chat_completion.py:54: IndexError" + }, + "teardown": { + "duration": 0.0004656669916585088, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_basic[input_output0-gpt-4o]", + "lineno": 40, + "outcome": "skipped", + "keywords": [ + "test_chat_streaming_basic[input_output0-gpt-4o]", + "parametrize", + "pytestmark", + "input_output0-gpt-4o", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.009595917072147131, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 41, 'Skipped: Provider together does not support model gpt-4o')" + }, + "teardown": { + "duration": 0.00025625003036111593, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_basic[input_output0-gpt-4o-mini]", + "lineno": 40, + "outcome": "skipped", + "keywords": [ + "test_chat_streaming_basic[input_output0-gpt-4o-mini]", + "parametrize", + "pytestmark", + "input_output0-gpt-4o-mini", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.009242708911187947, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 41, 'Skipped: Provider together does not support model gpt-4o-mini')" + }, + "teardown": { + "duration": 0.0002484159776940942, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_basic[input_output1-Llama-3.3-8B-Instruct]", + "lineno": 40, + "outcome": "skipped", + "keywords": [ + "test_chat_streaming_basic[input_output1-Llama-3.3-8B-Instruct]", + "parametrize", + "pytestmark", + "input_output1-Llama-3.3-8B-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.00905474997125566, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 41, 'Skipped: Provider together does not support model Llama-3.3-8B-Instruct')" + }, + "teardown": { + "duration": 0.00023312494158744812, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_basic[input_output1-Llama-3.3-70B-Instruct]", + "lineno": 40, + "outcome": "passed", + "keywords": [ + "test_chat_streaming_basic[input_output1-Llama-3.3-70B-Instruct]", + "parametrize", + "pytestmark", + "input_output1-Llama-3.3-70B-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.007183165987953544, + "outcome": "passed" + }, + "call": { + "duration": 1.0667660840554163, + "outcome": "passed" + }, + "teardown": { + "duration": 0.0005163750611245632, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_basic[input_output1-Llama-4-Scout-17B-16E]", + "lineno": 40, + "outcome": "skipped", + "keywords": [ + "test_chat_streaming_basic[input_output1-Llama-4-Scout-17B-16E]", + "parametrize", + "pytestmark", + "input_output1-Llama-4-Scout-17B-16E", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.05233616603072733, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 41, 'Skipped: Provider together does not support model Llama-4-Scout-17B-16E')" + }, + "teardown": { + "duration": 0.0003471659729257226, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_basic[input_output1-Llama-4-Scout-17B-16E-Instruct]", + "lineno": 40, + "outcome": "failed", + "keywords": [ + "test_chat_streaming_basic[input_output1-Llama-4-Scout-17B-16E-Instruct]", + "parametrize", + "pytestmark", + "input_output1-Llama-4-Scout-17B-16E-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.015932541922666132, + "outcome": "passed" + }, + "call": { + "duration": 0.41540695796720684, + "outcome": "failed", + "crash": { + "path": "/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py", + "lineno": 54, + "message": "IndexError: list index out of range" + }, + "traceback": [ + { + "path": "tests/verifications/openai/test_chat_completion.py", + "lineno": 54, + "message": "IndexError" + } + ], + "longrepr": "openai_client = \ninput_output = {'input': {'messages': [{'content': 'Which planet has rings around it with a name starting with letter S?', 'role': 'user'}]}, 'output': 'Saturn'}\ncorrect_model_name = 'meta-llama/Llama-4-Scout-17B-16E-Instruct'\n\n @pytest.mark.parametrize(\"model\", chat_completion_test_cases[\"test_chat_basic\"][\"test_params\"][\"model\"])\n @pytest.mark.parametrize(\n \"input_output\",\n chat_completion_test_cases[\"test_chat_basic\"][\"test_params\"][\"input_output\"],\n )\n def test_chat_streaming_basic(openai_client, input_output, correct_model_name):\n response = openai_client.chat.completions.create(\n model=correct_model_name,\n messages=input_output[\"input\"][\"messages\"],\n stream=True,\n )\n content = \"\"\n for chunk in response:\n> content += chunk.choices[0].delta.content or \"\"\nE IndexError: list index out of range\n\ntests/verifications/openai/test_chat_completion.py:54: IndexError" + }, + "teardown": { + "duration": 0.0002845840062946081, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_basic[input_output1-Llama-4-Maverick-17B-128E]", + "lineno": 40, + "outcome": "skipped", + "keywords": [ + "test_chat_streaming_basic[input_output1-Llama-4-Maverick-17B-128E]", + "parametrize", + "pytestmark", + "input_output1-Llama-4-Maverick-17B-128E", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.007243875064887106, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 41, 'Skipped: Provider together does not support model Llama-4-Maverick-17B-128E')" + }, + "teardown": { + "duration": 0.00016258296091109514, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_basic[input_output1-Llama-4-Maverick-17B-128E-Instruct]", + "lineno": 40, + "outcome": "failed", + "keywords": [ + "test_chat_streaming_basic[input_output1-Llama-4-Maverick-17B-128E-Instruct]", + "parametrize", + "pytestmark", + "input_output1-Llama-4-Maverick-17B-128E-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.009275624994188547, + "outcome": "passed" + }, + "call": { + "duration": 1.43309554096777, + "outcome": "failed", + "crash": { + "path": "/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py", + "lineno": 54, + "message": "IndexError: list index out of range" + }, + "traceback": [ + { + "path": "tests/verifications/openai/test_chat_completion.py", + "lineno": 54, + "message": "IndexError" + } + ], + "longrepr": "openai_client = \ninput_output = {'input': {'messages': [{'content': 'Which planet has rings around it with a name starting with letter S?', 'role': 'user'}]}, 'output': 'Saturn'}\ncorrect_model_name = 'meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8'\n\n @pytest.mark.parametrize(\"model\", chat_completion_test_cases[\"test_chat_basic\"][\"test_params\"][\"model\"])\n @pytest.mark.parametrize(\n \"input_output\",\n chat_completion_test_cases[\"test_chat_basic\"][\"test_params\"][\"input_output\"],\n )\n def test_chat_streaming_basic(openai_client, input_output, correct_model_name):\n response = openai_client.chat.completions.create(\n model=correct_model_name,\n messages=input_output[\"input\"][\"messages\"],\n stream=True,\n )\n content = \"\"\n for chunk in response:\n> content += chunk.choices[0].delta.content or \"\"\nE IndexError: list index out of range\n\ntests/verifications/openai/test_chat_completion.py:54: IndexError" + }, + "teardown": { + "duration": 0.0003690000157803297, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_basic[input_output1-gpt-4o]", + "lineno": 40, + "outcome": "skipped", + "keywords": [ + "test_chat_streaming_basic[input_output1-gpt-4o]", + "parametrize", + "pytestmark", + "input_output1-gpt-4o", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.011570582981221378, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 41, 'Skipped: Provider together does not support model gpt-4o')" + }, + "teardown": { + "duration": 0.00024937500711530447, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_basic[input_output1-gpt-4o-mini]", + "lineno": 40, + "outcome": "skipped", + "keywords": [ + "test_chat_streaming_basic[input_output1-gpt-4o-mini]", + "parametrize", + "pytestmark", + "input_output1-gpt-4o-mini", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.010756584000773728, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 41, 'Skipped: Provider together does not support model gpt-4o-mini')" + }, + "teardown": { + "duration": 0.00026183295994997025, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_image[input_output0-Llama-4-Scout-17B-16E]", + "lineno": 60, + "outcome": "skipped", + "keywords": [ + "test_chat_non_streaming_image[input_output0-Llama-4-Scout-17B-16E]", + "parametrize", + "pytestmark", + "input_output0-Llama-4-Scout-17B-16E", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.008863041992299259, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 61, 'Skipped: Provider together does not support model Llama-4-Scout-17B-16E')" + }, + "teardown": { + "duration": 0.00023283297196030617, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_image[input_output0-Llama-4-Scout-17B-16E-Instruct]", + "lineno": 60, + "outcome": "passed", + "keywords": [ + "test_chat_non_streaming_image[input_output0-Llama-4-Scout-17B-16E-Instruct]", + "parametrize", + "pytestmark", + "input_output0-Llama-4-Scout-17B-16E-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.007975792046636343, + "outcome": "passed" + }, + "call": { + "duration": 2.1585817909799516, + "outcome": "passed" + }, + "teardown": { + "duration": 0.0005107080796733499, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_image[input_output0-Llama-4-Maverick-17B-128E]", + "lineno": 60, + "outcome": "skipped", + "keywords": [ + "test_chat_non_streaming_image[input_output0-Llama-4-Maverick-17B-128E]", + "parametrize", + "pytestmark", + "input_output0-Llama-4-Maverick-17B-128E", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.05228079203516245, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 61, 'Skipped: Provider together does not support model Llama-4-Maverick-17B-128E')" + }, + "teardown": { + "duration": 0.0017226670170202851, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_image[input_output0-Llama-4-Maverick-17B-128E-Instruct]", + "lineno": 60, + "outcome": "passed", + "keywords": [ + "test_chat_non_streaming_image[input_output0-Llama-4-Maverick-17B-128E-Instruct]", + "parametrize", + "pytestmark", + "input_output0-Llama-4-Maverick-17B-128E-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.009964749915525317, + "outcome": "passed" + }, + "call": { + "duration": 4.6593364590080455, + "outcome": "passed" + }, + "teardown": { + "duration": 0.0009852920193225145, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_image[input_output0-gpt-4o]", + "lineno": 60, + "outcome": "skipped", + "keywords": [ + "test_chat_non_streaming_image[input_output0-gpt-4o]", + "parametrize", + "pytestmark", + "input_output0-gpt-4o", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.023214041953906417, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 61, 'Skipped: Provider together does not support model gpt-4o')" + }, + "teardown": { + "duration": 0.0003567079547792673, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_image[input_output0-gpt-4o-mini]", + "lineno": 60, + "outcome": "skipped", + "keywords": [ + "test_chat_non_streaming_image[input_output0-gpt-4o-mini]", + "parametrize", + "pytestmark", + "input_output0-gpt-4o-mini", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.01705008395947516, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 61, 'Skipped: Provider together does not support model gpt-4o-mini')" + }, + "teardown": { + "duration": 0.0003085409989580512, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_image[input_output0-Llama-4-Scout-17B-16E]", + "lineno": 75, + "outcome": "skipped", + "keywords": [ + "test_chat_streaming_image[input_output0-Llama-4-Scout-17B-16E]", + "parametrize", + "pytestmark", + "input_output0-Llama-4-Scout-17B-16E", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.014711958006955683, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 76, 'Skipped: Provider together does not support model Llama-4-Scout-17B-16E')" + }, + "teardown": { + "duration": 0.0003121249610558152, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_image[input_output0-Llama-4-Scout-17B-16E-Instruct]", + "lineno": 75, + "outcome": "failed", + "keywords": [ + "test_chat_streaming_image[input_output0-Llama-4-Scout-17B-16E-Instruct]", + "parametrize", + "pytestmark", + "input_output0-Llama-4-Scout-17B-16E-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.01843333407305181, + "outcome": "passed" + }, + "call": { + "duration": 2.8683876669965684, + "outcome": "failed", + "crash": { + "path": "/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py", + "lineno": 89, + "message": "IndexError: list index out of range" + }, + "traceback": [ + { + "path": "tests/verifications/openai/test_chat_completion.py", + "lineno": 89, + "message": "IndexError" + } + ], + "longrepr": "openai_client = \ninput_output = {'input': {'messages': [{'content': [{'text': 'What is in this image?', 'type': 'text'}, {'image_url': {...}, 'type': 'image_url'}], 'role': 'user'}]}, 'output': 'llama'}\ncorrect_model_name = 'meta-llama/Llama-4-Scout-17B-16E-Instruct'\n\n @pytest.mark.parametrize(\"model\", chat_completion_test_cases[\"test_chat_image\"][\"test_params\"][\"model\"])\n @pytest.mark.parametrize(\n \"input_output\",\n chat_completion_test_cases[\"test_chat_image\"][\"test_params\"][\"input_output\"],\n )\n def test_chat_streaming_image(openai_client, input_output, correct_model_name):\n response = openai_client.chat.completions.create(\n model=correct_model_name,\n messages=input_output[\"input\"][\"messages\"],\n stream=True,\n )\n content = \"\"\n for chunk in response:\n> content += chunk.choices[0].delta.content or \"\"\nE IndexError: list index out of range\n\ntests/verifications/openai/test_chat_completion.py:89: IndexError" + }, + "teardown": { + "duration": 0.00028662499971687794, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_image[input_output0-Llama-4-Maverick-17B-128E]", + "lineno": 75, + "outcome": "skipped", + "keywords": [ + "test_chat_streaming_image[input_output0-Llama-4-Maverick-17B-128E]", + "parametrize", + "pytestmark", + "input_output0-Llama-4-Maverick-17B-128E", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.00653208396397531, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 76, 'Skipped: Provider together does not support model Llama-4-Maverick-17B-128E')" + }, + "teardown": { + "duration": 0.00021291698794811964, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_image[input_output0-Llama-4-Maverick-17B-128E-Instruct]", + "lineno": 75, + "outcome": "failed", + "keywords": [ + "test_chat_streaming_image[input_output0-Llama-4-Maverick-17B-128E-Instruct]", + "parametrize", + "pytestmark", + "input_output0-Llama-4-Maverick-17B-128E-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.006028458010405302, + "outcome": "passed" + }, + "call": { + "duration": 4.981105040991679, + "outcome": "failed", + "crash": { + "path": "/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py", + "lineno": 89, + "message": "IndexError: list index out of range" + }, + "traceback": [ + { + "path": "tests/verifications/openai/test_chat_completion.py", + "lineno": 89, + "message": "IndexError" + } + ], + "longrepr": "openai_client = \ninput_output = {'input': {'messages': [{'content': [{'text': 'What is in this image?', 'type': 'text'}, {'image_url': {...}, 'type': 'image_url'}], 'role': 'user'}]}, 'output': 'llama'}\ncorrect_model_name = 'meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8'\n\n @pytest.mark.parametrize(\"model\", chat_completion_test_cases[\"test_chat_image\"][\"test_params\"][\"model\"])\n @pytest.mark.parametrize(\n \"input_output\",\n chat_completion_test_cases[\"test_chat_image\"][\"test_params\"][\"input_output\"],\n )\n def test_chat_streaming_image(openai_client, input_output, correct_model_name):\n response = openai_client.chat.completions.create(\n model=correct_model_name,\n messages=input_output[\"input\"][\"messages\"],\n stream=True,\n )\n content = \"\"\n for chunk in response:\n> content += chunk.choices[0].delta.content or \"\"\nE IndexError: list index out of range\n\ntests/verifications/openai/test_chat_completion.py:89: IndexError" + }, + "teardown": { + "duration": 0.0010110830189660192, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_image[input_output0-gpt-4o]", + "lineno": 75, + "outcome": "skipped", + "keywords": [ + "test_chat_streaming_image[input_output0-gpt-4o]", + "parametrize", + "pytestmark", + "input_output0-gpt-4o", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.01591233303770423, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 76, 'Skipped: Provider together does not support model gpt-4o')" + }, + "teardown": { + "duration": 0.0003783750580623746, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_image[input_output0-gpt-4o-mini]", + "lineno": 75, + "outcome": "skipped", + "keywords": [ + "test_chat_streaming_image[input_output0-gpt-4o-mini]", + "parametrize", + "pytestmark", + "input_output0-gpt-4o-mini", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.010691000032238662, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 76, 'Skipped: Provider together does not support model gpt-4o-mini')" + }, + "teardown": { + "duration": 0.00027445796877145767, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_structured_output[input_output0-Llama-3.3-8B-Instruct]", + "lineno": 95, + "outcome": "skipped", + "keywords": [ + "test_chat_non_streaming_structured_output[input_output0-Llama-3.3-8B-Instruct]", + "parametrize", + "pytestmark", + "input_output0-Llama-3.3-8B-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.01258529198821634, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 96, 'Skipped: Provider together does not support model Llama-3.3-8B-Instruct')" + }, + "teardown": { + "duration": 0.0002044580178335309, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_structured_output[input_output0-Llama-3.3-70B-Instruct]", + "lineno": 95, + "outcome": "passed", + "keywords": [ + "test_chat_non_streaming_structured_output[input_output0-Llama-3.3-70B-Instruct]", + "parametrize", + "pytestmark", + "input_output0-Llama-3.3-70B-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.010904791066423059, + "outcome": "passed" + }, + "call": { + "duration": 0.8311828339938074, + "outcome": "passed" + }, + "teardown": { + "duration": 0.00048687495291233063, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_structured_output[input_output0-Llama-4-Scout-17B-16E]", + "lineno": 95, + "outcome": "skipped", + "keywords": [ + "test_chat_non_streaming_structured_output[input_output0-Llama-4-Scout-17B-16E]", + "parametrize", + "pytestmark", + "input_output0-Llama-4-Scout-17B-16E", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.029216791968792677, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 96, 'Skipped: Provider together does not support model Llama-4-Scout-17B-16E')" + }, + "teardown": { + "duration": 0.0002269580727443099, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_structured_output[input_output0-Llama-4-Scout-17B-16E-Instruct]", + "lineno": 95, + "outcome": "passed", + "keywords": [ + "test_chat_non_streaming_structured_output[input_output0-Llama-4-Scout-17B-16E-Instruct]", + "parametrize", + "pytestmark", + "input_output0-Llama-4-Scout-17B-16E-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.013182583032175899, + "outcome": "passed" + }, + "call": { + "duration": 1.7446029160637408, + "outcome": "passed" + }, + "teardown": { + "duration": 0.0008087089518085122, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_structured_output[input_output0-Llama-4-Maverick-17B-128E]", + "lineno": 95, + "outcome": "skipped", + "keywords": [ + "test_chat_non_streaming_structured_output[input_output0-Llama-4-Maverick-17B-128E]", + "parametrize", + "pytestmark", + "input_output0-Llama-4-Maverick-17B-128E", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.02009516698308289, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 96, 'Skipped: Provider together does not support model Llama-4-Maverick-17B-128E')" + }, + "teardown": { + "duration": 0.000320291961543262, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_structured_output[input_output0-Llama-4-Maverick-17B-128E-Instruct]", + "lineno": 95, + "outcome": "passed", + "keywords": [ + "test_chat_non_streaming_structured_output[input_output0-Llama-4-Maverick-17B-128E-Instruct]", + "parametrize", + "pytestmark", + "input_output0-Llama-4-Maverick-17B-128E-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.015216833096928895, + "outcome": "passed" + }, + "call": { + "duration": 0.8049291669158265, + "outcome": "passed" + }, + "teardown": { + "duration": 0.0005109170451760292, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_structured_output[input_output0-gpt-4o]", + "lineno": 95, + "outcome": "skipped", + "keywords": [ + "test_chat_non_streaming_structured_output[input_output0-gpt-4o]", + "parametrize", + "pytestmark", + "input_output0-gpt-4o", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.0171551660168916, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 96, 'Skipped: Provider together does not support model gpt-4o')" + }, + "teardown": { + "duration": 0.0005707499803975224, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_structured_output[input_output0-gpt-4o-mini]", + "lineno": 95, + "outcome": "skipped", + "keywords": [ + "test_chat_non_streaming_structured_output[input_output0-gpt-4o-mini]", + "parametrize", + "pytestmark", + "input_output0-gpt-4o-mini", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.01131124992389232, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 96, 'Skipped: Provider together does not support model gpt-4o-mini')" + }, + "teardown": { + "duration": 0.0003044159384444356, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_structured_output[input_output1-Llama-3.3-8B-Instruct]", + "lineno": 95, + "outcome": "skipped", + "keywords": [ + "test_chat_non_streaming_structured_output[input_output1-Llama-3.3-8B-Instruct]", + "parametrize", + "pytestmark", + "input_output1-Llama-3.3-8B-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.0054290409898385406, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 96, 'Skipped: Provider together does not support model Llama-3.3-8B-Instruct')" + }, + "teardown": { + "duration": 0.00014645792543888092, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_structured_output[input_output1-Llama-3.3-70B-Instruct]", + "lineno": 95, + "outcome": "passed", + "keywords": [ + "test_chat_non_streaming_structured_output[input_output1-Llama-3.3-70B-Instruct]", + "parametrize", + "pytestmark", + "input_output1-Llama-3.3-70B-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.011368000064976513, + "outcome": "passed" + }, + "call": { + "duration": 4.363120499998331, + "outcome": "passed" + }, + "teardown": { + "duration": 0.0003998749889433384, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_structured_output[input_output1-Llama-4-Scout-17B-16E]", + "lineno": 95, + "outcome": "skipped", + "keywords": [ + "test_chat_non_streaming_structured_output[input_output1-Llama-4-Scout-17B-16E]", + "parametrize", + "pytestmark", + "input_output1-Llama-4-Scout-17B-16E", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.04945958300959319, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 96, 'Skipped: Provider together does not support model Llama-4-Scout-17B-16E')" + }, + "teardown": { + "duration": 0.0002401659730821848, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_structured_output[input_output1-Llama-4-Scout-17B-16E-Instruct]", + "lineno": 95, + "outcome": "passed", + "keywords": [ + "test_chat_non_streaming_structured_output[input_output1-Llama-4-Scout-17B-16E-Instruct]", + "parametrize", + "pytestmark", + "input_output1-Llama-4-Scout-17B-16E-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.011090958025306463, + "outcome": "passed" + }, + "call": { + "duration": 4.699277375009842, + "outcome": "passed" + }, + "teardown": { + "duration": 0.000689250067807734, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_structured_output[input_output1-Llama-4-Maverick-17B-128E]", + "lineno": 95, + "outcome": "skipped", + "keywords": [ + "test_chat_non_streaming_structured_output[input_output1-Llama-4-Maverick-17B-128E]", + "parametrize", + "pytestmark", + "input_output1-Llama-4-Maverick-17B-128E", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.020744459005072713, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 96, 'Skipped: Provider together does not support model Llama-4-Maverick-17B-128E')" + }, + "teardown": { + "duration": 0.0001836250303313136, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_structured_output[input_output1-Llama-4-Maverick-17B-128E-Instruct]", + "lineno": 95, + "outcome": "passed", + "keywords": [ + "test_chat_non_streaming_structured_output[input_output1-Llama-4-Maverick-17B-128E-Instruct]", + "parametrize", + "pytestmark", + "input_output1-Llama-4-Maverick-17B-128E-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.005926624988205731, + "outcome": "passed" + }, + "call": { + "duration": 2.7814464160474017, + "outcome": "passed" + }, + "teardown": { + "duration": 0.0009554170537739992, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_structured_output[input_output1-gpt-4o]", + "lineno": 95, + "outcome": "skipped", + "keywords": [ + "test_chat_non_streaming_structured_output[input_output1-gpt-4o]", + "parametrize", + "pytestmark", + "input_output1-gpt-4o", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.03027112502604723, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 96, 'Skipped: Provider together does not support model gpt-4o')" + }, + "teardown": { + "duration": 0.0003245410043746233, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_structured_output[input_output1-gpt-4o-mini]", + "lineno": 95, + "outcome": "skipped", + "keywords": [ + "test_chat_non_streaming_structured_output[input_output1-gpt-4o-mini]", + "parametrize", + "pytestmark", + "input_output1-gpt-4o-mini", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.009138708002865314, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 96, 'Skipped: Provider together does not support model gpt-4o-mini')" + }, + "teardown": { + "duration": 0.0001919999485835433, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_structured_output[input_output0-Llama-3.3-8B-Instruct]", + "lineno": 117, + "outcome": "skipped", + "keywords": [ + "test_chat_streaming_structured_output[input_output0-Llama-3.3-8B-Instruct]", + "parametrize", + "pytestmark", + "input_output0-Llama-3.3-8B-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.0064505410846322775, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 118, 'Skipped: Provider together does not support model Llama-3.3-8B-Instruct')" + }, + "teardown": { + "duration": 0.00015720794908702374, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_structured_output[input_output0-Llama-3.3-70B-Instruct]", + "lineno": 117, + "outcome": "passed", + "keywords": [ + "test_chat_streaming_structured_output[input_output0-Llama-3.3-70B-Instruct]", + "parametrize", + "pytestmark", + "input_output0-Llama-3.3-70B-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.00582624995149672, + "outcome": "passed" + }, + "call": { + "duration": 0.8302567919017747, + "outcome": "passed" + }, + "teardown": { + "duration": 0.00020354206208139658, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_structured_output[input_output0-Llama-4-Scout-17B-16E]", + "lineno": 117, + "outcome": "skipped", + "keywords": [ + "test_chat_streaming_structured_output[input_output0-Llama-4-Scout-17B-16E]", + "parametrize", + "pytestmark", + "input_output0-Llama-4-Scout-17B-16E", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.014151416951790452, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 118, 'Skipped: Provider together does not support model Llama-4-Scout-17B-16E')" + }, + "teardown": { + "duration": 0.00034970801789313555, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_structured_output[input_output0-Llama-4-Scout-17B-16E-Instruct]", + "lineno": 117, + "outcome": "failed", + "keywords": [ + "test_chat_streaming_structured_output[input_output0-Llama-4-Scout-17B-16E-Instruct]", + "parametrize", + "pytestmark", + "input_output0-Llama-4-Scout-17B-16E-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.012150791939347982, + "outcome": "passed" + }, + "call": { + "duration": 0.7078855830477551, + "outcome": "failed", + "crash": { + "path": "/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py", + "lineno": 135, + "message": "IndexError: list index out of range" + }, + "traceback": [ + { + "path": "tests/verifications/openai/test_chat_completion.py", + "lineno": 135, + "message": "IndexError" + } + ], + "longrepr": "openai_client = \ninput_output = {'input': {'messages': [{'content': 'Extract the event information.', 'role': 'system'}, {'content': 'Alice and Bob ar...articipants'], 'title': 'CalendarEvent', 'type': 'object'}}, 'type': 'json_schema'}}, 'output': 'valid_calendar_event'}\ncorrect_model_name = 'meta-llama/Llama-4-Scout-17B-16E-Instruct'\n\n @pytest.mark.parametrize(\n \"model\",\n chat_completion_test_cases[\"test_chat_structured_output\"][\"test_params\"][\"model\"],\n )\n @pytest.mark.parametrize(\n \"input_output\",\n chat_completion_test_cases[\"test_chat_structured_output\"][\"test_params\"][\"input_output\"],\n )\n def test_chat_streaming_structured_output(openai_client, input_output, correct_model_name):\n response = openai_client.chat.completions.create(\n model=correct_model_name,\n messages=input_output[\"input\"][\"messages\"],\n response_format=input_output[\"input\"][\"response_format\"],\n stream=True,\n )\n maybe_json_content = \"\"\n for chunk in response:\n> maybe_json_content += chunk.choices[0].delta.content or \"\"\nE IndexError: list index out of range\n\ntests/verifications/openai/test_chat_completion.py:135: IndexError" + }, + "teardown": { + "duration": 0.0008542909054085612, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_structured_output[input_output0-Llama-4-Maverick-17B-128E]", + "lineno": 117, + "outcome": "skipped", + "keywords": [ + "test_chat_streaming_structured_output[input_output0-Llama-4-Maverick-17B-128E]", + "parametrize", + "pytestmark", + "input_output0-Llama-4-Maverick-17B-128E", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.022667833953164518, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 118, 'Skipped: Provider together does not support model Llama-4-Maverick-17B-128E')" + }, + "teardown": { + "duration": 0.0006820419803261757, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_structured_output[input_output0-Llama-4-Maverick-17B-128E-Instruct]", + "lineno": 117, + "outcome": "failed", + "keywords": [ + "test_chat_streaming_structured_output[input_output0-Llama-4-Maverick-17B-128E-Instruct]", + "parametrize", + "pytestmark", + "input_output0-Llama-4-Maverick-17B-128E-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.01285991701297462, + "outcome": "passed" + }, + "call": { + "duration": 0.6888671671040356, + "outcome": "failed", + "crash": { + "path": "/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py", + "lineno": 135, + "message": "IndexError: list index out of range" + }, + "traceback": [ + { + "path": "tests/verifications/openai/test_chat_completion.py", + "lineno": 135, + "message": "IndexError" + } + ], + "longrepr": "openai_client = \ninput_output = {'input': {'messages': [{'content': 'Extract the event information.', 'role': 'system'}, {'content': 'Alice and Bob ar...articipants'], 'title': 'CalendarEvent', 'type': 'object'}}, 'type': 'json_schema'}}, 'output': 'valid_calendar_event'}\ncorrect_model_name = 'meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8'\n\n @pytest.mark.parametrize(\n \"model\",\n chat_completion_test_cases[\"test_chat_structured_output\"][\"test_params\"][\"model\"],\n )\n @pytest.mark.parametrize(\n \"input_output\",\n chat_completion_test_cases[\"test_chat_structured_output\"][\"test_params\"][\"input_output\"],\n )\n def test_chat_streaming_structured_output(openai_client, input_output, correct_model_name):\n response = openai_client.chat.completions.create(\n model=correct_model_name,\n messages=input_output[\"input\"][\"messages\"],\n response_format=input_output[\"input\"][\"response_format\"],\n stream=True,\n )\n maybe_json_content = \"\"\n for chunk in response:\n> maybe_json_content += chunk.choices[0].delta.content or \"\"\nE IndexError: list index out of range\n\ntests/verifications/openai/test_chat_completion.py:135: IndexError" + }, + "teardown": { + "duration": 0.0007953330641612411, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_structured_output[input_output0-gpt-4o]", + "lineno": 117, + "outcome": "skipped", + "keywords": [ + "test_chat_streaming_structured_output[input_output0-gpt-4o]", + "parametrize", + "pytestmark", + "input_output0-gpt-4o", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.015029000001959503, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 118, 'Skipped: Provider together does not support model gpt-4o')" + }, + "teardown": { + "duration": 0.00015666603576391935, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_structured_output[input_output0-gpt-4o-mini]", + "lineno": 117, + "outcome": "skipped", + "keywords": [ + "test_chat_streaming_structured_output[input_output0-gpt-4o-mini]", + "parametrize", + "pytestmark", + "input_output0-gpt-4o-mini", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.00622316705994308, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 118, 'Skipped: Provider together does not support model gpt-4o-mini')" + }, + "teardown": { + "duration": 0.0001533749746158719, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_structured_output[input_output1-Llama-3.3-8B-Instruct]", + "lineno": 117, + "outcome": "skipped", + "keywords": [ + "test_chat_streaming_structured_output[input_output1-Llama-3.3-8B-Instruct]", + "parametrize", + "pytestmark", + "input_output1-Llama-3.3-8B-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.005598834017291665, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 118, 'Skipped: Provider together does not support model Llama-3.3-8B-Instruct')" + }, + "teardown": { + "duration": 0.00013062497600913048, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_structured_output[input_output1-Llama-3.3-70B-Instruct]", + "lineno": 117, + "outcome": "passed", + "keywords": [ + "test_chat_streaming_structured_output[input_output1-Llama-3.3-70B-Instruct]", + "parametrize", + "pytestmark", + "input_output1-Llama-3.3-70B-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.005876541952602565, + "outcome": "passed" + }, + "call": { + "duration": 7.561108374968171, + "outcome": "passed" + }, + "teardown": { + "duration": 0.0004579999949783087, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_structured_output[input_output1-Llama-4-Scout-17B-16E]", + "lineno": 117, + "outcome": "skipped", + "keywords": [ + "test_chat_streaming_structured_output[input_output1-Llama-4-Scout-17B-16E]", + "parametrize", + "pytestmark", + "input_output1-Llama-4-Scout-17B-16E", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.018791542039252818, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 118, 'Skipped: Provider together does not support model Llama-4-Scout-17B-16E')" + }, + "teardown": { + "duration": 0.0004900830099359155, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_structured_output[input_output1-Llama-4-Scout-17B-16E-Instruct]", + "lineno": 117, + "outcome": "failed", + "keywords": [ + "test_chat_streaming_structured_output[input_output1-Llama-4-Scout-17B-16E-Instruct]", + "parametrize", + "pytestmark", + "input_output1-Llama-4-Scout-17B-16E-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.0065952910808846354, + "outcome": "passed" + }, + "call": { + "duration": 2.6826554159633815, + "outcome": "failed", + "crash": { + "path": "/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py", + "lineno": 135, + "message": "IndexError: list index out of range" + }, + "traceback": [ + { + "path": "tests/verifications/openai/test_chat_completion.py", + "lineno": 135, + "message": "IndexError" + } + ], + "longrepr": "openai_client = \ninput_output = {'input': {'messages': [{'content': 'You are a helpful math tutor. Guide the user through the solution step by step.',... ['steps', 'final_answer'], 'title': 'MathReasoning', ...}}, 'type': 'json_schema'}}, 'output': 'valid_math_reasoning'}\ncorrect_model_name = 'meta-llama/Llama-4-Scout-17B-16E-Instruct'\n\n @pytest.mark.parametrize(\n \"model\",\n chat_completion_test_cases[\"test_chat_structured_output\"][\"test_params\"][\"model\"],\n )\n @pytest.mark.parametrize(\n \"input_output\",\n chat_completion_test_cases[\"test_chat_structured_output\"][\"test_params\"][\"input_output\"],\n )\n def test_chat_streaming_structured_output(openai_client, input_output, correct_model_name):\n response = openai_client.chat.completions.create(\n model=correct_model_name,\n messages=input_output[\"input\"][\"messages\"],\n response_format=input_output[\"input\"][\"response_format\"],\n stream=True,\n )\n maybe_json_content = \"\"\n for chunk in response:\n> maybe_json_content += chunk.choices[0].delta.content or \"\"\nE IndexError: list index out of range\n\ntests/verifications/openai/test_chat_completion.py:135: IndexError" + }, + "teardown": { + "duration": 0.0009669580031186342, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_structured_output[input_output1-Llama-4-Maverick-17B-128E]", + "lineno": 117, + "outcome": "skipped", + "keywords": [ + "test_chat_streaming_structured_output[input_output1-Llama-4-Maverick-17B-128E]", + "parametrize", + "pytestmark", + "input_output1-Llama-4-Maverick-17B-128E", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.019489208003506064, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 118, 'Skipped: Provider together does not support model Llama-4-Maverick-17B-128E')" + }, + "teardown": { + "duration": 0.0007419160101562738, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_structured_output[input_output1-Llama-4-Maverick-17B-128E-Instruct]", + "lineno": 117, + "outcome": "failed", + "keywords": [ + "test_chat_streaming_structured_output[input_output1-Llama-4-Maverick-17B-128E-Instruct]", + "parametrize", + "pytestmark", + "input_output1-Llama-4-Maverick-17B-128E-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.012299792026169598, + "outcome": "passed" + }, + "call": { + "duration": 2.829678333015181, + "outcome": "failed", + "crash": { + "path": "/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py", + "lineno": 135, + "message": "IndexError: list index out of range" + }, + "traceback": [ + { + "path": "tests/verifications/openai/test_chat_completion.py", + "lineno": 135, + "message": "IndexError" + } + ], + "longrepr": "openai_client = \ninput_output = {'input': {'messages': [{'content': 'You are a helpful math tutor. Guide the user through the solution step by step.',... ['steps', 'final_answer'], 'title': 'MathReasoning', ...}}, 'type': 'json_schema'}}, 'output': 'valid_math_reasoning'}\ncorrect_model_name = 'meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8'\n\n @pytest.mark.parametrize(\n \"model\",\n chat_completion_test_cases[\"test_chat_structured_output\"][\"test_params\"][\"model\"],\n )\n @pytest.mark.parametrize(\n \"input_output\",\n chat_completion_test_cases[\"test_chat_structured_output\"][\"test_params\"][\"input_output\"],\n )\n def test_chat_streaming_structured_output(openai_client, input_output, correct_model_name):\n response = openai_client.chat.completions.create(\n model=correct_model_name,\n messages=input_output[\"input\"][\"messages\"],\n response_format=input_output[\"input\"][\"response_format\"],\n stream=True,\n )\n maybe_json_content = \"\"\n for chunk in response:\n> maybe_json_content += chunk.choices[0].delta.content or \"\"\nE IndexError: list index out of range\n\ntests/verifications/openai/test_chat_completion.py:135: IndexError" + }, + "teardown": { + "duration": 0.0010418329620733857, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_structured_output[input_output1-gpt-4o]", + "lineno": 117, + "outcome": "skipped", + "keywords": [ + "test_chat_streaming_structured_output[input_output1-gpt-4o]", + "parametrize", + "pytestmark", + "input_output1-gpt-4o", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.016189916990697384, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 118, 'Skipped: Provider together does not support model gpt-4o')" + }, + "teardown": { + "duration": 0.00027966592460870743, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_streaming_structured_output[input_output1-gpt-4o-mini]", + "lineno": 117, + "outcome": "skipped", + "keywords": [ + "test_chat_streaming_structured_output[input_output1-gpt-4o-mini]", + "parametrize", + "pytestmark", + "input_output1-gpt-4o-mini", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.010247125057503581, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 118, 'Skipped: Provider together does not support model gpt-4o-mini')" + }, + "teardown": { + "duration": 0.00023291702382266521, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_tool_calling[input_output0-Llama-3.3-70B-Instruct]", + "lineno": 138, + "outcome": "passed", + "keywords": [ + "test_chat_non_streaming_tool_calling[input_output0-Llama-3.3-70B-Instruct]", + "parametrize", + "pytestmark", + "input_output0-Llama-3.3-70B-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.012632582918740809, + "outcome": "passed" + }, + "call": { + "duration": 0.40774812502786517, + "outcome": "passed" + }, + "teardown": { + "duration": 0.0007319580763578415, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_tool_calling[input_output0-Llama-4-Scout-17B-16E]", + "lineno": 138, + "outcome": "skipped", + "keywords": [ + "test_chat_non_streaming_tool_calling[input_output0-Llama-4-Scout-17B-16E]", + "parametrize", + "pytestmark", + "input_output0-Llama-4-Scout-17B-16E", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.019890791969373822, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 139, 'Skipped: Provider together does not support model Llama-4-Scout-17B-16E')" + }, + "teardown": { + "duration": 0.0006391670322045684, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_tool_calling[input_output0-Llama-4-Scout-17B-16E-Instruct]", + "lineno": 138, + "outcome": "passed", + "keywords": [ + "test_chat_non_streaming_tool_calling[input_output0-Llama-4-Scout-17B-16E-Instruct]", + "parametrize", + "pytestmark", + "input_output0-Llama-4-Scout-17B-16E-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.0178165000397712, + "outcome": "passed" + }, + "call": { + "duration": 0.38229950005188584, + "outcome": "passed" + }, + "teardown": { + "duration": 0.0010000420734286308, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_tool_calling[input_output0-Llama-4-Maverick-17B-128E]", + "lineno": 138, + "outcome": "skipped", + "keywords": [ + "test_chat_non_streaming_tool_calling[input_output0-Llama-4-Maverick-17B-128E]", + "parametrize", + "pytestmark", + "input_output0-Llama-4-Maverick-17B-128E", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.024259291938506067, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 139, 'Skipped: Provider together does not support model Llama-4-Maverick-17B-128E')" + }, + "teardown": { + "duration": 0.0003602079814299941, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_tool_calling[input_output0-Llama-4-Maverick-17B-128E-Instruct]", + "lineno": 138, + "outcome": "passed", + "keywords": [ + "test_chat_non_streaming_tool_calling[input_output0-Llama-4-Maverick-17B-128E-Instruct]", + "parametrize", + "pytestmark", + "input_output0-Llama-4-Maverick-17B-128E-Instruct", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.012425708002410829, + "outcome": "passed" + }, + "call": { + "duration": 0.7610744580160826, + "outcome": "passed" + }, + "teardown": { + "duration": 0.0005935420049354434, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_tool_calling[input_output0-gpt-4o]", + "lineno": 138, + "outcome": "skipped", + "keywords": [ + "test_chat_non_streaming_tool_calling[input_output0-gpt-4o]", + "parametrize", + "pytestmark", + "input_output0-gpt-4o", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.018717541941441596, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 139, 'Skipped: Provider together does not support model gpt-4o')" + }, + "teardown": { + "duration": 0.000659791985526681, + "outcome": "passed" + } + }, + { + "nodeid": "tests/verifications/openai/test_chat_completion.py::test_chat_non_streaming_tool_calling[input_output0-gpt-4o-mini]", + "lineno": 138, + "outcome": "skipped", + "keywords": [ + "test_chat_non_streaming_tool_calling[input_output0-gpt-4o-mini]", + "parametrize", + "pytestmark", + "input_output0-gpt-4o-mini", + "test_chat_completion.py", + "openai", + "verifications", + "tests", + "llama-stack", + "" + ], + "setup": { + "duration": 0.012784749967977405, + "outcome": "skipped", + "longrepr": "('/Users/erichuang/projects/llama-stack/tests/verifications/openai/test_chat_completion.py', 139, 'Skipped: Provider together does not support model gpt-4o-mini')" + }, + "teardown": { + "duration": 0.0002145830076187849, + "outcome": "passed" + } + } + ] +}