ltp-ddt 加入sram 需要修改的部分
./platform/fmxx-psoc-db
add sram
将nor部分移植过来
# @name NOR read write test using dd
# @desc Perform NOR eraseall first, then do read write and then compare
# @requires nor
# The partition number is specified in get_mtd_partition_number.sh
# erase_size as buffer size
NOR_S_FUNC_DD_RW_JFFS2_ERASESIZE_0001 source 'common.sh'; part=`get_mtd_partition_number.sh "nor"` || die "error getting mtd part number: $part"; size=`get_mtd_erase_size.sh "$part"` || die "error getting mtd erase size: $size"; blk_device_dd_readwrite_test.sh -f "jffs2" -b "$size" -c 10 -d "nor"
# partial mtd size as count
NOR_L_FUNC_DD_RW_JFFS2_BIGSIZE_0001 source 'common.sh'; part=`get_mtd_partition_number.sh "nor"` || die "error getting mtd part number: $part"; size=`get_mtd_size.sh "$part"` || die "error getting mtd size: $size"; size=$(( $size/MB )); do_cmd blk_device_dd_readwrite_test.sh -f "jffs2" -b "1M" -c "$size" -d "nor"
1.
->get_mtd_erase_size.sh
->get_mtd_biggest_part
->in mtd_common.sh find_part_type
before
find_part_type() {
PART=$1
MTD_DEV="mtdblock$PART"
if [[ -e /sys/class/mtd/mtd$PART/type ]]; then
TYPE=`cat /sys/class/mtd/mtd$PART/type`
if [[ $TYPE == 'nand' ]]; then
PART_TYPE='nand'
else
if [[ `ls /sys/class/mtd/mtd$PART/device/driver/ | grep 'flash'` ]]; then
PART_TYPE="nor"
elif [[ `ls /sys/class/mtd/mtd$PART/device/driver/ | grep 'qspi'` ]];then
PART_TYPE="qspi"
elif [[ `ls /sys/class/mtd/mtd$PART/device/driver/ | grep 'ospi'` ]];then
PART_TYPE="qspi"
elif [[ `ls /sys/class/mtd/mtd$PART/device/driver/ | grep 'spi'` ]];then
if [[ `cat /proc/mtd |grep -E "mtd$PART |mtd${PART}: "|grep -i qspi ` ]];then
PART_TYPE="qspi"
else
PART_TYPE="spi"
fi
else
die "/sys/class/mtd/mtd$PART/device/driver doesn't exist"
fi
fi
else
die "/sys/class/mtd/mtd$PART/type doesn't exist"
fi
echo $PART_TYPE
}
after
find_part_type() {
PART=$1
MTD_DEV="mtdblock$PART"
if [[ -e /sys/class/mtd/mtd$PART/type ]]; then
TYPE=`cat /sys/class/mtd/mtd$PART/type`
if [[ $TYPE == 'nand' ]]; then
PART_TYPE='nand'
else
if [[ `ls /sys/class/mtd/mtd$PART/device/driver/ | grep 'flash'` ]]; then
PART_TYPE="nor"
elif [[ `ls /sys/class/mtd/mtd$PART/device/driver/ | grep 'qspi'` ]];then
PART_TYPE="qspi"
elif [[ `ls /sys/class/mtd/mtd$PART/device/driver/ | grep 'ospi'` ]];then
PART_TYPE="qspi"
elif [[ `ls /sys/class/mtd/mtd$PART/device/driver/ | grep 'sram'` ]];then
PART_TYPE="sram"
elif [[ `ls /sys/class/mtd/mtd$PART/device/driver/ | grep 'spi'` ]];then
if [[ `cat /proc/mtd |grep -E "mtd$PART |mtd${PART}: "|grep -i qspi ` ]];then
PART_TYPE="qspi"
else
PART_TYPE="spi"
fi
else
die "/sys/class/mtd/mtd$PART/device/driver doesn't exist"
fi
fi
else
die "/sys/class/mtd/mtd$PART/type doesn't exist"
fi
echo $PART_TYPE
}
2.
->blk_device_dd_readwrite_test.sh
->get_blk_device_node.sh
->get_device_type_map.sh
before
if [ $DEVICE_TYPE = "nand" ] || [ $DEVICE_TYPE = "nor" ] || [ $DEVICE_TYPE = "spi" ] || [ $DEVICE_TYPE = "qspi" ] ; then
DEV_TYPE="mtd"
fi
after
if [ $DEVICE_TYPE = "nand" ] || [ $DEVICE_TYPE = "nor" ] || [ $DEVICE_TYPE = "spi" ] || [ $DEVICE_TYPE = "qspi" ] || [ $DEVICE_TYPE = "sram" ]; then
DEV_TYPE="mtd"
fi
3.
->blk_device_dd_readwrite_test.sh
->blk_device_prepare_format.sh
->blk_device_do_mount.sh
before
case $DEV_TYPE in
mtd)
fs_to_try="jffs2:ubifs"
;;
*)
fs_to_try="vfat:ext3:ext4:ext2"
;;
esac
after
case $DEV_TYPE in
mtd)
case $DEVICE_TYPE in
sram)
fs_to_try="ramfs"
;;
*)
fs_to_try="jffs2:ubifs"
;;
esac
;;
*)
fs_to_try="vfat:ext3:ext4:ext2"
;;
esac
4.
sram_perf_ramfs
before
#do_cmd blk_device_umount.sh -n "$DEV_NODE" -d "$DEVICE_TYPE" -f "$FS_TYPE"
do_cmd blk_device_umount.sh -m "$MNT_POINT"
do_cmd "echo 3 > /proc/sys/vm/drop_caches"
#do_cmd "mount -t $FS_TYPE -o $MNT_MODE $DEV_NODE $MNT_POINT"
do_cmd blk_device_do_mount.sh -n "$DEV_NODE" -f "$FS_TYPE" -d "$DEVICE_TYPE" -o "$MNT_MODE" -m "$MNT_POINT"
do_cmd filesystem_tests -read -file ${TEST_FILE} -buffer_size $BUFFER_SIZE -file_size $FILE_SIZE -performance
do_cmd "sync"
after
#do_cmd blk_device_umount.sh -n "$DEV_NODE" -d "$DEVICE_TYPE" -f "$FS_TYPE"
if [ $FS_TYPE != "ramfs" ];then
do_cmd blk_device_umount.sh -m "$MNT_POINT"
do_cmd "echo 3 > /proc/sys/vm/drop_caches"
#do_cmd "mount -t $FS_TYPE -o $MNT_MODE $DEV_NODE $MNT_POINT"
do_cmd blk_device_do_mount.sh -n "$DEV_NODE" -f "$FS_TYPE" -d "$DEVICE_TYPE" -o "$MNT_MODE" -m "$MNT_POINT"
fi
do_cmd filesystem_tests -read -file ${TEST_FILE} -buffer_size $BUFFER_SIZE -file_size $FILE_SIZE -performance
do_cmd "sync"
原因是ramfs umount之后内容都会消失,所以在测试过程中不能umount,加一层判断。
ltp-ddt 加入sram 需要修改的部分的更多相关文章
- 接口自动化之unittest+ddt
我在上一篇(https://www.cnblogs.com/wlyhy/p/10083318.html) 文章整理了unittest的模板,但在后续学习中,发现还有许多值得优化的地方.例如在我们设计测 ...
- python自动化使用 HtmlTestRunner 测试用例描述出现dict() -> new empty dictionary
python自动化使用 HtmlTestRunner 测试用例描述出现dict() -> new empty dictionary这个问题,找了各种资料,发现是ddt.py 的问题 修改了dd ...
- ddt源码修改:HtmlTestRunner报告依据接口名显示用例名字
背景是这样的: 自己写了一套接口自动化的框架,其中使用unittest + ddt + excel作为数据驱动模式的应用,使用HtmlTetstRunner来生成测试用例. 一切看起来很完美. 但是, ...
- Python 修改在使用ddt时测试报告默认显示用例名称与预期不符
正常在不使用ddt时,在方法下添加注释,即可作为用例描述("""用例描述""") @BeautifulReport.add_test_img ...
- Python 中使用 ddt 来进行数据驱动,批量执行用例,修改ddt代码
1. 什么是数据驱动? 使用数据驱动有什么好处? 用例执行是靠数据来驱动的,每条测试用例除了测试数据不一样意外,所有的用例代码都是一样的,为了使用例批量执行,我们会使用数据驱动的思想来批量执行测试用例 ...
- LTP随笔——本地调用ltp之ltp4j
关于ltp本地调用的相关参考请见LTP的Git项目:https://github.com/HIT-SCIR 以下以/home/lion/Desktop路径为例下面教程中出现的具体路径以你实际配置的为准 ...
- ZH奶酪:自然语言处理工具LTP语言云调用方法
前言 LTP语言云平台 不支持离线调用: 支持分词.词性标注.命名实体识别.依存句法分析.语义角色标注: 不支持自定义词表,但是你可以先用其他支持自定义分词的工具(例如中科院的NLPIR)把文本进行分 ...
- 编译哈工大语言技术平台云LTP(C++)源码及LTP4J(Java)源码
转自:编译哈工大语言技术平台云LTP(C++)源码及LTP4J(Java)源码 JDK:java version “1.8.0_31”Java(TM) SE Runtime Environment ( ...
- ROM、RAM、DRAM、SRAM和FLASH区别
ROM和RAM指的都是半导体存储器,ROM是Read Only Memory的缩写,RAM是Random Access Memory的缩写. ROM在系统停止供电的时候仍然可以保持数据,而RAM通常都 ...
随机推荐
- 大数据笔记(十六)——Hive的客户端及自定义函数
一.Hive的Java客户端 JDBC工具类:JDBCUtils.java package demo.jdbc; import java.sql.DriverManager; import java. ...
- 关于MonoBehaviour的单例通用规则
长久以来,对于基于MonoBehaviour的单例总是心有梗结,总觉得用得很忐忑,今天,终于有时间思考和总结了下,理清了想通了.代码和注释如下: 其中GameLogic是我们自己的控制游戏生命周期的管 ...
- sysf接口的函数【转】
本文转载自:http://blog.csdn.net/manshq163com/article/details/7848714 说道sysfs接口,就不得不提到函数宏 DEVICE_ATTR,原型是 ...
- Sublime如何设置背景透明
Sublime如何设置背景透明 下载sublime 透明背景插件 我用的是git下载插件: git clone https://github.com/vhanla/SublimeTextTrans.g ...
- 用Vue来实现音乐播放器(二十):Vuex初始化及歌手数据的配置
state:所有组件的所有状态和数据 放入同一个内存空间去管理 我们把它称为state Vue Components:state里面的数据可以方便的映射到组件上 然后渲染组件 Actions:当组件 ...
- JVM(2) JVM内存模型
一.概述 Java的内存管理采用[自动内存管理]机制,因为这个自动管理机制,Java程序员就不需要去写释放内存的代码,而且不容易出现内存泄漏问题(比C/C++程序员少一些烦恼).但是由于内存的申请和释 ...
- Nginx 日志切割(Logrotate)
Logrotate 配置文件 # ls /etc/logrotate.* /etc/logrotate.conf /etc/logrotate.d: cups dracut fmdcn httpd i ...
- myeclipse 2015 myeclipse2010破解共存
1.高版本选择bling版本,低版本选择profession版本2.用高版本的公钥替换低版本的公钥3.先破解低版本的后破解高版本的4.最后用高版本的替换低版本的文件
- fastboot烧录镜像--VTS&GSI镜像替换
fastboot简介 Android提供的原生工具,主要用于替换镜像. 源码在SDK工程中,/system/core/fastboot目录下 安卓分区&镜像 见链接分区和映像--google官 ...
- 从SVN下检出项目内容【步骤】
1.新创建一个新的工作环境,然后new--->other--->SVN 2.点击Next,然后进行检出项目的操作,如下图所示: 3.再点击Next,进行输入指定的url地址,从指定的url ...