Mitsuba 3 est un système de rendu orienté recherche développé à l'EPFL, offrant des capacités multiplateformes hautes performances avec intégration Python et rendu différenciable. Ce document détaille ses fonctionnalités, son installation, son utilisation et ses crédits, soulignant sa polyvalence pour diverses tâches de rendu et applications de recherche. Un avertissement est inclus concernant l'instabilité actuelle de la branche principale.
Pitest (alias PIT) est un système de test de mutation de pointe pour Java et la JVM.
Lisez tout sur https://pitest.org
Sorties
1.17.2
1.17.1
1.17.0
1.16.3
1.16.2
1.16.1
1.16.0
Le changement d'API dans #1321 est rétrocompatible, mais les plugins écrits avec la version 1.16.0 peuvent ne pas fonctionner avec les versions antérieures.
1.15.8
Le filtrage pour #1310 est désactivé par défaut. Pour l'activer, ajoutez la chaîne de filtre +funmodifiablecollection.
1309 ajoute une nouvelle propriété maven parseSurefireArgLine. Ceci est défini sur true par défaut, mais l'analyse infaillible des lignes d'argline peut désormais être désactivée en la définissant sur false.
1.15.7
1305 Couverture non enregistrée pour le code dans le nom du package com.sun*
Un filtre destiné à récupérer les anciennes classes JDK dans le package "com.sun.*" manquait un ', ce qui entraînait qu'aucune couverture de code n'était enregistrée si le code testé se trouvait dans un package commençant par "sun".
1.15.6
Le suivi des appels dynamiques pour le code d’initialisation statique sera réintroduit lorsqu’une logique supplémentaire pour supprimer le filtrage des mutations pour le code d’exécution retardée aura été implémentée.
1.15.5
1.15.4
Notez que les utilisateurs Maven qui ont déjà eu besoin de dupliquer les paramètres argline entre les paramètres jvmArgs et argline de Surefire et Pitest peuvent avoir besoin
pour ajuster leur configuration lors de la mise à niveau. Les entrées fournies à Surefire seront désormais automatiquement ajoutées à Pitest.
1.15.3
1.15.2
1267 garantira que les erreurs précédemment cachées rencontrées par le plugin JUnit5 seront désormais signalées. Il s’agit d’un changement d’API rétrocompatible. Cela n'aura aucun effet jusqu'à ce que le plugin JUnit5 soit mis à jour pour utiliser l'API étendue. Le plugin mis à jour ne sera pas compatible avec les versions antérieures de pitest.
1.15.1
1.15.0
À la suite des changements de rupture de l'API dans #1251, le kotlin arcmutate
le plugin doit être mis à niveau vers 1.1.0 lors de la mise à niveau vers pitest 1.15.0
1.14.4
1246 Prioriser le test de mise à mort précédent lors de l'utilisation de fichiers historiques
1.14.3
1.14.2
1.14.1
1.14.0
1212 Résout en grande partie le problème de la synchronisation de la version pitest-junit5-plugin avec la version junit5 pour les utilisateurs maven.
Lorsqu'il est utilisé avec la version 1.2.0 du plugin pitest-junit5, pitest sélectionnera désormais automatiquement une version de junit-platform-launcher qui
est compatible avec la version de junit5 utilisée par le système testé.
Des problèmes subsistent pour les utilisateurs diplômés qui peuvent toujours rencontrer des compatibilités API lors de l'utilisation de la version 1.2.0 du plugin pitest-junit5. Ceux-ci peuvent cependant désormais
être résolu en ajoutant manuellement la version correcte de junit-platform-launcher au chemin de classe.
On espère qu'une future version du plugin pitest gradle implémentera un correctif similaire à la solution 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
Les statistiques de couverture de lignes affichées sur la console incluaient des lignes de code pour l'ensemble du projet, même lorsque des filtres étaient appliqués. Ce
abouti à des scores de couverture extrêmement faibles.
1.11.1
1.11.0
Notez que le numéro 1150 inclut des modifications majeures de l'interface qui peuvent nécessiter des mises à jour de plugins tiers.
1.10.4
1.10.3
1.10.2
1.10.1
1.10.0
En raison du numéro 1067, il est important que les mutations ne soient créées que pour une seule classe pour chaque JVM. Le point d'extension MutationGrouper a donc été supprimé car il permettait de violer cette contrainte. Les plugins tiers utilisant cette extension ne sont plus pris en charge.
Les versions incluent également plusieurs modifications apportées aux structures de données internes. Tous les plugins tiers s'appuyant sur ces structures devront peut-être être mis à jour.
1116 fournit un moyen grossier d'exclure le code généré automatiquement non capté par les autres filtres de Pitest. Il est désactivé par défaut car il peut exclure le code valide pour la mutation dans certaines situations, mais peut être activé en ajoutant la chaîne de fonctionnalité +nofirstline.
1.9.11
1.9.10
1.9.9
1.9.8
Ajoute la prise en charge de langages tels que Kotlin où les fichiers sources peuvent ne pas se trouver dans une structure de répertoires correspondant à leur package. Notez que si le même nom de fichier apparaît à plusieurs emplacements, pitest ne peut pas garantir la résolution du bon fichier.
1.9.7
1.9.6
Notez que #1085 modifie le comportement par défaut afin que les rapports ne soient plus écrits par défaut dans des répertoires horodatés. Si vous avez besoin de ce comportement, vous devrez l'activer explicitement.
1.9.5
1078 est un changement radical d'interface, mais est inclus dans une version intermédiaire car on pense qu'il y en a
actuellement aucun client externe.
1.9.4
1.9.3
1054 Déplace la prise en charge de l'ajout automatique de headless=true (pour empêcher le vol du focus clavier sur les Mac) dans une fonctionnalité.
Il est activé par défaut, mais peut être désactivé en ajoutant -MACOS_FOCUS à la chaîne de fonctionnalités.
1055 ajoute la possibilité de deviner le nombre approprié de threads pour la machine actuelle en ajoutant +auto_threads
la chaîne de fonctionnalités. Cette option est désactivée par défaut et conçue pour une utilisation locale. Ce n'est pas recommandé
pour une utilisation sur un serveur CI.
1.9.2
1.9.1
1.9.0
En conséquence du #1040, tous les plugins de test pitest externes (par exemple JUnit 5, TestNG, arcmutate accelerator) doivent être
mis à jour vers une version compatible (1.0.0) lors de la mise à niveau.
Les fichiers d'historique des versions antérieures sont incompatibles et doivent être supprimés lors de la mise à niveau.
1.8.1
1.8.0
1.7.6
Suite au #1015, le plugin TestNG doit désormais être configuré lors de l'utilisation de pitest dans les bases de code testées par TestNG. Dans les versions antérieures, la prise en charge était incluse automatiquement.
1.7.5
Suite au #993, toute personne souhaitant utiliser les opérateurs RV orientés recherche doit configurer le plugin pitest-rv, cependant ces mutateurs ne sont pas recommandés pour une utilisation générale.
1.7.4
1.7.3
1.7.2
1.7.1
1.7.0
En raison de changements internes, certains plugins tiers peuvent être incompatibles avec cette version.
Tous les fichiers historiques doivent être supprimés avant la mise à niveau.
Les noms des mutateurs de suppression des conditions conditionnelles ont légèrement changé à la suite de #930 et
il peut être nécessaire de le mettre à jour dans les scripts de construction s'il est explicitement activé.
1.6.9
1.6.8
1.6.7
Suite au #900, le paramètre testPlugin est désormais obsolète, mais pitest continuera à l'accepter sans erreur pour cette version. Pitest utilisera tous les moteurs de test fournis sur le chemin de classe, en revenant au support JUnit4 intégré lorsque d'autres moteurs de test ne peuvent pas gérer la classe.
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
Notez lors de la mise à niveau que les fichiers d'historique générés par les versions précédentes ne sont pas compatibles avec les versions 1.3.2 et ci-dessus.
1.3.1
1.3.0
428 modifie le comportement existant du filtre exclusClasses. Auparavant, cela excluait les classes d'être mutées et exécutées en tant que tests, ce qui pouvait nécessiter des modifications pour certaines personnes lors de la mise à niveau.
En conséquence de 429 tests TestNG ne seront plus automatiquement détectés - le nouveau paramètre testPlugin doit être explicitement défini sur "testng".
1.2.5
1.2.4
1.2.3
1.2.2
1.2.1
(La note n° 347 ne détectera pas javax.annotaion.Generated car elle n'a qu'une rétention de source.)
1.2.0
Remarque : à partir de cette version, le plugin maven déterminera automatiquement les classes à muter au lieu de supposer que les noms des packages correspondent à l'identifiant du groupe.
1.1.11
1.1.10
1.1.9
1.1.8
1.1.7
1.1.6
Notez que cette version contient un problème connu (#231). Veuillez mettre à niveau.
1.1.5
1.1.4
1.1.3
1.1.2
1.1.1
1.1.0
Veuillez noter que tous les fichiers d'historique stockés ou les résultats du sonar sont invalidés par cette version.
1.0.0
0,33
0,32
Notez que la configuration des projets basés sur Ant change dans cette version. Voir la configuration des fourmis pour plus de détails sur l'utilisation.
0,31
Cette version modifie également un certain nombre de détails d'implémentation internes, dont certains peuvent être intéressants/importants pour ceux qui gèrent les outils qui
intégrer avec PIT.
Les mutations sont désormais limitées en interne, comme décrit dans https://groups.google.com/forum/#!topic/pitusers/E0-3QZuMYjE.
Une nouvelle classe (org.pitest.mutationtest.tooling.EntryPoint) a été introduite pour supprimer certaines duplications qui existaient dans les différentes manières de lancer l'analyse de mutation.
0,30
0,29
0,28
Problème connu - Le correctif pour #33 peut ne pas résoudre le problème pour les utilisateurs de Maven 2.
La détection du code Groovy n'a pas encore été testée avec Groovy 2, ce qui peut générer des
code d'octet aux versions antérieures.
0,27
Les utilisateurs effectuant une mise à niveau devront peut-être modifier leur build en raison de la suppression du paramètre inScopeClasses.
0,26
Problème connu : le nouveau mutateur de variable membre peut provoquer des erreurs dans les erreurs synchronisées. Le mutateur est
cependant désactivé par défaut, et les erreurs générées sont correctement gérées par PIT.
0,25
0,24
0,23
0,22
0,21
0,20
0,19
0,18
Problèmes
Veuillez consulter nos règles de gestion des tickets avant de créer ou de travailler sur des tickets.
Crédits
Pitest est principalement mon œuvre mais a bénéficié des contributions de nombreux autres.
Les contributions notables non visibles ici car elles ont été faites avant la migration de ce code vers github incluent
Bien que PIT n'incorpore aucun code du projet Jumble (http://jumble.sourceforge.net/), la base de code Jumble a été utilisée comme guide lors du développement de certains aspects de PIT.