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

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

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

第 26 章 回归测试

摘要

回归测试的说明与分析。

PostgreSQL 回归测试是对由 Jolly Chen 和 Andrew Yu 开发的、嵌入在 PostgreSQL 中的 SQL 实现的一套全面测试。它既测试标准 SQL 操作,也测试 PostgreSQL 的扩展能力。

这些测试最近由 Marc Fournier 和 Thomas Lockhart 修订,现在被打包为功能单元,这应当使它们更易于运行、更易于解读。从 PostgreSQL v6.1 起,回归测试对每个正式发行版都是最新的。

某些安装正确且功能完备的 PostgreSQL 安装可能会因浮点表示和时区支持的特有问题而在其中一些回归测试上失败。这些测试目前是用一种简单的 "diff" 算法来评估的,对细微的系统差异很敏感。对于表面上失败的测试,检查差异可能会发现这些差异并不重要。

下面的回归测试说明假定以下条件(除非另有说明):

  • 命令是 Unix 兼容的。见下面的说明。

  • 除非另有说明,均使用默认值。

  • 用户 postgres 是 Postgres 超级用户。

  • 源代码路径是 /usr/src/pgsql(其他路径也是可能的)。

  • 运行时路径是 /usr/local/pgsql(其他路径也是可能的)。

26.1. 回归测试环境

回归测试由 make 命令调用,该命令把一个 C 程序编译成当前目录中的一个共享库。当前目录中还会创建本地化的 shell 脚本。输出文件模板被整理成 ./expected/*.out 文件。本地化会把源文件中的宏替换为绝对路径名和用户名。

通常,回归测试应当以 pg_superuser 运行,因为 'src/test/regress' 目录及其子目录为 pg_superuser 所有。如果你以其他用户运行回归测试,那么 'src/test/regress' 目录树应当可被该用户写入。

postmaster 应当在系统时区设置为加利福尼亚州伯克利的情况下调用。回归测试脚本会自动完成这项设置。但是,它确实要求机器支持 PST8PDT 时区。

要验证你的机器确实支持这一点,请键入:

    setenv TZ PST8PDT
    date

上面的 "date" 命令应当以 PST8PDT 时区返回当前系统时间。如果 PST8PDT 数据库不可用,你的系统可能返回的是 GMT 时间。如果 PST8PDT 时区不可用,你可以显式设置时区规则:

    setenv PGTZ PST8PDT7,M04.01.0,M10.05.03

提交更正

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