安装软件包

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自动化测试的更多相关文章

  1. Auty自动化测试框架第五篇——框架内部的调用支持、自动化安装库与配置说明

    [本文出自天外归云的博客园] 本次对Auty自动化测试框架做些收尾工作,由于在scripts文件夹中的脚本会需要调用其他包结构文件夹中的脚本,所以这里需要添加一下框架对于内部脚本间互相调用的支持,这里 ...

  2. selenium + python 自动化测试环境搭建

    selenium + python 自动化测试 —— 环境搭建 关于 selenium Selenium 是一个用于Web应用程序测试的工具.Selenium测试直接运行在浏览器中,就像真正的用户在操 ...

  3. Selenium自动化测试,接口自动化测试开发,性能测试从入门到精通

    Selenium自动化测试,接口自动化测试开发,性能测试从入门到精通Selenium接口性能自动化测试基础部分:分层自动化思想Slenium介绍Selenium1.0/2.0/3.0Slenium R ...

  4. 使用gtest自动化测试并给出性能测试结果(windows 版本,版本平台也可以使用,但并没有做完整的测试)

    /************************************************************* *使用gtest自动化测试 * ********************* ...

  5. 避免重复造轮子的UI自动化测试框架开发

    一懒起来就好久没更新文章了,其实懒也还是因为忙,今年上半年的加班赶上了去年一年的加班,加班不息啊,好了吐槽完就写写一直打算继续的自动化开发 目前各种UI测试框架层出不穷,但是万变不离其宗,驱动PC浏览 ...

  6. python自动化测试(2)-自动化基本技术原理

    python自动化测试(2) 自动化基本技术原理 1   概述 在之前的文章里面提到过:做自动化的首要本领就是要会 透过现象看本质 ,落实到实际的IT工作中就是 透过界面看数据. 掌握上面的这样的本领 ...

  7. 简析服务端通过GT导入SHP至PG的方法

    文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1.背景 项目中需要在浏览器端直接上传SHP后服务端进行数据的自动入PG ...

  8. AutoIt实现Webdriver自动化测试文件上传

    在运用WebDriver进行自动化测试时,由于WebDriver自身的限制,对于上传文件时Windows弹出的文件选择窗口无法控制,通过在网上查找资料锁定使用AutoIt来控制文件上传窗口. Auto ...

  9. 手机GUI自动化测试工具选择

    (Graphical User Interface,简称 GUI,又称图形用户接口) 我们需要针对自身产品的需求,从中选取一款合适的工具来实现自动化.对于移动客户端GUI的自动化而言,需要保证选取的工 ...

随机推荐

  1. Kotlin中的object 与companion object的区别

    之前写了一篇Kotlin中常量和静态方法的文章,最近有人提出一个问题,在companion object中调用外部的成员变量会调用不到,这才意识到问题,本篇文章会带着这个疑问来解决问题. 一. obj ...

  2. node中session的管理

    请看这个博客:   http://spartan1.iteye.com/blog/1729148 我自己的理解 session俗称会话. 第一次访问服务器的时候由服务器创建,相当于一个cookie(就 ...

  3. 使用Bootstrap插件datapicker获取时间

    引入css和js <link rel="stylesheet" href="/${appName}/commons/css/datapicker/datepicke ...

  4. IOS-网络(文件上传)

    // // ViewController.m // IOS_0206_文件上传 // // Created by ma c on 16/2/6. // Copyright © 2016年 博文科技. ...

  5. tintColor 与 UIImage.renderingMode 渲染

    在iOS7中,UIView新增了一个属性tintColor.这是一个UIColor,被使用在UIView中改变应用程序的外观的.默认tintColor的值为nil,这表示它将会运用父视图层次的颜色来进 ...

  6. start-stop-daemon自动启动、关闭后台程序参数传递

    /************************************************************************* * start-stop-daemon自动启动.关 ...

  7. jenkins执行shell命令,有时会提示“Command not found”

    这个问题其实就是环境变量没有配准确 (1)检查你在Jenkins中设置的maven是否准确,可以通过[new job]按钮查看新建job中是否有maven选项,没有就是你配置的不准确 如果你下载的插件 ...

  8. ssh的时候提示No user exists for uid 501

    原来是oh my zash升级导致的.关闭iterm2然后重新打开iterm2就可以了

  9. ACM学习历程—HDU2476 String painter(动态规划)

    http://acm.hdu.edu.cn/showproblem.php?pid=2476 题目大意是给定一个起始串和一个目标串,然后每次可以将某一段区间染成一种字符,问从起始串到目标串最少需要染多 ...

  10. graphql-binding openapi 集成demo

    类似的将openapi 转换为graphql api 的也有 https://github.com/yarax/swagger-to-graphql 基本项目 参考代码 https://github. ...