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 속성인 ParSurefireArgLine을 추가합니다. 이는 기본적으로 true로 설정되어 있지만 이제 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 변경입니다. 확장된 API를 사용하도록 JUnit5 플러그인이 업데이트될 때까지는 아무런 효과가 없습니다. 업데이트된 플러그인은 이전 버전의 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 버전과 호환됩니다.
Pitest-junit5-plugin 1.2.0을 사용할 때 여전히 API 호환성이 발생할 수 있는 Gradle 사용자에게는 문제가 남아 있습니다. 그러나 이것들은 지금은 가능합니다
올바른 버전의 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 Accelerator)은 다음과 같아야 합니다.
업그레이드 시 호환 버전(1.0.0)으로 업데이트됩니다.
이전 릴리스의 기록 파일은 호환되지 않으므로 업그레이드 시 삭제해야 합니다.
1.8.1
1.8.0
1.7.6
#1015의 결과로 이제 TestNG에서 테스트한 코드베이스에서 Pitest를 사용할 때 TestNG 플러그인을 구성해야 합니다. 이전 릴리스에서는 지원이 자동으로 포함되었습니다.
1.7.5
#993의 결과로 연구 중심의 RV 운영자를 사용하려는 사람은 누구나 pitest-rv 플러그인을 구성해야 하지만 이러한 mutator는 일반적인 사용에는 권장되지 않습니다.
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 기반 프로젝트 설정이 변경되었습니다. 사용법에 대한 자세한 내용은 개미 설정을 참조하세요.
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 include로 마이그레이션되기 전에 이루어진 주목할만한 기여는 여기에 표시되지 않습니다.
PIT는 Jumble 프로젝트(http://jumble.sourceforge.net/)의 코드를 통합하지 않지만 Jumble 코드베이스는 PIT의 일부 측면을 개발할 때 가이드로 사용되었습니다.