如何进行 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的更多相关文章

  1. Pintos-斯坦福大学操作系统Project详解-Project1

    转载请注明出处. 前言:  本实验来自斯坦福大学cs140课程,只限于教学用途,以下是他们对于Pintos系统的介绍:  Pintos is a simple operating system fra ...

  2. 【CF125E】MST Company(凸优化,最小生成树)

    [CF125E]MST Company(凸优化,最小生成树) 题面 洛谷 CF 题解 第一眼看见就给人丽洁姐那道\(tree\)一样的感觉. 那么二分一个权值,加给所有有一个端点是\(1\)的边, 然 ...

  3. THUWC2019 划水记

    Day -2 在学校呆了inf天之后终于回家了! Day 0 在家无(tui)所(fei)事(mo)事(yu),顺便被拉出去剪了个头发,想写写thusc2017的题也写不动,一直在网上冲浪,到处乱翻以 ...

  4. BZOJ4753: [Jsoi2016]最佳团体(分数规划+树上背包)

    BZOJ4753: [Jsoi2016]最佳团体(分数规划+树上背包) 标签:题解 阅读体验 BZOJ题目链接 洛谷题目链接 具体实现 看到分数和最值,考虑分数规划 我们要求的是一个\(\dfrac{ ...

  5. 题解 y

    传送门 考场上写的记忆化不够快--和暴力一个分 如果题面里有提到类似「从点1出发」的字样,特别注意点1根本就没有连边的情况 这题写记忆化的时候是想搜出所有可能的组合, 那么对于一个点u,剩余深度为d时 ...

  6. android中实现跑马灯效果以及AutoCompleteTestView与MultiAutoCompleteTextView的学习

    跑马灯效果 1.用过属性的方式实现跑马灯效果 属性:                  android:singleLine="true" 这个属性是设置TextView文本中文字 ...

  7. LYK 快跑!(LYK别打我-)(话说LYK是谁)

    LYK 快跑!(run) Time Limit:5000ms Memory Limit:64MB 题目描述 LYK 陷进了一个迷宫! 这个迷宫是网格图形状的. LYK 一开始在(1,1)位置, 出口在 ...

  8. 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的错误提示框: 这个是什么 ...

  9. rails跑通第一个demo

    rails -h 查看帮助 Usage: rails new APP_PATH [options] Options: -r, [--ruby=PATH] # Path to the Ruby bina ...

  10. OpenRisc-34-ORPSoC跑eCos实验

    引言 ORPSoC目前支持好几种OS,除了前面一直介绍的linux,还支持eCos,eCos是RTOS,如果你的系统对时间的要求比较高,那eCos会是一个不错的选择. 本小节就简单介绍一下,在ORPS ...

随机推荐

  1. 【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个字符. 错误消息 ...

  2. 【Azure API 管理】是否可以将Swagger 的API定义导入导Azure API Management中

    问题描述 是否可以将Swagger 的API定义导入导Azure API Management中? 操作步骤 是的,可以通过APIM门户导入单个的API Swagger定义文件.具体步骤如下: 第一步 ...

  3. 数据安全刻不容缓,国产智能化厂商首获SOC 2鉴证报告有何意义?

    数据安全刻不容缓,国产智能化厂商首获SOC 2鉴证报告有何意义? 了解SOC 2与ISO 27001的区别,你就知道SOC 2对智能自动化厂商的意义了 文/王吉伟 要问当前组织对于数字化转型的最大顾虑 ...

  4. SPFA最短路

    目录 从Bellman-Ford开始 核心思想 模拟算法执行过程 时间复杂度 模板 spfa spfa优化的思想 模板 从Bellman-Ford开始 对于所有边权都大于等于0的图,任意两个顶点之间的 ...

  5. CF1362C Johnny and Another Rating Drop(二进制、复杂度考虑)

    看完数据范围\(n\in[1,1e18]\)就可以先猜一下要不是可以直接推公式,不能暴力去做,更不能遍历一遍,又看到这种2进制的题目,要猜是不是\(log\)级别的复杂度. 可以依次考虑每一位 \(所 ...

  6. Git 常用的基础命令

    #克隆项目到本地.url:项目的git地址:local_dir_name:克隆项目到本地的目录名称,如果不写就默认是git项目中的目录名称 git clone <url> <loca ...

  7. Ubuntu 离线安装软件包

    Ubuntu 离线安装软件包 关键词:apt-offline,Ubuntu,dpkg,.deb 本文使用的ubuntu20.04,当机器无法连接外网时,我们使用离线的方式安装软件包. 离线安装的软件包 ...

  8. 安卓开发Android Studio新版本menu菜单不显示的问题

    在新版本的Android Studio   直接配置菜单会显示不出来,新版本新建菜单经节如下: activity_main.xml(布局文件): <?xml version="1.0& ...

  9. 借助 Terraform 功能协调部署 CI/CD 流水线-Part 2

    在第一部分的文章中,我们介绍了3个步骤,完成了教程的基础配置: 使用 Terraform 创建 AWS EKS Infra 在 EKS 集群上部署 ArgoCD 及其依赖项 设置 Bitbucket ...

  10. RCC & GPIO库函数&传感器输入

    RCC: Reset and Clock Control,即复位和时钟控制.   一般在.h文件的末尾都是一些函数声明,RCC常用的三个函数(外设时钟控制,没有时钟外设不工作): void RCC_A ...