Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Xiaomi
soar
提交
fe9fd349
S
soar
项目概览
Xiaomi
/
soar
大约 2 年 前同步成功
通知
467
Star
8513
Fork
1329
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
S
soar
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
fe9fd349
编写于
1月 08, 2019
作者:
X
xiyangxixian
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
update bats test by Becivells
上级
d5708af2
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
191 addition
and
8 deletion
+191
-8
test/env.bats
test/env.bats
+17
-0
test/fixture/test_Run_default_printconfig_cases.golden
test/fixture/test_Run_default_printconfig_cases.golden
+125
-0
test/main.bats
test/main.bats
+37
-8
test/other.bats
test/other.bats
+4
-0
test/query.bats
test/query.bats
+8
-0
未找到文件。
test/env.bats
0 → 100644
浏览文件 @
fe9fd349
#!/usr/bin/env bats
load test_helper
@test "Simple Query Optimizer" {
${SOAR_BIN_ENV} -query "select * from film where length > 120" | grep -v "散粒度" > ${BATS_TMP_DIRNAME}/${BATS_TEST_NAME}.golden
run golden_diff ${BATS_TEST_NAME}
[ $status -eq 0 ]
}
@test "Run all test cases" {
${SOAR_BIN} -list-test-sqls | ${SOAR_BIN_ENV} | grep -v "散粒度" > ${BATS_TMP_DIRNAME}/${BATS_TEST_NAME}.golden
run golden_diff ${BATS_TEST_NAME}
[ $status -eq 0 ]
}
test/fixture/test_Run_default_printconfig_cases.golden
0 → 100644
浏览文件 @
fe9fd349
online-dsn:
user: ""
password: '********'
net: tcp
addr: 127.0.0.1:3306
schema: information_schema
charset: utf8
collation: utf8_general_ci
loc: UTC
tls: ""
server-public-key: ""
maxallowedpacket: 4194304
params:
charset: utf8
timeout: 0
read-timeout: 0
write-timeout: 0
allow-native-passwords: true
allow-old-passwords: false
disable: false
test-dsn:
user: ""
password: '********'
net: tcp
addr: 127.0.0.1:3306
schema: information_schema
charset: utf8
collation: utf8_general_ci
loc: UTC
tls: ""
server-public-key: ""
maxallowedpacket: 4194304
params:
charset: utf8
timeout: 0
read-timeout: 0
write-timeout: 0
allow-native-passwords: true
allow-old-passwords: false
disable: false
allow-online-as-test: false
drop-test-temporary: true
cleanup-test-database: false
only-syntax-check: false
sampling-statistic-target: 100
sampling: false
sampling-condition: ""
profiling: false
trace: false
explain: true
delimiter: ;
log-level: 3
log-output: /tmp/soar.log
report-type: markdown
report-css: ""
report-javascript: ""
report-title: SQL优化分析报告
markdown-extensions: 94
markdown-html-flags: 0
ignore-rules:
- COL.011
rewrite-rules:
- delimiter
- orderbynull
- groupbyconst
- dmlorderby
- having
- star2columns
- insertcolumns
- distinctstar
blacklist: ""
max-join-table-count: 5
max-group-by-cols-count: 5
max-distinct-count: 5
max-index-cols-count: 5
max-text-cols-count: 2
max-total-rows: 9999999
max-query-cost: 9999
spaghetti-query-length: 2048
allow-drop-index: false
max-in-count: 10
max-index-bytes-percolumn: 767
max-index-bytes: 3072
allow-charsets:
- utf8
- utf8mb4
allow-collates: []
allow-engines:
- innodb
max-index-count: 10
max-column-count: 40
max-value-count: 100
index-prefix: idx_
unique-key-prefix: uk_
max-subquery-depth: 5
max-varchar-length: 1024
column-not-allow-type:
- boolean
min-cardinality: 0
explain-sql-report-type: pretty
explain-type: extended
explain-format: traditional
explain-warn-select-type:
- ""
explain-warn-access-type:
- ALL
explain-max-keys: 3
explain-min-keys: 0
explain-max-rows: 10000
explain-warn-extra:
- Using temporary
- Using filesort
explain-max-filtered: 100
explain-warn-scalability:
- O(n)
show-warnings: false
show-last-query-cost: false
query: ""
list-heuristic-rules: false
list-rewrite-rules: false
list-test-sqls: false
list-report-types: false
verbose: false
dry-run: true
max-pretty-sql-length: 1024
test/main.bats
100755 → 100644
浏览文件 @
fe9fd349
...
@@ -2,19 +2,48 @@
...
@@ -2,19 +2,48 @@
load test_helper
load test_helper
@test "Simple Query Optimizer" {
@test "Test soar version" {
${SOAR_BIN_ENV} -query "select * from film where length > 120" | grep -v "散粒度" > ${BATS_TMP_DIRNAME}/${BATS_TEST_NAME}.golden
run ${SOAR_BIN} -version
run golden_diff ${BATS_TEST_NAME}
[ "$status" -eq 0 ]
[ $status -eq 0 ]
[ "${lines[0]%% *}" == "Version:" ]
[ "${lines[1]%% *}" == "Branch:" ]
[ "${lines[2]%% *}" == "Compile:" ]
echo $output|grep "Compile: $(date +'%Y-%m-%d')" # 检查版本是否为当天编译的
}
}
@test "
Syntax Check
" {
@test "
No arguments prints message
" {
run ${SOAR_BIN}
-query "select * frm film" -only-syntax-check
run ${SOAR_BIN}
[ $status -eq 1 ]
[ $status -eq 1 ]
[ "${lines[0]}" == 'Args format error, use --help see how to use it!' ]
}
}
@test "Run
all test
cases" {
@test "Run
default printconfig
cases" {
${SOAR_BIN} -
list-test-sqls | ${SOAR_BIN_ENV} | grep -v "散粒度"
> ${BATS_TMP_DIRNAME}/${BATS_TEST_NAME}.golden
${SOAR_BIN} -
print-config -log-output=/tmp/soar.log
> ${BATS_TMP_DIRNAME}/${BATS_TEST_NAME}.golden
run golden_diff ${BATS_TEST_NAME}
run golden_diff ${BATS_TEST_NAME}
[ $status -eq 0 ]
[ $status -eq 0 ]
}
}
@test "Check config cases" {
run ${SOAR_BIN_ENV} -check-config
[ $status -eq 0 ]
[ -z ${output} ]
}
@test "Syntax Check OK" {
run ${SOAR_BIN} -query "select * from film" -only-syntax-check
[ $status -eq 0 ]
[ -z $ouput ]
}
@test "Syntax Check Error" {
run ${SOAR_BIN} -query "select * frm film" -only-syntax-check
[ $status -eq 1 ]
[ -n $ouput ]
}
test/other.bats
0 → 100644
浏览文件 @
fe9fd349
#!/usr/bin/env bats
load test_helper
test/query.bats
0 → 100644
浏览文件 @
fe9fd349
#!/usr/bin/env bats
load test_helper
@test "Simple Query Optimizer" {
run ${SOAR_BIN} -query "select * from film where length > 120"
[ $status -eq 0 ]
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录