Mitsuba 3 é um sistema de renderização orientado para pesquisa desenvolvido na EPFL, oferecendo recursos de plataforma cruzada de alto desempenho com integração Python e renderização diferenciável. Este documento detalha suas características, instalação, uso e créditos, destacando sua versatilidade para diversas tarefas de renderização e aplicações de pesquisa. Um aviso é incluído sobre a instabilidade atual da ramificação master.
Pitest (também conhecido como PIT) é um sistema de teste de mutação de última geração para Java e JVM.
Leia tudo sobre isso em https://pitest.org
Lançamentos
1.17.2
1.17.1
1.17.0
1.16.3
1.16.2
1.16.1
1.16.0
A alteração da API em #1321 é compatível com versões anteriores, mas plug-ins escritos em 1.16.0 podem não funcionar com versões anteriores.
1.15.8
A filtragem para #1310 está desativada por padrão. Para ativá-lo, adicione a string de filtro +funmodifiablecollection.
1309 adiciona uma nova propriedade maven parseSurefireArgLine. Isso é definido como verdadeiro por padrão, mas a análise infalível da linha de argumento agora pode ser desativada definindo-a como falso.
1.15.7
1305 Cobertura não registrada para código no nome do pacote com.sun*
Um filtro destinado a coletar classes JDK legadas no pacote "com.sun.*" estava faltando um ', resultando em nenhuma cobertura de código sendo registrada se o código em teste estivesse em um pacote começando com "sun".
1.15.6
A chamada de rastreamento de chamada dinâmica para código inicializador estático será reintroduzida quando uma lógica adicional para suprimir a filtragem de mutação para código de execução atrasada for implementada.
1.15.5
1.15.4
Observe que os usuários maven que anteriormente precisaram duplicar os parâmetros argline entre os parâmetros jvmArgs e argline do surefire e pitest podem precisar
para ajustar sua configuração ao atualizar. As inscrições fornecidas ao surefire agora serão adicionadas automaticamente ao pitest.
1.15.3
1.15.2
1267 garantirá que erros anteriormente ocultos encontrados pelo plugin JUnit5 serão agora relatados. Esta é uma alteração de API compatível com versões anteriores. Não terá efeito até que o plugin JUnit5 seja atualizado para usar a API expandida. O plugin atualizado não será compatível com versões anteriores do pitest.
1.15.1
1.15.0
Como resultado das alterações importantes da API em # 1251, o arcmutate kotlin
o plugin deve ser atualizado para 1.1.0 ao atualizar para o pitest 1.15.0
1.14.4
1246 Priorize o teste de morte anterior ao usar arquivos de histórico
1.14.3
1.14.2
1.14.1
1.14.0
1212 Resolve em grande parte o problema de manter a versão pitest-junit5-plugin sincronizada com a versão junit5 para usuários maven.
Quando usado com 1.2.0 do plugin pitest-junit5, o pitest agora selecionará automaticamente uma versão do junit-platform-launcher que
é compatível com a versão do junit5 usada pelo sistema em teste.
Os problemas permanecem para usuários gradle que ainda podem encontrar compatibilidades de API ao usar 1.2.0 do plugin pitest-junit5. No entanto, estes podem agora
ser resolvido adicionando manualmente a versão correta do junit-platform-launcher ao classpath.
Espera-se que uma versão futura do plugin pitest gradle implemente uma correção semelhante à solução 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
As estatísticas de cobertura de linha relatadas no console incluíam linhas de código para todo o projeto, mesmo quando filtros foram aplicados. Esse
resultou em pontuações de cobertura dramaticamente baixas.
1.11.1
1.11.0
Observe que o nº 1150 inclui alterações importantes na interface que podem exigir atualizações para plug-ins de terceiros.
1.10.4
1.10.3
1.10.2
1.10.1
1.10.0
Como resultado do #1067, é importante que as mutações sejam criadas apenas para uma única classe para cada JVM. O ponto de extensão MutationGrouper foi, portanto, removido, pois permitiu que esta restrição fosse violada. Quaisquer plug-ins de terceiros que usem esta extensão não são mais suportados.
As versões também incluem diversas alterações nas estruturas de dados internas. Quaisquer plug-ins de terceiros que dependam dessas estruturas podem precisar ser atualizados.
1116 fornece uma maneira grosseira de excluir código gerado automaticamente não capturado por outros filtros do pitest. Ele está desabilitado por padrão, pois pode excluir código válido para mutação em algumas situações, mas pode ser habilitado adicionando a string de recurso +nofirstline.
1.9.11
1.9.10
1.9.9
1.9.8
Adiciona suporte para linguagens como Kotlin, onde os arquivos de origem podem não estar em uma estrutura de diretórios que corresponda ao seu pacote. Observe que se o mesmo nome de arquivo ocorrer em mais de um local, o pitest não pode garantir a resolução do arquivo correto.
1.9.7
1.9.6
Observe que #1085 altera o comportamento padrão para que os relatórios não sejam mais gravados em diretórios com carimbo de data/hora por padrão. Se você precisar desse comportamento, precisará ativá-lo explicitamente.
1.9.5
1078 é uma alteração significativa na interface, mas está incluída em uma versão pontual, pois acredita-se que haja
atualmente não há clientes externos.
1.9.4
1.9.3
1054 Move o suporte de adição automática headless=true (para evitar que o foco do teclado seja roubado em Macs) para um recurso.
Ele está habilitado por padrão, mas pode ser desabilitado adicionando -MACOS_FOCUS à string de recursos.
1055 adiciona a opção de adivinhar o número apropriado de threads para a máquina atual adicionando +auto_threads
a string de recursos. Esta opção está desabilitada por padrão e projetada para uso local. Não é recomendado
para uso em um servidor de CI.
1.9.2
1.9.1
1.9.0
Como resultado do #1040, quaisquer plug-ins de teste externos (por exemplo, JUnit 5, TestNG, acelerador arcmutate) devem ser
atualizado para uma versão compatível (1.0.0) durante a atualização.
Os arquivos de histórico de versões anteriores são incompatíveis e devem ser excluídos durante a atualização.
1.8.1
1.8.0
1.7.6
Como resultado do #1015, o plugin TestNG agora deve ser configurado ao usar o pitest em bases de código testadas pelo TestNG. Nas versões anteriores, o suporte era incluído automaticamente.
1.7.5
Como resultado do nº 993, qualquer pessoa que deseje usar os operadores de RV orientados para pesquisa deve configurar o plugin pitest-rv, no entanto, esses mutadores não são recomendados para uso geral.
1.7.4
1.7.3
1.7.2
1.7.1
1.7.0
Devido a alterações internas, alguns plugins de terceiros podem ser incompatíveis com esta versão.
Todos os arquivos de histórico devem ser excluídos antes da atualização.
Os nomes dos mutadores de remoção condicional mudaram ligeiramente como resultado de #930 e
pode precisar ser atualizado em scripts de construção se ativado explicitamente.
1.6.9
1.6.8
1.6.7
Como resultado do #900, o parâmetro testPlugin está extinto, mas o pitest continuará a aceitá-lo sem erros nesta versão. Pitest usará qualquer mecanismo de teste fornecido no caminho de classe, recorrendo ao suporte JUnit4 integrado quando outros mecanismos de teste não puderem lidar com a 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
Observe ao atualizar que os arquivos de histórico gerados por versões anteriores não são compatíveis com 1.3.2 e acima.
1.3.1
1.3.0
428 altera o comportamento existente do filtro excludeClasses. Anteriormente, isso excluía classes de serem mutadas e executadas como testes que podem exigir alterações para algumas pessoas durante a atualização.
Como resultado de 429 testes TestNG não serão mais detectados automaticamente - o novo parâmetro testPlugin deve ser explicitamente definido como "testng".
1.2.5
1.2.4
1.2.3
1.2.2
1.2.1
(A nota nº 347 não detectará javax.annotaion.Generated, pois possui apenas retenção de origem.)
1.2.0
Nota - a partir desta versão, o plugin maven determinará automaticamente quais classes sofrer mutação em vez de assumir que os nomes dos pacotes correspondem ao ID do grupo.
1.1.11
1.1.10
1.1.9
1.1.8
1.1.7
1.1.6
Observe que esta versão contém um problema conhecido (#231). Por favor, atualize.
1.1.5
1.1.4
1.1.3
1.1.2
1.1.1
1.1.0
Observe que quaisquer arquivos de histórico armazenados ou resultados de sonar serão invalidados por esta versão.
1.0.0
0,33
0,32
Observe que a configuração para projetos baseados em Ant muda nesta versão. Consulte configuração do ant para obter detalhes sobre o uso.
0,31
Esta versão também altera uma série de detalhes de implementação interna, alguns dos quais podem ser de interesse/importância para aqueles que mantêm ferramentas que
integrar com o PIT.
As mutações agora têm escopo interno conforme descrito em https://groups.google.com/forum/#!topic/pitusers/E0-3QZuMYjE
Foi introduzida uma nova classe (org.pitest.mutationtest.tooling.EntryPoint) que remove algumas das duplicações que existiam nas várias formas de iniciar a análise de mutação.
0h30
0,29
0,28
Problema conhecido - A correção nº 33 pode não resolver o problema para usuários do maven 2.
A detecção de código Groovy ainda não foi testada com Groovy 2, o que pode gerar códigos substancialmente diferentes.
código de bytes para versões anteriores.
0,27
Os usuários de atualização podem precisar modificar sua compilação devido à remoção do parâmetro inScopeClasses
0,26
Problema conhecido - O novo modificador de variável de membro pode causar erros em erros sincronizados. O mutador é
porém desabilitado por padrão, e os erros gerados são tratados corretamente pelo PIT.
0,25
0,24
0,23
0,22
0,21
0,20
0,19
0,18
Problemas
Consulte nossas regras de gerenciamento de problemas antes de criar ou trabalhar em problemas.
Créditos
Pitest é principalmente meu trabalho, mas se beneficiou das contribuições de muitos outros.
Contribuições notáveis não visíveis aqui, pois foram feitas antes da migração deste código para o github incluem
Embora o PIT não incorpore nenhum código do projeto Jumble (http://jumble.sourceforge.net/), a base de código do Jumble foi usada como guia no desenvolvimento de alguns aspectos do PIT.