如何进行 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. SPFA最短路

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

  2. Redis队列优先级的实现方案

    场景 通常使用 list 来实现队列操作,所有的任务统一都是先进先出的原则,如果想优先处理某个任务就不太合适,这个时候就需要让队列有优先级的概念,实现方式有以下两种方式: 单一列表实现 队列正常的操作 ...

  3. MVC阶段所有框架完整组合示例

    思路:创建工程,导包.编辑配置文件包括 核心spring配置   SpringConfig myBatis 配置文件  mybatisConfig  JdbcConfig  jdbc.properti ...

  4. Spring事务(三)-事务传播行为

    在Spring里,一个事务方法被另外一个事务方法调用时,两个方法的事务应该如何进行,说白话一点,就是说当出现异常需要回滚时,各个方法的数据操作是否要全部回滚,事务传播行为就是决定了这样的一个处理结果. ...

  5. 定时器之PWM

    void PWM_Init(void) { RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE); RCC_APB2PeriphClockCmd(RC ...

  6. private priv 私人 pri=prim first v=self 自己第一

    private priv 私人 pri=prim first v=self 自己第一 private v自己-私人的 pri 来自PIE*per,向前,穿过 pri = pre 向前(这么理解也说的过 ...

  7. stm32 boot0硬件接法导致的概率性启动失败问题总结和反思

    概要  问题概要,板子在稳压电源上工作很好,可一旦接了电池,stm32就会出现概率性的无法启动.加上项目比较急,这个问题阻塞一直无法量产.真是非常的要命啊. 思路分析  既然是不同的电源会导致这个问题 ...

  8. gulp-imagemin版本9图片压缩

    由于网上大多数的博文已经比较久,参考性不大 版本 gulp PS D:\XXX\github\hexo> gulp -v CLI version: 2.3.0 Local version: 4. ...

  9. day32-JQuery05

    jQuery05 9.作业 9.1homework01 对多选框进行操作,输出选中的多选框的个数,并且把选中爱好的名称显示. <!DOCTYPE html> <html lang=& ...

  10. HISI3520DV300 折腾记录(一)之 《Uboot-Start.S分析 以及 相关启动流程分析》

    PS:要转载请注明出处,本人版权所有. PS: 这个只是基于<我自己>的理解, 如果和你的原则及想法相冲突,请谅解,勿喷. 前置说明   本文作为本人csdn blog的主站的备份.(Bl ...