Jacks:Java的兼容性测试 开放源码之路[Java编程]
本文“Jacks:Java的兼容性测试 开放源码之路[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
什么是 Jacks?
Jacks 测试套件查抄 Java 编译器能否符合 JLS(Java 语言标准).它由大量小测试案例构成,每个测试都侧重于 JLS 中特定的部份.Eric Blake 为 Jacks 项目作出了很大奉献,他从面向细节范畴描写了这种范例测试的好处.“通过生成带有指定编译行为的小测试案例,然后将每个案例的履行自动化,编译器作者或调试者可以快速找出 Java 源码到字节码转换中存在的问题.”
开辟 Jacks 背后的概念是要简化对多编译器或多编译器配置所运行的测试(比方,对上两个发行版的 Jikes 和 Javac 的 JDK 1.3 发行版所举行的一组测试).假如手工举行,您必须反复地设置环境变量,然后按照所盼望的后果来查抄测试后果.而通过利用 Jacks,只需求更改到存放测试的目录, 调用 Jacks 框架,然后表明应当利用哪个编译器配置.
Sun 没有实施对 Java 开辟者所做的答应激起了 Jikes 小组对 Jacks 项目的设置和运行.Sun 再三声明它会把 Java、JCK(Java Compatibility Kit)和相关 Java 技术交到一个尺度主体的手中.但因为这还没有实现,从事 Java 项目的开辟者就不能利用 JCK 来对平常的开辟举行回归测试.当面对由于不公道的答应证限制而招致的代码人为不足时,他们偏向于用新的更完善的系统来替换旧系统.这就是发生在 Jacks 上的故事.(固然 Jacks 由 developerWorks 主持,它受 GPL 而非 IBM Public License 约束.)
利用 Jacks
Jacks 是以 Tcl 编写的,因此需求确保拥有 Tcl 8.3.(需求版本 8.3 来确保具有 tcltest 扩大和 Unicode 支持,这二者都是 Jacks 所必须的).可以下载用于 Windows 的安装程序和用于 Red Hat x86 的 RPM,也可以更便利地从源代码中构建.假如您不知道到什么地方下载,请参阅本文稍后的 参考资料 部份;假如利用的是 Red Hat 7,极大概已安装了 Tcl 8.3.
安装了 Tcl 后,需求从 CVS 取出 Jacks.然后通过将编译器途径名包含在要测试的编译器的 Jacks _setup 配置文件中来配置 Jacks.关于每个但愿支持的配置都需求一个 _setup 文件.比方,Jacks 带有 javac_setup 文件.需求编辑该文件来为 javac 设置途径.Eric Blake 说,“最艰难的部份是断定若何测试 Jikes,因为我在环境中已设置了 JIKESPATH.但我想出了要在 jikes_setup 配置文件中更改什么内容,一切都很顺利.”
从 CVS 模块中取出 Jacks 源代码
setenv CVSROOT :pserver:anoncvs@oss.software.ibm.com:/usr/cvs/jikes
cvs login
paswsd anoncvs
cvs checkout jacks
可以对数目不限的编译器或编译器配置利用 Jacks.要除去某一编译器的配置,只需求删除其 _setup 文件.
从 CVS 中取出源代码后,就需求在途径中包含顶层 Jacks 目录,这样才能运行 Jacks shell 脚本.为谨严起见,最初运行 shell 脚本时应当不带任何自变量,以确保每项都经过精确配置.
% jacks
假如一切正常,将看到 Jacks 脚本所承受的号令行选项的清单.假如收到错误,请查抄在途径中能否能找到可履行文件 tclsh8.3.Windows 用户需求直接运行 tclsh83,并将 jacks.tcl 自变量在普通标志之前传送给它.还应当考虑安装 Cygwin UNIX 兼容性层,这样,象 Unix 用户一样,您便可以利用供应的 shell 脚本来运行 Jacks 了.下面的指令假定您利用的是 shell 脚本.
关于测试示例,需求利用 Jikes 编译器来运行给定子目录中的全部测试,号令以下:
% cd tests/jls/packages/package-declarations/unnamed-packages
% jacks jikes
以上是“Jacks:Java的兼容性测试 开放源码之路[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |