加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

shell – 用于验证脚本的代码覆盖工具

发布时间:2020-12-16 01:26:01 所属栏目:安全 来源:网络整理
导读:有没有办法验证 shell脚本的覆盖范围?我的项目有很多shell脚本,需要确保可以对shell脚本的覆盖范围执行静态分析.有没有可用的工具? 我严重怀疑在shell脚本上可能会进行任何静态代码分析 – 特别是由于shell脚本应该调用外部程序并基于这些外部程序返回的内
有没有办法验证 shell脚本的覆盖范围?我的项目有很多shell脚本,需要确保可以对shell脚本的覆盖范围执行静态分析.有没有可用的工具?
我严重怀疑在shell脚本上可能会进行任何静态代码分析 – 特别是由于shell脚本应该调用外部程序并基于这些外部程序返回的内容 – 并且有无数的外部程序和外部环境状态.它类似于严重依赖类似eval机制的代码静态分析问题,但shell脚本完全是关于eval风格的编程.

但是,有一些通用指针可能对主要语言执行的“正确”验证,代码覆盖和shell脚本文档化有用:

>您始终可以使用-x(AKA xtrace)选项运行脚本 – 它会将类似的跟踪输出到stderr:

+ log_end_msg 0
+ [ -z 0 ]
+ retval=0
+ log_end_msg_pre 0
+ :
+ log_use_fancy_output
+ TPUT=/usr/bin/tput
+ EXPR=/usr/bin/expr
+ [ -t 1 ]
+ [ xxterm != x ]
+ [ xxterm != xdumb ]

> Bash可以将此流重定向到外部FD(使用BASH_XTRACEFD变量) – 这在实践中更容易解析.
>这不是一件容易的事,但是可以编写一个程序来查找使用xtrace输出执行的相关代码片段,并使您获得一个奇特的“代码覆盖率”报告 – 就像所谓的多少次代码,哪些代码不是完全运行,因此缺乏测试覆盖率.
>事实上,有一个名为shcov的精彩工具已经编写过使用这个过程 – 尽管它有点过于简单,并且不能很好地处理所有可能的情况(特别是当我们谈论长而复杂的线条时)
>最后,但并非最不重要 – 有一个简约的shelldoc项目(类似于javadoc),它有助于根据shell脚本中的注释生成文档.是的,这是一个无耻的插头:)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读