博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PG自动化测试
阅读量:4492 次
发布时间:2019-06-08

本文共 1655 字,大约阅读时间需要 5 分钟。

安装软件包

yum groupinstall "Development Tools"

yum install zlib-devel tcl-devel readline-devel python-devel perl-devel openssl-devel openldap-devel libxml2-devel libxslt-devel libuuid-devel krb5-devel pam-devel perl-ExtUtils-Embed

yum install vim yum-utils docbook-dtds docbook-style-dsssl docbook-style-xsl openjade jadetex

 

使用PG源码

使用非root用户对源码进行编译

./configure --prefix=`pwd`/install --with-perl --with-python --with-tcl --enable-nls --with-gssapi --with-openssl --with-pam --with-ldap --with-libxml --with-libxslt --with-uuid=e2fs --with-extra-version=SRTEST --enable-debug --enable-profiling --enable-cassert --enable-depend

make 1>x 2>&1  输出重定向,x重定向到x文件,可以没有

make install

 

回归测试

在src/test/regress目录下

Make check  测试时需要初始化数据库集群     

使用parallel执行,默认为20个并发脚本,就有40个进程:一个服务器进程,每一个脚本一个psql进程,修改make MAX_CONNECTIONS=10 check

Or

Make installcheck  使用以及启动的数据库集群测试,不需要初始化数据库集群(连接运行库)

运行的时候执行sql下面的sql语句,将结果放在results目录下面,然后和expect目录下的语气结果对比,如果有错误发生,运行结束会有信息提示,并且不一致的具体放在regression.diffs文件中,在regression.out文件中具体显示在那个位置不一致

 

如果你配置PostgreSQL安装到一个原来安装有老版本 PostgreSQL的目录里,然后在安装新版本之前执行make check, 那么你可能发现测试失败,因为新程序试图使用已经存在的共享库,典型的症状是抱怨未定义的符号。 如果你想在覆盖老版本之前运行测试,那么你需要使用configure --disable-rpath进行编译

 

在postgre根目录下运行

同时测试主代码以及contrib的代码

Make check-world

Or

Make installcheck-world

运行的时候,如果出错了,比如回归测试部分出错,直接结束运行,并且返回错误信息,不会继续往下运行

 

  • 在sql/目录下加入自做成的test  case的sql脚本。
  • 在expected/目录下加入自做成test case的sql脚本的正确结果。需要注意的是,由于判断是使用diff命令,因此即使空格符也会导致diff的结果失败。所以,做成expected目录下的结果文件需要十分注意。
  • 在parallel_schedule/ serial_schedule文件中添加调用sql脚本

一般在schedule文件中不执行sql,(可能是因为这些SQL脚本可能对平台的依赖比较严重,所以没有放到默认的测试中)使用EXTRA_TESTS来执行

Make check EXTRA_TESTS=random  执行random.sql文件

转载于:https://www.cnblogs.com/hellowcf/p/6861659.html

你可能感兴趣的文章
【共读Primer】51.[6.3]返回类型和return语句--列表初始化返回值 Page203
查看>>
第一次作业
查看>>
是否需要有代码规范
查看>>
SQL*Plus 系统变量之14 - DEF[INE]
查看>>
桥叔时间
查看>>
耦合内聚封装
查看>>
qbxt联赛集训d1t3
查看>>
vprintf 和 vsnpintf 的用法
查看>>
201671030108 +词频统计软件项目报告
查看>>
CDOJ 1135 邱老师看电影 概率dp
查看>>
Android编译系统中的Android.bp【转】
查看>>
linux字符设备学习笔记【原创】
查看>>
UnzipUtil
查看>>
2012 Multi-University Training Contest 1
查看>>
实验三
查看>>
如何解决mysql中读取含表情符号的内容无法识别的问题
查看>>
PAT 1002 写出这个数 (20) (Basic Level)
查看>>
UVA 10564 Paths through the Hourglass
查看>>
URAL 1024 Permutations
查看>>
linux 安装软件步骤
查看>>