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 程式碼庫被用作指南。