蜕变测试过程

下面命令在 RedHat Linux v 4.2 上用 bash shell 测试过.除了注明的外,它们应该可以在大多数系统上工作.象 pstar 这样的命令在不同平台上的参数可能有较大的不同.根据常识 使用这些命令.
Postgres 蜕变测试
    用下面命令制作蜕变测试所需要的文件:
                cd /usr/src/pgsql/src/test/regress
                gmake clean
                gmake all
    如果是你第一次运行测试,你不需要键入 "gmake clean" .如果这是你第一次运行蜕变测试,你可以忽略 "gmake clean".

    这个步骤把一个带有 PostgreSQL 的 C 程序编译成共享库.本地化的 SQL 脚本和输出比较文件同样也为测试而创建.本地化把源文件里的宏替换为绝对路径名和用户名.

    如果你想使用"串行"测试过程(它测试一个已经安装的 postmaster),先确保 postmaster 已经运行了,可以在一个窗口里键入

                postmaster
    或者通过键入下面命令把 postmaster 守护运行在后台
                cd
                nohup postmaster > regress.log 2>&1 &
    后者可能更好一些,因为蜕变测试日志将会相当长( 在下Postgres 7.0 里,60K左右),如果出错了,你可以查看这些日志.
    注意:不要以 root 身份运行 postmaster.
    运行蜕变测试.对于串行测试,键入
                cd /usr/src/pgsql/src/test/regress
                gmake runtest
    对于并行测试,键入
                cd /usr/src/pgsql/src/test/regress
                gmake runcheck
    串行测试使用你的已经在运行的 postmaster 运行测试脚本.并行测试将进行一次完整的 Postgres安装,把 postgres 安装到一个临时目录里,然后在那里运行一个自己的 postmaster,再运行测试脚本.最后它会卸载自己的 postmaster (不过临时目录不会自动删除).

    你将在屏幕上(和输出文件 ./regress.out)获取一系列标明哪项测试通过和那些失败的输出.请注意因为平台相关的变化,有些测试"失败"是很正常的.参阅下一节获取关于那些失败是真正重要的描述.

    有些测试,尤其是 "numeric",可能要花相当长的时间,尤其是在慢的平台上.请保持耐心.

    在测试和检查结果完成后,键入

                cd /usr/src/pgsql/src/test/regress
                gmake clean
    以回收测试使用的临时磁盘空间,如果你运行了一个串行测试,还要键入
                dropdb regression