Mitsuba 3 是 EPFL 开发的面向研究的渲染系统,通过 Python 集成和可微分渲染提供高性能、跨平台功能。本文档详细介绍了其功能、安装、使用和制作人员,强调了其在各种渲染任务和研究应用中的多功能性。其中包含有关主分支当前不稳定的警告。
Pitest(又名 PIT)是最先进的 Java 和 JVM 突变测试系统。
请访问 https://pitest.org 阅读所有相关内容
发布
1.17.2
1.17.1
1.17.0
1.16.3
1.16.2
1.16.1
1.16.0
#1321 中的 API 更改是向后兼容的,但针对 1.16.0 编写的插件可能不适用于早期版本。
1.15.8
默认情况下,#1310 的过滤处于关闭状态。要激活它,请添加过滤器字符串 +funmodifyingcollection。
1309 添加了新的 maven 属性 parseSurefireArgLine。默认情况下设置为 true,但现在可以通过将其设置为 false 来禁用 Surefire argline 解析。
1.15.7
1305 包名称 com.sun* 中的代码未记录覆盖范围
旨在获取“com.sun.*”包中旧版 JDK 类的过滤器缺少 ',导致如果被测试的代码恰好位于以“sun”开头的包中,则不会注册代码覆盖率。
1.15.6
当实现了抑制延迟执行代码的变异过滤的附加逻辑时,将重新引入静态初始化程序代码的调用动态调用跟踪。
1.15.5
1.15.4
注意,以前需要在surefire和pitest的jvmArgs和argline参数之间复制argline参数的maven用户可能需要
升级时调整其配置。提供给 Surefire 的条目现在将自动添加到 Pitest。
1.15.3
1.15.2
1267 将确保现在报告 JUnit5 插件以前遇到的隐藏错误。这是向后兼容的 API 更改。在 JUnit5 插件更新为使用扩展的 api 之前,它不会产生任何影响。更新后的插件将与早期版本的pitest不兼容。
1.15.1
1.15.0
由于 #1251 中的重大 api 更改,arcmutate kotlin
升级到pitest 1.15.0时,插件需要升级到1.1.0
1.14.4
1246 使用历史文件时优先考虑之前的查杀测试
1.14.3
1.14.2
1.14.1
1.14.0
1212 很大程度上解决了maven用户的pitest-junit5-plugin版本与junit5版本保持同步的问题。
当与 Pitest-junit5-plugin 1.2.0 一起使用时,pitest 现在将自动选择 junit-platform-launcher 的版本
与被测系统使用的junit5版本兼容。
对于 gradle 用户来说,在使用 1.2.0 版的pitest-junit5-plugin 时仍然可能遇到 api 兼容性问题。然而现在这些可以
通过手动将正确版本的 junit-platform-launcher 添加到类路径来解决。
希望 Pitest gradle 插件的未来版本能够实现类似于 Pitest-maven 解决方案的修复。
1.13.2
1.13.1
1.13.0
1.12.0
1.11.7
1.11.6
1.11.5
1.11.4
1.11.3
1.11.2
控制台上报告的行覆盖率统计信息包括整个项目的代码行,即使应用了过滤器也是如此。这
导致覆盖率分数极低。
1.11.1
1.11.0
请注意,#1150 包括破坏性界面更改,可能需要更新第三方插件。
1.10.4
1.10.3
1.10.2
1.10.1
1.10.0
#1067 的结果是,只为每个 JVM 的单个类创建突变,这一点很重要。因此,MutationGrouper 扩展点已被删除,因为这会违反此约束。不再支持任何使用此扩展的第三方插件。
版本还包括对内部数据结构的多项更改。任何依赖这些结构的第三方插件可能需要更新。
1116 提供了一种粗略的方法来排除 Pitest 的其他过滤器未拾取的自动生成的代码。默认情况下它是禁用的,因为它可能会排除在某些情况下对突变有效的代码,但可以通过添加功能字符串 +nofirstline 来启用。
11.9.1
1.9.10
1.9.9
1.9.8
添加对 Kotlin 等语言的支持,其中源文件可能不在与其包匹配的目录结构中。请注意,如果相同的文件名出现在多个位置,pitest 无法保证解析正确的文件。
1.9.7
1.9.6
请注意,#1085 更改了默认行为,因此默认情况下报告不再写入带时间戳的目录。如果您需要此行为,则需要显式启用它。
1.9.5
1078 是一个重大的界面更改,但包含在一个点版本中,因为据信有
目前没有外部客户。
1.9.4
1.9.3
1054 将自动添加 headless=true 的支持(以防止 Mac 上的键盘焦点被窃取)移至功能中。
默认情况下启用它,但可以通过将 -MACOS_FOCUS 添加到功能字符串来禁用。
1055 通过添加 +auto_threads 添加猜测当前机器合适线程数的选项
特征字符串。该选项默认禁用,专为本地使用而设计。不推荐
用于 CI 服务器。
1.9.2
1.9.1
1.9.0
由于#1040,任何外部 Pitest 测试插件(例如 JUnit 5、TestNG、arcmutate 加速器)都必须是
升级时更新为兼容版本(1.0.0)。
早期版本的历史文件不兼容,升级时应删除。
1.8.1
1.8.0
1.7.6
由于#1015,在 TestNG 测试的代码库中使用 Pitest 时,现在必须配置 TestNG 插件。在早期版本中,支持是自动包含的。
1.7.5
由于 #993,任何希望使用面向研究的 RV 操作员的人都必须配置 Pitest-rv 插件,但是不建议将这些修改器用于一般用途。
1.7.4
1.7.3
1.7.2
1.7.1
1.7.0
由于内部更改,某些第三方插件可能与此版本不兼容。
升级前应删除所有历史文件。
由于 #930 和,删除条件变量的名称略有变化
如果明确激活,可能需要在构建脚本中更新。
1.6.9
1.6.8
1.6.7
由于 #900,testPlugin 参数现已失效,但在此版本中,pitest 将继续接受它,不会出现错误。 Pitest 将使用类路径上提供的任何测试引擎,当其他测试引擎无法处理该类时,将回退到内置的 JUnit4 支持。
1.6.6
1.6.5
1.6.4
1.6.3
1.6.2
1.6.1
1.5.2
1.5.1
1.5.0
1.4.11
1.4.10
1.4.9
1.4.8
1.4.7
1.4.6
1.4.5
1.4.4
1.4.3
1.4.2
1.4.1
1.4.0
1.3.2
请注意,升级时以前版本生成的历史文件与 1.3.2 及以上版本不兼容。
1.3.1
1.3.0
428 更改 exceptedClasses 过滤器的现有行为。以前,这排除了类被突变并作为测试运行,这可能需要某些人在升级时进行更改。
由于 429 TestNG 测试将不再被自动检测 - 新的 testPlugin 参数必须显式设置为“testng”。
1.2.5
1.2.4
1.2.3
1.2.2
1.2.1
(注意#347不会检测javax.annotaion.Generate,因为它只有源保留。)
1.2.0
注意 - 从此版本开始,maven 插件将自动确定要更改哪些类,而不是假设包名称与组 ID 匹配。
1.1.11
1.1.10
1.1.9
1.1.8
1.1.7
1.1.6
请注意,此版本包含一个已知问题 (#231)。请升级。
1.1.5
1.1.4
1.1.3
1.1.2
1.1.1
1.1.0
请注意,任何存储的历史文件或声纳结果在此版本中均无效。
1.0.0
0.33
0.32
请注意,此版本中基于 Ant 的项目的设置发生了变化。有关使用的详细信息,请参阅 ant 设置。
0.31
此版本还更改了许多内部实现细节,其中一些细节可能对那些维护工具的人感兴趣/重要。
与 PIT 集成。
突变现在在内部范围内,如 https://groups.google.com/forum/#!topic/pitusers/E0-3QZuMYjE 中所述
引入了一个新类(org.pitest.mutationtest.tooling.EntryPoint),它消除了启动突变分析的各种方式中存在的一些重复。
0.30
0.29
0.28
已知问题 - 修复 #33 可能无法解决 Maven 2 用户的问题。
Groovy 代码的检测尚未使用 Groovy 2 进行测试,这可能会产生本质上不同的结果
字节码到早期版本。
0.27
由于删除了 inScopeClasses 参数,升级用户可能需要修改其构建
0.26
已知问题 - 新的成员变量 mutator 可能会导致同步错误中的错误。突变子是
但是默认情况下禁用,并且 PIT 可以正确处理生成的错误。
0.25
0.24
0.23
0.22
0.21
0.20
0.19
0.18
问题
在创建或处理问题之前,请查阅我们的问题管理规则。
制作人员
Pitest 主要是我的工作,但也受益于许多其他人的贡献。
值得注意的贡献在这里不可见,因为它们是在此代码迁移到 github 之前做出的,包括
尽管 PIT 未合并 Jumble 项目 (http://jumble.sourceforge.net/) 中的任何代码,但在开发 PIT 的某些方面时,Jumble 代码库被用作指南。