Mitoba 3 は、EPFL で開発された研究指向のレンダリング システムで、Python の統合と微分可能なレンダリングによる高性能のクロスプラットフォーム機能を提供します。このドキュメントでは、その機能、インストール、使用法、クレジットについて詳しく説明し、さまざまなレンダリング タスクや研究アプリケーションに対するその多用途性を強調します。 master ブランチの現在の不安定性に関する警告が含まれています。
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 のフィルタリングはデフォルトではオフになっています。これを有効にするには、フィルター文字列 +funmodifiablecollection を追加します。
1309 では、新しい Maven プロパティ parseSurefireArgLine が追加されます。これはデフォルトで true に設定されていますが、surefire argline 解析を false に設定することで無効にできるようになりました。
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 バージョンと同期させる問題が大幅に解決されました。
pigest-junit5-plugin 1.2.0 と一緒に使用すると、pitest は junit-platform-launcher のバージョンを自動的に選択するようになります。
テスト対象のシステムで使用されている junit5 のバージョンと互換性があります。
Gradle ユーザーにとっては、pitest-junit5-plugin の 1.2.0 を使用するときに 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 を追加することで有効にできます。
1.9.11
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 および #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 は、excludedClasses フィルターの既存の動作を変更します。以前は、これにより、一部のユーザーにとってはアップグレード時に変更が必要になる可能性のあるクラスが、変更およびテストとしての実行の両方から除外されていました。
429 の結果として、TestNG テストは自動的に検出されなくなりました。新しい testPlugin パラメーターは明示的に「testng」に設定する必要があります。
1.2.5
1.2.4
1.2.3
1.2.2
1.2.1
(注 #347 はソース保持のみを持っているため、javax.annotaion.Generated を検出しません。)
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
既知の問題 - 新しいメンバー変数ミューテーターにより、同期エラーでエラーが発生する可能性があります。ミューテーターは、
ただし、デフォルトでは無効になっており、生成されたエラーは 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/) のコードは組み込まれていませんが、Jumble コードベースは PIT のいくつかの側面を開発する際のガイドとして使用されました。