Skip to content

[CUBRIDQA-1369] run_sql.sh - a new shell for running a single testcase with CTP#757

Open
vimkim wants to merge 3 commits intoCUBRID:developfrom
vimkim:add-run-sql-script
Open

[CUBRIDQA-1369] run_sql.sh - a new shell for running a single testcase with CTP#757
vimkim wants to merge 3 commits intoCUBRID:developfrom
vimkim:add-run-sql-script

Conversation

@vimkim
Copy link

@vimkim vimkim commented Mar 23, 2026

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

요약

ctp.sh sql -c conf(전체 배치 실행)과 ctp.sh sql --interactive(수동 대화형 모드) 사이의 간편한 실행 방식을 제공합니다.

  • CTP/bin/run_sql.sh 추가: ConsoleAgent를 직접 호출하여 단일 SQL 테스트 파일을 실행하는 경량 래퍼 스크립트
  • 사용법: run_sql.sh <sql_file> [db_name] (db_name 기본값: basic)
  • conf 파일 설정이나 interactive 모드 진입 없이 단일 테스트 케이스를 바로 실행 가능
  • AI를 활용한 자동 버그 탐지 워크플로우에서 개별 SQL 테스트를 간편하게 실행하기 위해 개발
image

변경 사항

  • CTP/bin/run_sql.sh: 단일 SQL 파일 실행 스크립트 신규 추가
  • CTP/sql/configuration/Function_Db/testdb_qa.xml: 커스텀 데이터베이스 설정 예제 추가
  • CTP/README.md: run_sql.sh 사용법 및 커스텀 DB 설정 방법 문서 추가

주의사항: 데이터베이스 설정 파일 필요

run_sql.sh는 내부적으로 ConsoleAgent$CTP_HOME/sql/configuration/Function_Db/<db_name>_qa.xml 파일을 참조합니다. 사용하려는 데이터베이스에 해당하는 _qa.xml 파일이 반드시 존재해야 합니다.

기본 제공 데이터베이스: basic (기본값), testdb, kcc, mdb, neis05, neis08, shell

커스텀 데이터베이스를 사용하려면 아래와 같이 XML 파일을 생성하세요:

<!-- $CTP_HOME/sql/configuration/Function_Db/mydb_qa.xml -->
<DefaultTestDB>
  <id>mydb_for_Linux</id>
  <name>mydb</name>
  <dbaPwd></dbaPwd>
  <pubPwd></pubPwd>
  <dburl>jdbc:cubrid:localhost:33000:mydb:::</dburl>
  <dbuser>dba</dbuser>
  <dbpassword></dbpassword>
  <connectionType>DriverManager</connectionType>
  <charSet>UTF-8</charSet>
  <version>Main</version>
  <script>
</script>
</DefaultTestDB>

사용 예시

# 기본 데이터베이스(basic_qa)로 단일 테스트 실행
bin/run_sql.sh /path/to/testcase.sql

# 특정 데이터베이스 지정 (testdb_qa.xml이 존재해야 함)
bin/run_sql.sh /path/to/testcase.sql testdb

필요 환경변수

  • JAVA_HOME: Java 설치 경로
  • CUBRID: CUBRID 설치 경로
  • CTP_HOME: CTP 루트 디렉토리 경로

테스트 계획

  • run_sql.sh test.sql 실행 시 정상적으로 테스트 수행 및 결과 출력 확인
  • run_sql.sh test.sql testdb 실행 시 지정된 데이터베이스 사용 확인
  • 인자 누락 또는 환경변수 미설정 시 적절한 에러 메시지 출력 확인

🤖 Generated with Claude Code

vimkim and others added 2 commits March 24, 2026 01:50
Provides a simple wrapper around ConsoleAgent to run individual SQL
test files without needing interactive mode or a full conf file.

Usage: run_sql.sh <sql_file> [db_name]

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@vimkim vimkim changed the title Add run_sql.sh for running a single SQL test case 단일 SQL 테스트 실행을 위한 run_sql.sh 추가 Mar 23, 2026
@vimkim vimkim changed the title 단일 SQL 테스트 실행을 위한 run_sql.sh 추가 [CUBRIDQA-xxx] run_sql.sh - a new shell for running a single testcase with CTP Mar 23, 2026
- Fix argument validation order (check before readlink)
- Require and export CTP_HOME env var for Java compatibility
- Fix classpath leading colon and unguarded glob issues
- Add testdb_qa.xml as a pre-configured custom database example
- Document custom database setup in README

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@vimkim vimkim requested a review from tw-kang March 23, 2026 17:24
@vimkim vimkim changed the title [CUBRIDQA-xxx] run_sql.sh - a new shell for running a single testcase with CTP [CUBRIDQA-1369] run_sql.sh - a new shell for running a single testcase with CTP Mar 24, 2026
@vimkim
Copy link
Author

vimkim commented Mar 24, 2026

run_sql.sh 라는 이름이 모호하니 CTP_run_single.sh 처럼 이름을 직관적으로 바꾸거나, CTP.sh sql --one 처럼 기존 CTP.sh 에 통합하는 것이 좋을지 의견 부탁드립니다!


정정: basic db 생성부터 삭제까지 모든 워크플로를 자동화한 ctp.sh 와 다르게,
이미 실행중인 cubrid 에서
result / answer 형식의 답안만 뽑아오는 목적이 강하기 때문에, CTP.sh 통합은 목적에 부합하지 않다고 생각합니다.

필요할 시 별도 이슈 처리하겠습니다.

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.

1 participant