PG自动化测试
安装软件包
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文件
PG自动化测试的更多相关文章
- Auty自动化测试框架第五篇——框架内部的调用支持、自动化安装库与配置说明
[本文出自天外归云的博客园] 本次对Auty自动化测试框架做些收尾工作,由于在scripts文件夹中的脚本会需要调用其他包结构文件夹中的脚本,所以这里需要添加一下框架对于内部脚本间互相调用的支持,这里 ...
- selenium + python 自动化测试环境搭建
selenium + python 自动化测试 —— 环境搭建 关于 selenium Selenium 是一个用于Web应用程序测试的工具.Selenium测试直接运行在浏览器中,就像真正的用户在操 ...
- Selenium自动化测试,接口自动化测试开发,性能测试从入门到精通
Selenium自动化测试,接口自动化测试开发,性能测试从入门到精通Selenium接口性能自动化测试基础部分:分层自动化思想Slenium介绍Selenium1.0/2.0/3.0Slenium R ...
- 使用gtest自动化测试并给出性能测试结果(windows 版本,版本平台也可以使用,但并没有做完整的测试)
/************************************************************* *使用gtest自动化测试 * ********************* ...
- 避免重复造轮子的UI自动化测试框架开发
一懒起来就好久没更新文章了,其实懒也还是因为忙,今年上半年的加班赶上了去年一年的加班,加班不息啊,好了吐槽完就写写一直打算继续的自动化开发 目前各种UI测试框架层出不穷,但是万变不离其宗,驱动PC浏览 ...
- python自动化测试(2)-自动化基本技术原理
python自动化测试(2) 自动化基本技术原理 1 概述 在之前的文章里面提到过:做自动化的首要本领就是要会 透过现象看本质 ,落实到实际的IT工作中就是 透过界面看数据. 掌握上面的这样的本领 ...
- 简析服务端通过GT导入SHP至PG的方法
文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1.背景 项目中需要在浏览器端直接上传SHP后服务端进行数据的自动入PG ...
- AutoIt实现Webdriver自动化测试文件上传
在运用WebDriver进行自动化测试时,由于WebDriver自身的限制,对于上传文件时Windows弹出的文件选择窗口无法控制,通过在网上查找资料锁定使用AutoIt来控制文件上传窗口. Auto ...
- 手机GUI自动化测试工具选择
(Graphical User Interface,简称 GUI,又称图形用户接口) 我们需要针对自身产品的需求,从中选取一款合适的工具来实现自动化.对于移动客户端GUI的自动化而言,需要保证选取的工 ...
随机推荐
- Android 3.0 r1 API中文文档(108) —— ExpandableListAdapter
前言 本章内容是android.widget.ExpandableListAdapter,版本为Android 3.0 r1,翻译来自"深夜未眠",欢迎访问它的博客:" ...
- UVA-1660 Cable TV Network (最小割)
题目大意:给一张n个点.m条边的无向图,求最小点割集的基数. 题目分析:求无向图最小点割集的基数可以变成求最小割.考虑单源s单汇t的无向图,如果要求一个最小点集,使得去掉这个点集后图不再连通(连通分量 ...
- UVA-10779 Collectors Problem (网络流建模)
题目大意:有n个人,已知每人有ki个糖纸,并且知道每张糖纸的颜色.其中,Bob希望能和同伴交换使得手上的糖纸数尽量多.他的同伴只会用手上的重复的交换手上没有的,并且他的同伴们之间不会产生交换.求出Bo ...
- PHP:第五章——字符串加密及校验函数
<?php header("Content-Type:text/html;charset=utf-8"); //1.md5——计算字符中的散列值 //对一段信息(Messag ...
- Eclipse Oxygen SVN Connector Setup
新版的Eclipse(Oxygen)安装完Subversive后,现时无法自动安装SVN Connector,无论选择哪个都会自动关闭. 解决方法: Help -> Install New So ...
- MYeclipes项目导入导出
导入: 右键,import,
- Alpha冲刺一 (8/10)
前言 队名:拖鞋旅游队 组长博客:https://www.cnblogs.com/Sulumer/p/10023260.html 作业博客:https://edu.cnblogs.com/campus ...
- SOA实践指南-读书笔记
SOA是英文Service-Oriented Architecture,即面向服务架构的缩写. SOA是一种范式,目的是增强灵活性.SOA很适宜处理复杂的分布式系统. SOA方法接受异质(不同的平台, ...
- python 读写西门子PLC 包含S7协议和Fetch/Write协议,s7支持200smart,300PLC,1200PLC,1500PLC
本文将使用一个gitHub开源的组件技术来读写西门子plc数据,使用的是基于以太网的TCP/IP实现,不需要额外的组件,读取操作只要放到后台线程就不会卡死线程,本组件支持超级方便的高性能读写操作 nu ...
- 最佳C/C++编辑器 source insight3
C/C++嵌入式代码编辑器source insight3下载地址 http://www.sourceinsight.com/eval.html 注册码:SI3US-361500-17409