본문 바로가기

Korean_Angr/Introductory Errata

[Angr 공식문서] Angr 기여 방법

버그 보고

만약 angr에 버그가 나타난다면, 우리에게 알려주세요!

 

1. angr/바이너리와 angr/agr의 fork를 만드세요.

2. 우리에게 angr/바이너리와 바이너리를 pull requet를 보내십시요.

3. angr/tests/broken_x.py, angr/tests/broken_y.py 등의 바이너리를 작동시키는 테스트케이스를 포함한 angr/angr에 대한 pull request를 보내십시요.

 

우리가 서술한 테스트케이스를 따라주세요. 그러면 저희가 쉽게 합칠 수 있고 script를 실행시킬 수 있습니다.

예를들면:

1
2
3
4
5
6
7
def test_some_broken_feature():
    p = angr.Project("some_binary")
    result = p.analyses.SomethingThatDoesNotWork()
    assert result == "what it should *actually* be if it worked"
 
if __name__ == '__main__':
    test_some_broken_feature()
cs

이것은 우리가 버그 수정하는데 있어서 아주 큰 도움이 될 것입니다.

버그가 고쳐지면 당신의 testcase는 통과됩니다. 가장 이상적인 상황이죠.

그러면, 우리는 버그를 고치고, broken_x.py를 test_x.py로 이름을 바꾸고 그 테스트케이스는 내부 CI에서 실행되며, 이 기능이 손상되지 않도록 보장합니다.

 

(추가예정)

'Korean_Angr > Introductory Errata' 카테고리의 다른 글

[Angr 공식문서] 1. 설치  (0) 2019.11.03