35 lines
889 B
Python
35 lines
889 B
Python
import json
|
|
import subprocess
|
|
from pathlib import Path
|
|
|
|
ROOT = Path(__file__).resolve().parents[1]
|
|
|
|
|
|
def test_ide_metadata_lists_current_typed_function_keywords():
|
|
result = subprocess.run(
|
|
["python3", "tools/validate_ide_metadata.py"],
|
|
cwd=ROOT,
|
|
text=True,
|
|
stdout=subprocess.PIPE,
|
|
stderr=subprocess.STDOUT,
|
|
)
|
|
|
|
assert result.returncode == 0, result.stdout
|
|
assert result.stdout.strip() == "IDE metadata validation OK"
|
|
|
|
|
|
def test_ide_metadata_is_valid_json_with_keyword_list():
|
|
result = subprocess.run(
|
|
["./claro", "ide"],
|
|
cwd=ROOT,
|
|
text=True,
|
|
stdout=subprocess.PIPE,
|
|
stderr=subprocess.STDOUT,
|
|
check=True,
|
|
)
|
|
metadata = json.loads(result.stdout)
|
|
|
|
assert "RETURNS" in metadata["keywords"]
|
|
assert "CHECK" in metadata["keywords"]
|
|
assert "TYPE" in metadata["keywords"]
|