Mitsuba 3 adalah sistem rendering berorientasi penelitian yang dikembangkan di EPFL, menawarkan kemampuan lintas platform berkinerja tinggi dengan integrasi Python dan rendering yang dapat dibedakan. Dokumen ini merinci fitur, instalasi, penggunaan, dan kreditnya, menyoroti keserbagunaannya untuk berbagai tugas rendering dan aplikasi penelitian. Peringatan disertakan mengenai ketidakstabilan cabang master saat ini.
Pitest (alias PIT) adalah sistem pengujian mutasi canggih untuk Java dan JVM.
Baca semuanya di https://pitest.org
Rilis
1.17.2
1.17.1
1.17.0
1.16.3
1.16.2
1.16.1
1.16.0
Perubahan api di #1321 kompatibel dengan versi sebelumnya, namun plugin yang ditulis dengan versi 1.16.0 mungkin tidak berfungsi dengan versi sebelumnya.
1.15.8
Pemfilteran untuk #1310 dinonaktifkan secara default. Untuk mengaktifkannya tambahkan string filter +koleksi yang dapat dimodifikasi.
1309 menambahkan properti pakar baru parseSurefireArgLine. Ini disetel ke true secara default, tetapi penguraian argline sekarang dapat dinonaktifkan dengan menyetelnya ke false.
1.15.7
1305 Cakupan tidak dicatat untuk kode dalam nama paket com.sun*
Filter yang dimaksudkan untuk mengambil kelas JDK lama dalam paket "com.sun.*" tidak memiliki ', sehingga tidak ada cakupan kode yang didaftarkan jika kode yang diuji kebetulan berada dalam paket yang dimulai dengan "sun".
1.15.6
Memanggil pelacakan panggilan dinamis untuk kode penginisialisasi statis akan diperkenalkan kembali ketika logika tambahan untuk menekan pemfilteran mutasi untuk kode eksekusi tertunda telah diterapkan.
1.15.5
1.15.4
Catatan, pengguna maven yang sebelumnya perlu menduplikasi parameter argline antara parameter jvmArgs dan argline pasti dan pitest mungkin perlu
untuk menyesuaikan konfigurasinya saat memutakhirkan. Entri yang diberikan ke surefire sekarang akan secara otomatis ditambahkan ke pitest.
1.15.3
1.15.2
1267 akan memastikan bahwa kesalahan tersembunyi yang sebelumnya ditemukan oleh plugin JUnit5 kini akan dilaporkan. Ini adalah perubahan api yang kompatibel. Ini tidak akan berpengaruh sampai plugin JUnit5 diperbarui untuk menggunakan api yang diperluas. Plugin yang diperbarui tidak akan kompatibel dengan versi pitest sebelumnya.
1.15.1
1.15.0
Sebagai hasil dari perubahan api yang dapat menyebabkan gangguan pada #1251, kotlin dimutasikan
plugin harus ditingkatkan ke 1.1.0 saat meningkatkan ke pitest 1.15.0
1.14.4
1246 Prioritaskan uji pembunuhan sebelumnya saat menggunakan file riwayat
1.14.3
1.14.2
1.14.1
1.14.0
1212 Sebagian besar menyelesaikan masalah menjaga versi plugin pitest-junit5 tetap sinkron dengan versi junit5 untuk pengguna maven.
Saat digunakan dengan plugin pitest-junit5 1.2.0, pitest sekarang akan secara otomatis memilih versi junit-platform-launcher yang mana
kompatibel dengan versi junit5 yang digunakan oleh sistem yang diuji.
Masalah tetap ada bagi pengguna gradle yang mungkin masih menemukan kompatibilitas api saat menggunakan plugin pitest-junit5 1.2.0. Namun hal ini bisa dilakukan sekarang
diselesaikan dengan secara manual menambahkan versi junit-platform-launcher yang benar ke classpath.
Diharapkan versi plugin pitest gradle yang akan datang akan mengimplementasikan perbaikan yang serupa dengan solusi 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
Statistik cakupan garis yang dilaporkan di konsol menyertakan baris kode untuk keseluruhan proyek, bahkan ketika filter diterapkan. Ini
menghasilkan skor cakupan yang sangat rendah.
1.11.1
1.11.0
Perhatikan bahwa #1150 mencakup perubahan antarmuka yang dapat mengganggu yang mungkin memerlukan pembaruan pada plugin pihak ketiga.
1.10.4
1.10.3
1.10.2
1.10.1
1.10.0
Sebagai hasil dari #1067, penting bahwa mutasi hanya dibuat untuk satu kelas untuk setiap JVM. Oleh karena itu, titik ekstensi MutationGrouper telah dihapus karena hal ini memungkinkan batasan ini dilanggar. Plugin pihak ketiga mana pun yang menggunakan ekstensi ini tidak lagi didukung.
Rilisan ini juga mencakup beberapa perubahan pada struktur data internal. Plugin pihak ketiga mana pun yang mengandalkan struktur ini mungkin perlu diperbarui.
1116 menyediakan cara kasar untuk mengecualikan kode yang dibuat secara otomatis yang tidak diambil oleh filter pitest lainnya. Ini dinonaktifkan secara default karena mungkin mengecualikan kode yang valid untuk mutasi dalam beberapa situasi, namun dapat diaktifkan dengan menambahkan string fitur +nofirstline.
1.9.11
1.9.10
1.9.9
1.9.8
Menambahkan dukungan untuk bahasa seperti Kotlin yang file sumbernya mungkin tidak berada dalam struktur direktori yang cocok dengan paketnya. Perhatikan bahwa jika nama file yang sama muncul di lebih dari satu lokasi, pitest tidak dapat menjamin untuk menyelesaikan file yang benar.
1.9.7
1.9.6
Perhatikan bahwa #1085 mengubah perilaku default sehingga laporan tidak lagi ditulis ke direktori yang diberi stempel waktu secara default. Jika Anda memerlukan perilaku ini, Anda harus mengaktifkannya secara eksplisit.
1.9.5
1078 adalah perubahan antarmuka yang dapat menyebabkan gangguan, namun disertakan dalam rilis titik sebagaimana yang diyakini
saat ini tidak ada klien eksternal.
1.9.4
1.9.3
1054 Memindahkan dukungan penambahan otomatis headless=true (untuk mencegah fokus keyboard dicuri di Mac) ke dalam fitur.
Ini diaktifkan secara default, tetapi dapat dinonaktifkan dengan menambahkan -MACOS_FOCUS ke string fitur.
1055 menambahkan opsi untuk menebak jumlah thread yang sesuai untuk mesin saat ini dengan menambahkan +auto_threads
rangkaian fitur. Opsi ini dinonaktifkan secara default dan dirancang untuk penggunaan lokal. Hal ini tidak dianjurkan
untuk digunakan pada server CI.
1.9.2
1.9.1
1.9.0
Sebagai hasil dari #1040, semua plugin pengujian pitest eksternal (misalnya JUnit 5, TestNG, arcmutate accelerator) harus
diperbarui ke versi yang kompatibel (1.0.0) saat memutakhirkan.
File riwayat dari rilis sebelumnya tidak kompatibel dan harus dihapus saat melakukan upgrade.
1.8.1
1.8.0
1.7.6
Sebagai hasil dari #1015 plugin TestNG sekarang harus dikonfigurasi ketika menggunakan pitest dalam basis kode yang diuji oleh TestNG. Dalam rilis sebelumnya, dukungan disertakan secara otomatis.
1.7.5
Sebagai hasil dari #993, siapa pun yang ingin menggunakan operator RV yang berorientasi pada penelitian harus mengkonfigurasi plugin pitest-rv, namun mutator ini tidak direkomendasikan untuk penggunaan umum.
1.7.4
1.7.3
1.7.2
1.7.1
1.7.0
Karena perubahan internal, beberapa plugin pihak ketiga mungkin tidak kompatibel dengan rilis ini.
Semua file riwayat harus dihapus sebelum memutakhirkan.
Nama-nama mutator penghapus kondisional telah sedikit berubah karena #930 dan
mungkin perlu diperbarui dalam skrip build jika diaktifkan secara eksplisit.
1.6.9
1.6.8
1.6.7
Sebagai hasil dari #900, parameter testPlugin sekarang tidak berfungsi, tetapi pitest akan terus menerimanya tanpa kesalahan untuk rilis ini. Pitest akan menggunakan mesin pengujian apa pun yang disediakan di classpath, kembali ke dukungan bawaan JUnit4 ketika mesin pengujian lain tidak dapat menangani kelas tersebut.
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
Perhatikan saat memutakhirkan bahwa file riwayat yang dihasilkan oleh rilis sebelumnya tidak kompatibel dengan versi 1.3.2 dan di atasnya.
1.3.1
1.3.0
428 mengubah perilaku filter kelas yang dikecualikan. Sebelumnya hal ini mengecualikan kelas agar tidak dimutasi dan dijalankan sebagai pengujian yang mungkin memerlukan perubahan bagi sebagian orang saat melakukan peningkatan.
Akibatnya 429 pengujian TestNG tidak lagi terdeteksi secara otomatis - parameter testPlugin yang baru harus secara eksplisit disetel ke "testng".
1.2.5
1.2.4
1.2.3
1.2.2
1.2.1
(Catatan #347 tidak akan mendeteksi javax.annotaion.Generated karena hanya memiliki retensi sumber.)
1.2.0
Catatan - mulai rilis ini plugin maven akan secara otomatis menentukan kelas mana yang akan dimutasi alih-alih berasumsi bahwa nama paket cocok dengan id grup.
1.1.11
1.1.10
1.1.9
1.1.8
1.1.7
1.1.6
Perhatikan rilis ini berisi masalah umum (#231). Silakan tingkatkan.
1.1.5
1.1.4
1.1.3
1.1.2
1.1.1
1.1.0
Harap dicatat bahwa semua file riwayat atau hasil sonar yang disimpan menjadi tidak valid oleh rilis ini.
1.0.0
0,33
0,32
Catatan, pengaturan untuk proyek berbasis Ant berubah dalam rilis ini. Lihat pengaturan semut untuk detail penggunaan.
0,31
Rilis ini juga mengubah sejumlah rincian implementasi internal, beberapa di antaranya mungkin menarik/penting bagi mereka yang memelihara alat tersebut
berintegrasi dengan PIT.
Mutasi sekarang dicakup secara internal seperti yang dijelaskan di https://groups.google.com/forum/#!topic/pitusers/E0-3QZuMYjE
Kelas baru (org.pitest.mutationtest.tooling.EntryPoint) telah diperkenalkan yang menghilangkan beberapa duplikasi yang ada dalam berbagai cara meluncurkan analisis mutasi.
0,30
0,29
0,28
Masalah yang diketahui - Perbaikan untuk #33 mungkin tidak menyelesaikan masalah untuk pengguna maven 2.
Deteksi kode Groovy belum diuji dengan Groovy 2 yang mungkin menghasilkan perbedaan yang signifikan
kode byte ke versi sebelumnya.
0,27
Pengguna yang melakukan upgrade mungkin perlu memodifikasi build mereka karena penghapusan parameter inScopeClasses
0,26
Masalah yang diketahui - Mutator variabel anggota baru dapat menyebabkan kesalahan dalam kesalahan tersinkronisasi. Mutatornya adalah
namun dinonaktifkan secara default, dan kesalahan yang dihasilkan ditangani dengan benar oleh PIT.
0,25
0,24
0,23
0,22
0,21
0,20
0,19
0,18
Masalah
Silakan berkonsultasi dengan aturan manajemen masalah kami sebelum membuat atau menangani masalah.
Kredit
Pitest sebagian besar merupakan karya saya, tetapi mendapat manfaat dari kontribusi banyak orang lain.
Kontribusi penting tidak terlihat di sini karena dibuat sebelum kode ini dimigrasikan ke github include
Meskipun PIT tidak memasukkan kode apa pun dari proyek Jumble (http://jumble.sourceforge.net/), basis kode Jumble digunakan sebagai panduan ketika mengembangkan beberapa aspek PIT.