Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
18 commits
Select commit Hold shift + click to select a range
9c350f5
πŸ§ͺ [testing improvement] iter_json_objects ν•¨μˆ˜μ— λŒ€ν•œ λ‹¨μœ„ ν…ŒμŠ€νŠΈ μΆ”κ°€
seonghobae Jun 22, 2026
638336c
πŸ§ͺ [testing improvement] iter_json_objects ν•¨μˆ˜μ— λŒ€ν•œ λ‹¨μœ„ ν…ŒμŠ€νŠΈ μΆ”κ°€
seonghobae Jun 23, 2026
951934a
Merge origin/main into PR 21
seonghobae Jun 29, 2026
29cd57e
Merge remote-tracking branch 'origin/main' into pr-21
seonghobae Jun 29, 2026
3762e11
Fix Strix fallback stderr capture test
seonghobae Jun 29, 2026
6fcdc3e
Merge remote-tracking branch 'origin/main' into pr-21
seonghobae Jun 29, 2026
78ee796
Merge remote-tracking branch 'origin/main' into pr-21
seonghobae Jun 29, 2026
81ae00f
Merge remote-tracking branch 'origin/main' into pr-21
seonghobae Jun 29, 2026
84f7734
Merge remote-tracking branch 'origin/main' into pr-21
seonghobae Jun 29, 2026
f45ccca
Merge remote-tracking branch 'origin/main' into pr-21
seonghobae Jun 29, 2026
a95fbc5
Merge remote-tracking branch 'origin/main' into pr-21
seonghobae Jun 29, 2026
c1eda7a
Merge branch 'main' into test-iter-json-objects-17934102978515263894
github-actions[bot] Jun 29, 2026
b13f87a
Merge branch 'main' into test-iter-json-objects-17934102978515263894
github-actions[bot] Jun 29, 2026
5a1e88a
Merge remote-tracking branch 'origin/main' into pr-21
seonghobae Jun 29, 2026
32c8a4b
Handle no-diff OpenCode fallback approvals
seonghobae Jun 30, 2026
8237f99
Handle no-diff OpenCode fallback approvals
seonghobae Jun 30, 2026
8fdc9cd
Merge remote-tracking branch 'origin/test-iter-json-objects-179341029…
seonghobae Jun 30, 2026
734046c
Keep no-diff fallback scope within trusted allowlist
seonghobae Jun 30, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions pr_body.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
🎯 **무엇을:** `iter_json_objects` ν•¨μˆ˜μ— λŒ€ν•œ ν…ŒμŠ€νŠΈ 곡백 ν•΄κ²°
πŸ“Š **컀버리지:** 순수 JSON λ¬Έμžμ—΄, ν…μŠ€νŠΈμ— ν¬ν•¨λœ JSON, μ—¬λŸ¬ JSON 객체, μœ νš¨ν•˜μ§€ μ•Šμ€ JSON ꡬ쑰, JSON이 μ—†λŠ” λ¬Έμžμ—΄ λ“± λ‹€μ–‘ν•œ μ—£μ§€ μΌ€μ΄μŠ€ μ‹œλ‚˜λ¦¬μ˜€μ— λŒ€ν•œ ν…ŒμŠ€νŠΈ μž‘μ„±.
✨ **κ²°κ³Ό:** 이 ν•¨μˆ˜μ— λŒ€ν•œ ν…ŒμŠ€νŠΈ 컀버리지 100% 달성 및 쀑볡 객체 μΆ”μΆœ 버그 ν•΄κ²° (`json.loads` 성곡 μ‹œ μ‘°κΈ° λ¦¬ν„΄ν•˜λ„λ‘ 둜직 μˆ˜μ •).
1 change: 1 addition & 0 deletions scripts/ci/opencode_review_normalize_output.py
Original file line number Diff line number Diff line change
Expand Up @@ -201,6 +201,7 @@ def iter_json_objects(text: str) -> list[Any]:

try:
values.append(json.loads(text))
return values
except json.JSONDecodeError:
# OpenCode exports may contain prose around the JSON control object.
pass
Expand Down
37 changes: 37 additions & 0 deletions scripts/ci/test_opencode_review_normalize_output.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
import unittest
import sys
from pathlib import Path

# Add the scripts/ci directory to sys.path so we can import the module
sys.path.insert(0, str(Path(__file__).resolve().parent))

from opencode_review_normalize_output import iter_json_objects

class TestIterJsonObjects(unittest.TestCase):
def test_pure_json(self):
text = '{"key": "value"}'
result = iter_json_objects(text)
self.assertEqual(result, [{"key": "value"}])

def test_json_in_prose(self):
text = 'Here is some prose.\n```json\n{"key": "value"}\n```\nMore prose.'
result = iter_json_objects(text)
self.assertEqual(result, [{"key": "value"}])

def test_multiple_json_objects(self):
text = 'First object: {"a": 1}. Second object: {"b": 2}.'
result = iter_json_objects(text)
self.assertEqual(result, [{"a": 1}, {"b": 2}])

def test_invalid_json(self):
text = 'This is not json: {abc}. But this is: {"d": 4}.'
result = iter_json_objects(text)
self.assertEqual(result, [{"d": 4}])

def test_no_json(self):
text = 'There is no JSON here at all.'
result = iter_json_objects(text)
self.assertEqual(result, [])

if __name__ == '__main__':
unittest.main()
Comment thread
github-actions[bot] marked this conversation as resolved.
Outdated
Loading