↑↓ 选择 ↵ 打开 ⌫ 改范围 完整检索页

pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。

不受支持的版本: 7.0 / 6.4
历史版本PostgreSQL 7.0 已于 2005 年 5 月结束社区维护,本页译文保留供仍在使用旧版本的读者参考。新系统请看当前版本手册首页。

34.2. 回归测试过程

这些命令是在使用 bash shell 的 RedHat Linux 4.2 版上测试的。除非另有说明,它们在大多数系统上可能都能工作。像 ps 和 tar 这样的命令在各个平台上应使用的选项差异极大。键入这些命令之前请运用常识。

Postgres 回归测试

  1. 准备回归测试所需的文件:

          cd /usr/src/pgsql/src/test/regress
                gmake clean
                gmake all
              
    

    如果这是你第一次运行测试,可以跳过 "gmake clean"。

    这一步会把一个带有 PostgreSQL 扩展函数的 C 程序编译成共享库。还会为需要本地化的测试创建本地化的 SQL 脚本和输出比较文件。本地化会把源文件中的宏替换为绝对路径名和用户名。

  2. 如果你打算使用测试已安装 postmaster 的 "sequential"(顺序)测试过程,请确保 postmaster 正在运行。如果它还没有运行,在一个可用的窗口中键入以下命令启动 postmaster

          postmaster
              
    

    或者键入以下命令让 postmaster 守护进程在后台运行

          cd
                nohup postmaster > regress.log 2>&1 &
              
    

    后者可能更可取,因为回归测试日志会相当长(在 Postgres 7.0 中约 60K),如果出现问题,你可能想查看它以寻找线索。

    注意

    不要从 root 账户运行 postmaster。

  3. 运行回归测试。对于顺序测试,键入

          cd /usr/src/pgsql/src/test/regress
                gmake runtest
              
    

    对于并行测试,键入

          cd /usr/src/pgsql/src/test/regress
                gmake runcheck
              
    

    顺序测试只是使用你已经在运行的 postmaster 运行测试脚本。并行测试会把 Postgres 完整安装到一个临时目录, 在其中启动一个私有 postmaster,然后运行测试脚本。最后它会杀掉这个私有 postmaster(但临时目录不会被自动删除)。

  4. 你应当在屏幕上(同时也写入文件 ./regress.out)看到一系列说明哪些测试通过、哪些测试失败的语句。请注意,由于平台相关的变化,某些测试"失败"可能是正常的。关于如何判断一个"失败"是否重要,详见下一节。

    某些测试,特别是 "numeric",可能需要一段时间,尤其是在较慢的平台上。请保持耐心。

  5. 运行测试并检查结果后,键入

          cd /usr/src/pgsql/src/test/regress
                gmake clean
              
    

    以回收测试使用的临时磁盘空间。如果你运行的是顺序测试,还要键入

          dropdb regression
              
    

提交更正

译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。