如何跑各种check
如何进行 Fastcheck?
首先,导入环境变量:
export CODE_BASE=/data/openGauss-server
export BINARYLIBS=/data/openGauss-third_party_binarylibs
export GAUSSHOME=$CODE_BASE/dest/
export GCC_PATH=$BINARYLIBS/buildtools/openeuler_aarch64/gcc7.3/
export CC=$GCC_PATH/gcc/bin/gcc
export CXX=$GCC_PATH/gcc/bin/g++
export LD_LIBRARY_PATH=$GAUSSHOME/lib:$GCC_PATH/gcc/lib64:$GCC_PATH/isl/lib:$GCC_PATH/mpc/lib/:$GCC_PATH/mpfr/lib/:$GCC_PATH/gmp/lib/:$LD_LIBRARY_PATH
export PATH=$GAUSSHOME/bin:$GCC_PATH/gcc/bin:$PATH
需要准备好的文件有:testname.sql 和 testname.out; 第一步:将 testname.sql 放入/src/test/regress/sql 路径下,同时将 testname.out 放入/src/test/regress/expected 路径下。 Tip1:执行完本步后,需要注意两个问题: (1) 文件权限问题,相关命令关键字:chmod,chown; (2) 文件格式问题,相关命令关键字:dos2unix。 第二步:在/src/test/regress/parallel_schedule0 中添加你的测试用例: test:testname 第三步:进入源码根目录进行 configure:
./configure --gcc-version=7.3.0 CC=g++ CFLAGS='-O0' --prefix=$GAUSSHOME --3rd=$BINARYLIBS --enable-debug --enable-cassert --enable-thread-safety --with-readline --without-zlib
第四步:在源码根目录下编译及安装 make -sj make install –sj 第五步:在/src/test/regress 目录下执行语句: make fastcheck_single 经验技巧: 1.如何确定期望输出:对于期望输出,如果你的测试用例的输出是确定的,那么一个最简单的方法就是先创建一个 parallel_scheduleYYY 的临时文件,里面只包含你要添加的测试用例,然后运行一次 make fastcheck_single,这样得到的 diffs 中就包含是你的期望输出。
如何进行 memcheck?
memcheck 并不是一个新的 check,只是编译 openGauss 时,编译一个 memcheck 版的,然后通过跑 fastcheck_single 来发现代码中的内存问题。 编译方式和编译普通的 openGauss 基本一致,只是在 configure 时,添加一个 --enable-memory-check 参数,编译出来的就是 memcheck 版本的 openGauss。
./configure --gcc-version=7.3.0 CC=g++ CFLAGS='-O0' --prefix=$GAUSSHOME --3rd=$BINARYLIBS --enable-debug --enable-cassert --enable-thread-safety --with-readline --without-zlib --enable-memory-check
跑 memcheck 之前,需要设置环境变量:
ulimit -v unlimited
设置完环境变量后,正常跑 fastcheck_single 即可,跑完后,会在 ~/memchk/asan/路径下生成文件名为 runlog.xxx 的 memcheck 报告。根据 memcheck 报告分析是否有内存问题。如何分析 memcheck 报告可自行网上搜索 memcheck 报告分析、asan 报告分析等关键字。
如何进行 hacheck?
hacheck 是对 openGauss 主备功能进行测试的 check,openGauss 的编译方式同 fastcheck,编译完成后,进入 src/test/ha目录,修改 standby_env.sh 文件,在文件最前面新增一行
export prefix=$GAUSSHOME
脚本中将尝试通过 ifconfig 命令获取本机 IP,如果本机网卡的名称不是 eth0、eth1、ens4f0、enp2s0f0、enp2s0f1、enp125s0f0 之一的话,获取 IP 将失败,此时可以在
enp125s0f0=/sbin/ifconfig enp125s0f0|sed -n 2p |awk '{ print $2 }'
的下面手动添加本机 IP 地址:
enp125s0f0=/sbin/ifconfig enp125s0f0|sed -n 2p |awk '{ print $2 }'
eth0ip=...```
配置好脚本后,执行 hacheck 脚本:
sh run_ha_multi_single.sh
sh run_ha_single.sh
运行是否成功会在屏幕打印 ok/failed,运行日志在 src/test/ha/results目录下。
如何进行发布订阅的 check?
发布订阅是 openGauss 实现集群间数据实时同步的一个关键特性,由于该特性的测试需要部署多个集群,因此有独立的测试目录。openGauss 的编译方式同 fastcheck,编译完成后,进入src\test\subscription目录,执行
make check p={port} dbcompatibility={dbcompatibility}
port 参数指定运行的端口号,默认取值是 25800,该 check 会部署两个一主两备的集群,端口分别是 port、port+3、port+6、port+9、port+12 和 port+15。dbcompatibility 参数指定 database 的兼容性,默认取值是 A,可选范围是 A、B、C、PG。运行是否成功会在屏幕打印 ok/failed,运行日志在src\test\subscription\results目录下,创建的数据库目录在src\test\subscription\tmp_check目录下。
如何跑各种check的更多相关文章
- Pintos-斯坦福大学操作系统Project详解-Project1
转载请注明出处. 前言: 本实验来自斯坦福大学cs140课程,只限于教学用途,以下是他们对于Pintos系统的介绍: Pintos is a simple operating system fra ...
- 【CF125E】MST Company(凸优化,最小生成树)
[CF125E]MST Company(凸优化,最小生成树) 题面 洛谷 CF 题解 第一眼看见就给人丽洁姐那道\(tree\)一样的感觉. 那么二分一个权值,加给所有有一个端点是\(1\)的边, 然 ...
- THUWC2019 划水记
Day -2 在学校呆了inf天之后终于回家了! Day 0 在家无(tui)所(fei)事(mo)事(yu),顺便被拉出去剪了个头发,想写写thusc2017的题也写不动,一直在网上冲浪,到处乱翻以 ...
- BZOJ4753: [Jsoi2016]最佳团体(分数规划+树上背包)
BZOJ4753: [Jsoi2016]最佳团体(分数规划+树上背包) 标签:题解 阅读体验 BZOJ题目链接 洛谷题目链接 具体实现 看到分数和最值,考虑分数规划 我们要求的是一个\(\dfrac{ ...
- 题解 y
传送门 考场上写的记忆化不够快--和暴力一个分 如果题面里有提到类似「从点1出发」的字样,特别注意点1根本就没有连边的情况 这题写记忆化的时候是想搜出所有可能的组合, 那么对于一个点u,剩余深度为d时 ...
- android中实现跑马灯效果以及AutoCompleteTestView与MultiAutoCompleteTextView的学习
跑马灯效果 1.用过属性的方式实现跑马灯效果 属性: android:singleLine="true" 这个属性是设置TextView文本中文字 ...
- LYK 快跑!(LYK别打我-)(话说LYK是谁)
LYK 快跑!(run) Time Limit:5000ms Memory Limit:64MB 题目描述 LYK 陷进了一个迷宫! 这个迷宫是网格图形状的. LYK 一开始在(1,1)位置, 出口在 ...
- C++程序在debug模式下遇到Run-Time Check Failure #0 - The value of ESP was not properly saved across a function call问题。
今天遇到一个Access Violation的crash,只看crash call stack没有找到更多的线索,于是在debug模式下又跑了一遍,遇到了如下的一个debug的错误提示框: 这个是什么 ...
- rails跑通第一个demo
rails -h 查看帮助 Usage: rails new APP_PATH [options] Options: -r, [--ruby=PATH] # Path to the Ruby bina ...
- OpenRisc-34-ORPSoC跑eCos实验
引言 ORPSoC目前支持好几种OS,除了前面一直介绍的linux,还支持eCos,eCos是RTOS,如果你的系统对时间的要求比较高,那eCos会是一个不错的选择. 本小节就简单介绍一下,在ORPS ...
随机推荐
- 【Azure 应用服务】使用Docker Compose创建App Service遇见"Linux Version is too long. It cannot be more than 4000 characters"错误
问题描述 使用Docker Compose方式合并多个镜像(Images)文件,然后部署到App Service中,结果失败.报错 Linux Version 太长,不能超过4000个字符. 错误消息 ...
- 【Azure API 管理】是否可以将Swagger 的API定义导入导Azure API Management中
问题描述 是否可以将Swagger 的API定义导入导Azure API Management中? 操作步骤 是的,可以通过APIM门户导入单个的API Swagger定义文件.具体步骤如下: 第一步 ...
- 数据安全刻不容缓,国产智能化厂商首获SOC 2鉴证报告有何意义?
数据安全刻不容缓,国产智能化厂商首获SOC 2鉴证报告有何意义? 了解SOC 2与ISO 27001的区别,你就知道SOC 2对智能自动化厂商的意义了 文/王吉伟 要问当前组织对于数字化转型的最大顾虑 ...
- SPFA最短路
目录 从Bellman-Ford开始 核心思想 模拟算法执行过程 时间复杂度 模板 spfa spfa优化的思想 模板 从Bellman-Ford开始 对于所有边权都大于等于0的图,任意两个顶点之间的 ...
- CF1362C Johnny and Another Rating Drop(二进制、复杂度考虑)
看完数据范围\(n\in[1,1e18]\)就可以先猜一下要不是可以直接推公式,不能暴力去做,更不能遍历一遍,又看到这种2进制的题目,要猜是不是\(log\)级别的复杂度. 可以依次考虑每一位 \(所 ...
- Git 常用的基础命令
#克隆项目到本地.url:项目的git地址:local_dir_name:克隆项目到本地的目录名称,如果不写就默认是git项目中的目录名称 git clone <url> <loca ...
- Ubuntu 离线安装软件包
Ubuntu 离线安装软件包 关键词:apt-offline,Ubuntu,dpkg,.deb 本文使用的ubuntu20.04,当机器无法连接外网时,我们使用离线的方式安装软件包. 离线安装的软件包 ...
- 安卓开发Android Studio新版本menu菜单不显示的问题
在新版本的Android Studio 直接配置菜单会显示不出来,新版本新建菜单经节如下: activity_main.xml(布局文件): <?xml version="1.0& ...
- 借助 Terraform 功能协调部署 CI/CD 流水线-Part 2
在第一部分的文章中,我们介绍了3个步骤,完成了教程的基础配置: 使用 Terraform 创建 AWS EKS Infra 在 EKS 集群上部署 ArgoCD 及其依赖项 设置 Bitbucket ...
- RCC & GPIO库函数&传感器输入
RCC: Reset and Clock Control,即复位和时钟控制. 一般在.h文件的末尾都是一些函数声明,RCC常用的三个函数(外设时钟控制,没有时钟外设不工作): void RCC_A ...