如何在 PostgreSQL 中运行 TLS 回归测试
概述
本文将分享一个简单的步骤,介绍如何在 PostgreSQL 中运行 SSL/TLS 回归测试。
Postgres 回归测试
每当我们想要添加新功能或进行修复时,都应该运行 PostgreSQL 提供的测试,以确保没有损坏。如果新功能或修复没有相应的测试,我们应该考虑添加一些,以确保在未来进行其他更改时不会出现问题。PostgreSQL 提供了一份全面的文档,解释了所有可用的测试。
例如,如果您想运行快速回归测试以检查任何“核心”功能是否可能存在问题,可以在构建树的临时安装中运行 make check
,或者针对正在运行的 PostgreSQL 服务器运行 make installcheck
。make check
和 make installcheck
仅会测试 PostgreSQL 服务器的内置功能。要对已选择构建的模块运行所有测试,包括核心测试,您需要运行 make check-world
或 make installcheck-world
,分别对应于构建树中的临时安装或正在运行的 PostgreSQL 服务器。然而,某些功能在运行 make check-world
或 make installcheck-world
时仍然不会被测试,例如与安全相关的功能、SSL、Kerberos 等。原因之一是这些测试用例需要一些特殊设置。要对这些功能运行回归测试,如文档所述,您需要运行类似 make check-world PG_TEST_EXTRA='kerberos ldap ssl load_balance'
的测试。
运行 SSL/TLS 回归测试
要运行与 SSL/TLS 相关功能的回归测试,首先需要编译启用了 SSL 库的 PostgreSQL。例如,运行以下命令将使用 OpenSSL 库编译 PostgreSQL:
git clone https://github.com/postgres/postgres.git cd postgres ./configure --prefix=/tmp/pgapp --enable-tap-tests CC="gcc -std=gnu99" --with-openssl make -j make check-world
如果 make check-world
没问题,那么您可以通过检查 src/test/ssl/tmp_check/log
中的日志来确认是否已执行 SSL/TLS 回归测试。
$ cat * [11:27:05.488](0.021s) 1..0 # SKIP Potentially unsafe test SSL not enabled in PG_TEST_EXTRA [11:27:05.584](0.011s) 1..0 # SKIP Potentially unsafe test SSL not enabled in PG_TEST_EXTRA [11:27:05.671](0.011s) 1..0 # SKIP Potentially unsafe test SSL not enabled in PG_TEST_EXTRA
日志显示,所有三个 SSL/TLS 回归测试(001_ssltests.pl、002_scram.pl 和 003_sslinfo.pl)都已被跳过。
换句话说,如果您的修复与 SSL/TLS 相关,但您仅在修复上运行 make check-world
,则可能会破坏某些 SSL/TLS 功能。要使用现有的回归测试用例测试与 SSL/TLS 相关的功能,您需要使用以下命令运行 SSL/TLS 测试:
cd src/test/ssl make check PG_TEST_EXTRA=ssl
预期结果类似于以下内容:
# +++ tap check in src/test/ssl +++ t/001_ssltests.pl .. ok t/002_scram.pl ..... ok t/003_sslinfo.pl ... ok All tests successful. Files=3, Tests=247, 11 wallclock secs ( 0.05 usr 0.00 sys + 2.01 cusr 1.59 csys = 3.65 CPU) Result: PASS
然后,您应该在 src/test/ssl/tmp_check/log
中看到如下日志,包含更多详细信息。
$ ls -l total 164 -rw------- 1 david david 82348 Apr 19 11:39 001_ssltests_primary.log -rw------- 1 david david 12408 Apr 19 11:39 002_scram_primary.log -rw------- 1 david david 16402 Apr 19 11:39 003_sslinfo_primary.log -rw-rw-r-- 1 david david 30451 Apr 19 11:39 regress_log_001_ssltests -rw-rw-r-- 1 david david 4921 Apr 19 11:39 regress_log_002_scram -rw-rw-r-- 1 david david 3880 Apr 19 11:39 regress_log_003_sslinfo
如果仔细查看日志,您可能会发现许多消息包含 certificate
,如下所示。
$ cat tmp_check/log/* | grep certificate ... [11:39:27.633](0.000s) ok 31 - cert root file that contains two certificates, order 2: no stderr [11:39:27.717](0.027s) ok 36 - connect with sslcertmode=require fails without a client certificate [11:39:27.717](0.000s) ok 37 - connect with sslcertmode=require fails without a client certificate: matches [11:39:27.882](0.028s) ok 48 - mismatch between host name and server certificate sslmode=require ...
如何生成 SSL/TLS 证书
然后,您可能会有疑问,比如:“证书来自哪里?”以及“证书是如何生成的?”
实际上,所有证书都是通过 src/test/ssl
目录下的 Makefile
生成的,并作为测试用例的一部分提交到 PostgreSQL。通常情况下,除非您有一些需要新证书或不同证书的更改,否则不需要重新生成它们。然后,您可以运行以下命令:
make sslfiles-clean make sslfiles
之后,如果您运行 git status
,您应该会发现 src/test/ssl/ssl
目录下的所有文件都已被更改。这时,如果您运行之前的命令 make check PG_TEST_EXTRA=ssl
,那么它应该会使用新生成的证书进行回归测试。我要在这里提到证书的原因是,证书在 SSL/TLS 回归测试中扮演着非常重要的角色。
总结
本文描述了运行 SSL/TLS 相关回归测试的简单过程。您可以参考此过程对 Kerberos、LDAP 等进行类似的回归测试。 > 本文由博客一文多发平台 OpenWrite 发布!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
LLM增强语义嵌入的模型算法综述
导读 语义嵌入是自然语言处理、信息检索、推荐系统等领域的核心技术,对于精准捕捉文本深层次语义信息至关重要。近年来,大语言模型(LLM)的兴起为语义嵌入技术开拓了新的方向。本文介绍了LLM在提升语义嵌入效果的最新模型与算法,聚焦在如何利用LLM生成合成数据以及如何作为模型骨干来优化语义嵌入。文章概述了当前研究的主要方向和先进成果,展示了LLM在学习语义嵌入方面的独特优势,并展望了其在搜索、推荐等下游任务的广阔应用前景。 01 背景介绍 1.1 语义嵌入 文本语义嵌入,作为将文本映射到语义空间的关键技术,通过将原本高维且稀疏的向量转化为低维稠密向量,实现了对单词、句子乃至整个文档深层次语义信息的精确捕捉。这一技术在信息检索、问答系统、文本相似度计算及推荐系统等自然语言处理(NLP)的诸多任务中展现出广泛的应用价值。 早期语义嵌入方法,诸如 Word2vec 和 GloVe,主要基于统计特性构建,然而,这些方法受限于其静态性,难以充分捕捉自然语言复杂多变的上下文信息。随后,BERT 及其衍生的一系列上下文敏感模型(如 RoBERTa、DistilBERT、ALBERT 等)应运而生,通过独特...
- 下一篇
STEM 领域男女比例严重失衡,亚太地区情况更糟糕
“参加各个比赛或技术大会,我是‘万绿丛中一点红’,很少遇到女性比较多的情况。” “总体来说技术人员还是以男性为多。” “在数据库这个底层领域,女性研发人员确实很少。” “我在四家公司工作过,每家公司的男女比例都差不多,有时女性甚至多一点。” “我们团队有十几个人,只有三个女性。” 3月8日,开源中国OSCHINA 的直播节目《数智漫谈》谈到了女性在技术领域中的从业情况,5名该领域的职业女性参与了讨论。 (微信扫码,查看直播回放) 祝欣荣是上海杉达学院的副教授,从事计算机教学工作20余年。一直都在跟踪新技术,将教学与科研结合,从数据通信到5G技术,再到Java和微服务,四年前开始专注于鸿蒙开发。她刚刚结束一场 ICT (信息和通讯技术)领域的教学比赛。像这样的比赛,以及在技术岗位、技术会议上,参与人员都呈现明显的性别差异,绝大多数是男性,鲜少遇到女性从业者集中的场景。 郝立芳与祝欣荣的观点一致:“基本上做技术的都是以男士为主。”郝立芳在科技领域有数十年的工作经验——在《深圳特区科技》杂志社工作近 20 年,曾任副社长总经理兼总编,后来发起成立深圳市科技传播促进会,并担任秘书长。 缪翎是P...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8安装Docker,最新的服务器搭配容器使用
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7安装Docker,走上虚拟化容器引擎之路
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS8编译安装MySQL8.0.19