#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Tests for compilation output parser.
Tests parse_output function for extracting errors and warnings.
"""
import pytest
pytest.importorskip("git")
from pathlib import Path
from scitex_writer._compile._parser import parse_output
class TestParseOutput:
"""Test suite for parse_output function."""
def test_import(self):
"""Test that parse_output can be imported."""
assert callable(parse_output)
def test_parse_empty_output(self):
"""Test parsing empty output returns empty lists."""
errors, warnings = parse_output("", "")
assert errors == []
assert warnings == []
def test_parse_output_with_no_log_file(self):
"""Test parsing without log file."""
stdout = "Compilation successful"
stderr = ""
errors, warnings = parse_output(stdout, stderr, log_file=None)
assert isinstance(errors, list)
assert isinstance(warnings, list)
def test_parse_output_with_log_file(self):
"""Test parsing with log file path."""
stdout = "Compilation successful"
stderr = ""
log_file = Path("/tmp/test.log")
errors, warnings = parse_output(stdout, stderr, log_file=log_file)
assert isinstance(errors, list)
assert isinstance(warnings, list)
# EOF
if __name__ == "__main__":
import os
import pytest
pytest.main([os.path.abspath(__file__)])