如何进行 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. DataGear 自定义数据可视化图表

    DataGear内置了很多常用的图表(折线图.柱状图.饼图.散点图.雷达图.地图等等),能满足大部分数据可视化需求,当内置图表无法满足时,则可以通过自定义图表或插件的方式,实现特定业务的数据可视化需求 ...

  2. 【Azure Developer】在使用中国区 Azure AD B2C时, AUTHORITY的值是什么呢?

    问题描述 使用MSAL4J的SDK调用(源码地址:https://github.com/Azure-Samples/ms-identity-msal-java-samples/tree/main/3. ...

  3. 8、zookeeper的集群搭建

    完全配置--https://zookeeper.apache.org/doc/r3.4.14/zookeeperAdmin.html#sc_zkMulitServerSetup https://zoo ...

  4. mybaits 笔记2022年8月学习笔记

    mybatis整理 前期准备 安装必要依赖: idea开发mybatis,如果学习测试,可以在一个直接建一个空白项目,如果是用spring boot,则建议用用boot的安装捆绑方式 核 心依赖 or ...

  5. css移动端开发

    ​ 移动端浏览器主要对webkit内核兼容,现在的移动端主要针对手机端开发,移动端碎片化比较严重,分辨率和屏幕尺寸不一 调试方法 谷歌浏览器模拟手机调试 搭建本地web服务器,手机和服务器在同一个局域 ...

  6. Rancher 2.5.x 证书过期报错 x509: certificate has expired or is not yet valid 解决方案

    Rancher 的证书过期会出现什么状况?不可以继续通过Rancher UI访问你的集群 查看Rancher Server日志报错:x509: certificate has expired or i ...

  7. (模板)Manacher算法:线性时间求字符串内回文子串的数量

    已通过leetcode647:https://leetcode-cn.com/problems/palindromic-substrings/ void get_d(vector<int> ...

  8. 在 NVIDIA DGX Cloud 上使用 H100 GPU 轻松训练模型

    在 NVIDIA DGX Cloud上使用 H100 GPU 轻松训练模型 今天,我们正式宣布推出 DGX 云端训练 (Train on DGX Cloud) 服务,这是 Hugging Face H ...

  9. 记录--产品:请给我实现一个在web端截屏的功能!

    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 一.故事的开始 最近产品又开始整活了,本来是毫无压力的一周,可以小摸一下鱼的,但是突然有一天跟我说要做一个在网页端截屏的功能. 作为一个工 ...

  10. 记录--手把手教你,用electron实现截图软件

    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 背景 因为我们日常开发项目的时候,需要和同事对接api和文档还有UI图,所以有时候要同时打开多个窗口,并在多个窗口中切换,来选择自己要的信 ...