Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[CUBRIDQA-1242] Add sort option on compare_result_between_files method #692

Merged
merged 3 commits into from
Dec 30, 2024

Conversation

tw-kang
Copy link
Contributor

@tw-kang tw-kang commented Dec 18, 2024

http://jira.cubrid.org/browse/CUBRIDQA-1242

Usage:
compare_result_between_files file1 file2 [error | sort]

sort 옵션 사용시,
file1 과 file2 의 내용을 linux sort 를 통하여 정렬후 비교.
내용의 순서와 관계없이 검증해야되는 케이스에서는 옵션사용 필요.

@sjkimxxx
Copy link
Contributor

sort 와 error 를 같이 사용하고자 하는 경우를 고려해야 하지 않을까요?

@tw-kang
Copy link
Contributor Author

tw-kang commented Dec 23, 2024

sort 와 error 를 같이 사용하고자 하는 경우를 고려해야 하지 않을까요?

해당부분 반영하였습니다.

@sjkimxxx
Copy link
Contributor

@swi0110 , @ssihil
의견 부탁드립니다.
sort 는 출력되는 데이터를 재 구성하는 작업으로 볼 수 있을 것 같습니다.
format_csql_output 과 같이 특정 출력을 포맷팅하려면 별도의 함수를 만들어서 사용하는 거나
그렇지 않다면 sort 를 TC 내에서 사용 후 compare 를 하도록 처리하는 것은 어떨까요?
compare_result_between_files 은 비교만 하는 기능으로 단정한다면,
비교 대상 파일의 내용이 변경이 발생하는 것에 대한 의문이 있네요.

예)
sort .... a.txt
compare_result_between_files a.txt a.answer

혹은 함수를 만들어서 ( sort 시 특정 출력값에 대한 포맷팅이 필요한 경우가 있다면 )
sort_output a.txt
compare_result_between_files a.txt a.answer

@swi0110
Copy link
Contributor

swi0110 commented Dec 27, 2024

@sjkimxxx
format_csql_output의 경우를 고려해서, sort 함수를 별도로 호출한 후, compare하는 것도 바람직해 보입니다.
이 경우, 지금 구현한 내용처럼 '정렬되지 않은 기존 답지와 테스트 결과를 보존하고, 재정렬된 파일간의 compare를 수행하는 방향이 더 좋을 것 같습니다.

ex:
sort_output a.txt sort_a.txt # a.txt를 정렬한 후 sort_a.txt로 저장
sort_output a.answer sort_answer.txt # a.answer를 정렬한 후 sort_answer.txt로 저장
compare_result_between_files sort_a.txt sort_answer.txt

@tw-kang
Copy link
Contributor Author

tw-kang commented Dec 27, 2024

@sjkimxxx , @swi0110
usage 에 명시해 놓았듯이 내용의 순서와 상관없이 compare 해야하는 케이스 만을 대상으로 사용하기 위해 구현되었습니다.
현재 존재하는 답지의 변경을 최소화 하기 위해 답안 조차 sort 하는 방식으로 만들었고,
제안해주신 sort 를 별도 함수로 만드는 방향으로 구현 한다면 기존 답지를 다시 수정을 해야하는 상황이 되어버립니다.

예시는 아래와 같습니다.

현재 상황
compare_between_files a.log a.answer

  • a.log - 출력 순서가 바뀜
  • a.answer - 출력이 기존 순서대로 존재
  • 내용은 동일할때 순서에 의해 NOK

수정후
compare_between_files a.log a.answer sort

  • a.log - 출력후 내부적으로 _sort file 생성
  • a.answer - 내부적으로 _sort file 생성
  • 비교 하면 내용이 동일하고 순서도 동일하므로 OK

sort 를 함수로 만들경우
sort_output a.log
compare_between_files a.log a_sort.answer

  • tc 수정시 sort_output 함수 추가 필요
  • 기존 a.anwer 사용불가
  • a_sort.answer 생성필요

수정을 덜 하고자해서 만든기능인데, 답지 재생성, 함수 적용 등과 같이 부수적인 일이 더 많아지는 현상이 생깁니다.

@tw-kang tw-kang merged commit add46cf into CUBRID:develop Dec 30, 2024
1 check passed
@tw-kang tw-kang deleted the cubridqa-1242 branch December 30, 2024 08:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants