Ini adalah perintah yang dapat dijalankan di penyedia hosting gratis OnWorks menggunakan salah satu dari beberapa stasiun kerja online gratis kami seperti Ubuntu Online, Fedora Online, emulator online Windows atau emulator online MAC OS
PROGRAM:
NAMA
aegis tes baru - menambahkan tes baru ke perubahan
RINGKASAN
Aegis -Tes_Baru [ Option...] [ nama file... ]
Aegis -Tes_Baru -Daftar [ Option... ]
Aegis -Tes_Baru -Membantu
DESKRIPSI
Aegis -Tes_Baru perintah digunakan untuk menambahkan tes baru ke perubahan. File baru dibuat
di direktori pengembangan.
Pengujian baru secara default adalah "otomatis" kecuali ditentukan lain.
File Nama Interpretasi
Program aegis akan mencoba menentukan nama file proyek dari nama file
diberikan pada baris perintah. Semua nama file disimpan dalam proyek aegis sebagai relatif
ke akar pohon direktori dasar. Direktori pengembangan dan
direktori integrasi adalah bayangan dari direktori dasar ini, dan nama-nama relatif ini
terapkan di sini juga. File yang dinamai pada baris perintah pertama kali dikonversi ke jalur absolut
jika diperlukan. Mereka kemudian dibandingkan dengan jalur dasar, direktori pengembangan
jalur, dan jalur direktori integrasi, untuk menentukan nama relatif dasar. Dia
kesalahan jika file bernama berada di luar salah satu pohon direktori ini.
-BAse_RElatif opsi dapat digunakan untuk menyebabkan nama file relatif ditafsirkan sebagai
relatif terhadap jalur dasar; nama file absolut masih akan dibandingkan dengan berbagai
jalur untuk menentukan nama relatif dasar.
relatif_nama_file_preferensi dalam file konfigurasi pengguna dapat digunakan untuk memodifikasi
perilaku default ini. Lihat aeuconf(5) untuk informasi lebih lanjut.
uji Filename Generasi
Anda dapat memilih nama file Anda sendiri untuk pengujian, dengan menentukannya pada baris perintah.
Jika tidak ada nama file yang ditentukan pada baris perintah, nama file pengujian akan dibuat secara otomatis
dihasilkan. Ini dikendalikan oleh nama_file_uji_baru bidang proyek
file konfigurasi (lihat aepconf(5) untuk informasi lebih lanjut. Semua dihasilkan secara otomatis
nama file pengujian dalam suatu proyek diberi nomor unik. Pola default untuk pengujian baru
nama file adalah "tes/XX/tXXXX[am].sh", di mana XX adalah 2 digit pertama nomor tes,
XXXX adalah nomor tes keseluruhan, dan [NS] adalah a untuk pengujian otomatis dan m untuk pengujian manual.
Memodifikasi Tes
Tes dapat dimodifikasi di masa depan dengan menambahkannya ke perubahan dengan aecp(1) perintah.
Pengujian diperlakukan sama seperti file sumber lainnya, dan tunduk pada proses yang sama.
File template
Ketika file baru dibuat di direktori pengembangan proyek config file adalah
mencari template untuk file baru. Jika template ditemukan, file baru akan menjadi
diinisialisasi ke template, jika tidak maka akan dibuat kosong. Lihat aepconf(5) untuk lebih
informasi.
Bentuk paling sederhana adalah dengan menggunakan file template, seperti
file_templat =
[
{
pola = [ "*.c" ];
body = "${read_file ${sumber template/c abs}}";
},
{
pola = [ "tes/*/.sh" ];
body = "${read_file ${source template/test abs}}";
},
];
Seperti yang Anda lihat, file template adalah bagian dari sumber proyek, sehingga Anda dapat menambahkan
pemberitahuan hak cipta yang sesuai, dan pembungkus, dll. itu $sumber substitusi menempatkan mereka,
jika mereka bukan bagian dari perubahan saat ini (dan biasanya tidak).
File template itu sendiri berisi substitusi. NS $nama file substitusi adalah
tersedia, dan berisi nama file yang sedang dibuat. Ini dapat dimanipulasi dalam
berbagai cara saat membuat konten file yang sesuai. Lihat aesub(5) untuk lebih
informasi tentang substitusi.
Dimungkinkan juga untuk menjalankan perintah untuk membuat file baru. Anda dapat melakukan ini sebagai gantinya
menentukan string tubuh, yaitu:
file_templat =
[
{
pola = [ "*" ];
body_command = "perl ${source template.pl abs} $filename";
},
];
Perintah dijalankan dengan direktori saat ini disetel ke bagian atas direktori pengembangan.
Ini adalah kesalahan jika perintah gagal membuat file. Anda dapat mencampur dan mencocokkan keduanya
teknik, tubuh tali dan body_command, jika kamu mau.
Berhati-hatilah untuk memastikan bahwa pola templat nama file uji cocok dengan
nama_file_uji_baru lapangan.
File Nama keterbatasan
Ada sejumlah kontrol yang tersedia untuk membatasi bentuk nama file proyek. Semua
kontrol ini dapat ditemukan di file konfigurasi proyek, lihat aepconf(5) untuk lebih
informasi. Yang paling signifikan dijelaskan secara singkat di sini:
maximum_filename_length = bilangan bulat;
Kolom ini digunakan untuk membatasi panjang nama file. Semua file baru mungkin tidak memiliki
komponen jalur lebih panjang dari ini. Default ke 255 jika tidak disetel. Untuk maksimum
portabilitas Anda harus mengatur ini ke 14.
posix_filename_charset = boolean;
Bidang ini dapat digunakan untuk membatasi karakter yang diizinkan dalam nama file hanya untuk itu
secara eksplisit diizinkan oleh POSIX. Default untuk palsu jika tidak disetel, berarti apa pun milik Anda
sistem operasi akan mentolerir, kecuali spasi dan karakter bit-on tinggi.
Untuk portabilitas maksimum, Anda harus mengatur ini ke benar.
dos_filename_required = boolean;
Bidang ini dapat digunakan untuk membatasi nama file agar sesuai dengan DOS 8+3
batas nama file dan set karakter nama file DOS. Default untuk palsu jika tidak
ditetapkan.
windows_filename_required = boolean;
Bidang ini dapat digunakan untuk membatasi nama file agar sesuai dengan Windows98
dan batas nama file WindowsNT dan set karakter. Default untuk palsu jika tidak diatur.
shell_safe_filenames = boolean;
Bidang ini dapat digunakan untuk membatasi nama file sehingga tidak mengandung shell
karakter spesial. Default untuk benar jika tidak diatur. Jika bidang ini disetel ke palsu,
Anda harus menggunakan ${kutipan} substitusi di sekitar nama file dalam perintah, untuk
pastikan bahwa nama file yang mengandung karakter khusus shell tidak memiliki yang tidak diinginkan
efek samping. Karakter aneh dalam nama file juga dapat membingungkan ketergantungan Anda
alat pemeliharaan.
izinkan_white_space_in_filenames = boolean;
Bidang ini dapat digunakan untuk mengizinkan karakter spasi putih dalam nama file. Ini akan
izinkan karakter berikut muncul dalam nama file: backspace (BS, \b, 0x08),
tab horizontal (HT, \t, 0x09), baris baru (NL, \n, 0x0A), tab vertikal (VT, \v,
0x0B), form feed (FF, \f, 0x0C), dan carriage return (CR, \r, 0x0D). Default untuk
salah jika tidak disetel.
Perhatikan bahwa bidang ini tidak menimpa filter nama file lainnya. Boleh jadi
diperlukan untuk secara eksplisit mengatur shell_safe_nama file = palsu demikian juga. Boleh jadi
diperlukan untuk mengatur dos_filename_required = palsu (default) juga. Boleh jadi
diperlukan untuk mengatur posix_filename_charset = palsu (default) juga.
Pengguna harus sangat berhati-hati untuk menggunakan substitusi ${quote} di sekitar semua file
nama dalam perintah dalam konfigurasi proyek. Dan bahkan kemudian, substitusi
yang mengharapkan daftar nama file yang dipisahkan spasi akan memiliki hasil yang tidak ditentukan.
izinkan_non_ascii_namafile = boolean;
Bidang ini dapat digunakan untuk mengizinkan nama file dengan karakter yang tidak dapat dicetak ascii di
mereka. Biasanya ini berarti semacam UTF8 atau rangkaian karakter internasional.
Default ke false jika tidak disetel.
Perhatikan bahwa bidang ini tidak menimpa filter nama file lainnya. Boleh jadi
diperlukan untuk secara eksplisit mengatur shell_safe_nama file = palsu demikian juga. Boleh jadi
diperlukan untuk mengatur dos_filename_required = palsu (default) juga. Boleh jadi
diperlukan untuk mengatur posix_filename_charset = palsu (default) juga.
nama file_pattern_accept = [ tali ];
Bidang ini digunakan untuk menentukan daftar pola nama file yang dapat diterima.
Default ke "*" jika tidak disetel.
nama file_pattern_reject = [ tali ];
Bidang ini digunakan untuk menentukan daftar pola nama file yang tidak dapat diterima.
Silahkan Catatan: Aegis juga berkonsultasi dengan sistem file yang mendasarinya, untuk menentukan gagasannya tentang
ukuran file maksimum. Di mana ukuran file maksimum sistem file kurang dari
maksimum_nama_file_panjang, sistem file menang. Ini bisa terjadi, misalnya, ketika Anda
menggunakan sistem file UMSDOS Linux, atau ketika Anda memiliki NFS yang terpasang pada V7 . kuno
berkas sistem. Pengaturan maksimum_nama_file_panjang ke 255 dalam kasus ini tidak mengubah
fakta bahwa batas sistem file yang mendasarinya jauh lebih kecil (12 dan 14, masing-masing).
Jika direktori pengembangan Anda (atau seluruh proyek Anda) ada di sistem file dengan nama file
keterbatasan, atau sebagian dari bangunan heterogen terjadi di lingkungan seperti itu,
itu membantu untuk memberi tahu Aegis apa mereka (menggunakan proyek config bidang file) sehingga Anda
jangan mengalami situasi di mana proyek dibangun di atas yang lebih permisif
lingkungan, tetapi gagal dengan kesalahan misterius di lingkungan yang lebih terbatas.
Jika direktori pengembangan Anda secara rutin pada sistem file UMSDOS Linux, Anda akan
mungkin lebih baik pengaturan dos_filename_required = benar, dan juga mengubah
templat_direktori_pengembangan bidang. Pengembangan heterogen dengan berbagai Windows
lingkungan mungkin juga memerlukan ini.
Mengubah itu Tipe of a File
Jika Anda ingin mengubah jenis file (misalnya, dari tes ke file sumber, atau wakil
sebaliknya) Anda bisa melakukannya sebagai dua perubahan, dengan terlebih dahulu menggunakan aerm(1) dalam satu perubahan dan kemudian
menggunakan aenf(1) atau aent(1) dalam perubahan kedua, atau Anda dapat menggabungkan kedua langkah dengan cara yang sama
mengubah. Ingatlah untuk menggunakan aerm -tidak ada whiteout opsi atau Anda akan mendapatkan yang baru yang paling aneh
templat berkas.
Pemberitahuan
perintah_tes_baru dalam proyek config file dijalankan, jika disetel. NS project_file_command
juga dijalankan, jika disetel, dan jika ada integrasi baru-baru ini. Lihat aepconf(5) untuk
Informasi lebih lanjut
UJI PROSES
Setiap perubahan harus disertai dengan pengujian, dan pengujian tersebut harus
dijalankan terhadap direktori pengembangan yang dibangun, dan mereka harus lulus. Ini memastikan bahwa yang baru
fungsionalitas disertai dengan tes untuk memverifikasi kebenarannya, dan perbaikan bug adalah
disertai dengan tes yang mengkonfirmasi bahwa bug telah diperbaiki.
Regresi Tes
Pengujian diperlakukan sebagai file sumber lainnya, dan dipertahankan di baseline dan
sejarah dengan semua file sumber lainnya. Ujian yang harus menyertai setiap perubahan
terakumulasi dalam baseline proyek, memberikan definisi fungsi yang benar untuk
dasar. Tes yang terakumulasi ini dapat dieksekusi menggunakan perintah "aegis -REGression",
untuk memverifikasi bahwa proyek tidak akan "mundur" sebagai akibat dari perubahan.
Dasar Tes
Perbaikan bug diperlukan untuk melakukan pengujian gagal terhadap baseline proyek (sebaliknya
ke direktori pengembangan). Ini memastikan bahwa tes benar-benar menunjukkan bug
di baseline, serta menunjukkan bahwa itu diperbaiki oleh perubahan. Baru
fungsionalitas sepele gagal melawan baseline, dan aegis tidak mencoba untuk
tebak apakah tes adalah tes perbaikan bug atau tes fungsionalitas baru, itu hanya memerlukan tes untuk
gagal melawan garis dasar.
Persyaratan ini berlaku untuk pengujian baru yang dibuat oleh perubahan dan juga pengujian
yang telah disalin menjadi perubahan untuk dimodifikasi.
Meninjau Tes
Peninjau mungkin yakin bahwa aegis telah menerapkan persyaratan pengujian; itu perubahan
harus memiliki tes, bahwa perubahan harus dibangun, bahwa tes lulus terhadap pengembangan
direktori, dan bahwa tes gagal terhadap baseline. Ketentuan ini diberlakukan
by aede(1) dan perubahan tidak akan diteruskan ke makhluk review jurnal nyatakan sampai ini
kondisi terpenuhi. Peninjau harus meninjau tes untuk kelengkapan cakupan dari
kode dalam perubahan, dan ketidakpekaan terhadap perubahan dalam lingkungan eksekusi (mis
tidak peka terhadap tanggal). Peninjau juga harus menggunakan “aegis -list change_details” untuk memverifikasi
bahwa perubahan memiliki atau tidak memiliki pengecualian pengujian.
Pengecualian
Berbagai pengecualian pengujian dapat diberikan oleh administrator proyek, lihat aepa(1) dan
aepattr(5) untuk informasi lebih lanjut. Menyalin tes ke dalam perubahan, atau menambahkan tes baru ke a
berubah, dapat membatalkan pengecualian tersebut.
UJI KORELASI
Perintah "aegis -Test -SUGgest" dapat digunakan agar aegis menyarankan regresi yang sesuai
tes untuk perubahan Anda, berdasarkan file sumber dalam perubahan Anda. Ini secara otomatis
memfokuskan upaya pengujian ke pengujian yang relevan, mengurangi jumlah pengujian regresi
perlu untuk yakin bahwa Anda belum memperkenalkan bug.
Korelasi uji dihasilkan oleh perintah "aegis -Integrate_Pass", yang
mengaitkan setiap pengujian dalam perubahan dengan setiap file sumber dalam perubahan. Dengan demikian, masing-masing
file sumber mengumpulkan daftar tes yang telah dikaitkan dengannya di masa lalu.
Ini tidak setepat analisis cakupan kode, tetapi merupakan perkiraan yang masuk akal dalam
praktek.
aecp(1) dan aenf(1) perintah digunakan untuk mengaitkan file dengan perubahan. Sementara mereka
jangan aktif melakukan asosiasi, ini adalah file yang digunakan oleh aeipass(1) dan
aet(1) untuk menentukan file sumber mana yang terkait dengan pengujian mana.
uji Korelasi Ketepatan
Dengan asumsi bahwa korelasi pengujian akurat dan pengujian merata
didistribusikan di seluruh ruang fungsi, akan ada kurang dari 1/angka kesempatan itu
tes yang relevan belum dijalankan oleh "aegis -Test -SUGgest jumlah" memerintah. Kecil
jumlah kebisingan ditambahkan ke bobot uji, sehingga hal-hal yang tidak terduga terkadang
diuji, dan pengujian yang sama tidak dijalankan setiap saat.
Akurasi uji korelasi dapat ditingkatkan dengan memastikan bahwa:
· Setiap perubahan harus sangat terfokus, tanpa penyertaan file yang serampangan. Ini
menghindari korelasi palsu.
· Setiap item fungsi baru harus ditambahkan dalam perubahan individual, bukan
beberapa bersama-sama. Ini sangat berkorelasi tes dengan fungsionalitas.
· Setiap bug harus diperbaiki dalam perubahan individu, bukan beberapa bersama-sama. Ini
sangat berkorelasi tes dengan fungsionalitas.
· Uji korelasi akan hilang jika file dipindahkan. Ini karena korelasinya dengan
Nama.
Cara terbaik agar pengujian dapat berkorelasi secara akurat dengan file sumber adalah saat ada perubahan
berisi tes dan file-file yang berkaitan dengan fungsionalitas yang diuji. Juga
banyak file palsu akan melemahkan kegunaan korelasi pengujian.
PILIHAN
Opsi berikut dipahami;
-Otomatis
Opsi ini dapat digunakan untuk menentukan pengujian otomatis. Tes otomatis tidak memerlukan
bantuan manusia.
-BAse_RElatif
Opsi ini dapat digunakan untuk menyebabkan nama file relatif dianggap relatif terhadap
dasar pohon sumber. Lihat aeuconf(5) untuk pengguna yang sesuai
Pilihan.
-Current_RElative
Opsi ini dapat digunakan untuk menyebabkan nama file relatif dianggap relatif terhadap
direktori saat ini. Ini biasanya default. Lihat aeuconf(5) untuk
preferensi pengguna yang sesuai.
-Mengubah jumlah
Opsi ini dapat digunakan untuk menentukan perubahan tertentu dalam suatu proyek. Lihat
Aegis(1) untuk deskripsi lengkap tentang opsi ini.
-Membantu
Opsi ini dapat digunakan untuk memperoleh informasi lebih lanjut tentang cara menggunakan Aegis
program.
-Daftar
Opsi ini dapat digunakan untuk mendapatkan daftar subjek yang sesuai untuk perintah ini.
Daftarnya mungkin lebih umum dari yang diharapkan.
-MANUAL Opsi ini dapat digunakan untuk menentukan pengujian manual. Tes manual membutuhkan beberapa manusia
intervensi, misalnya: konfirmasi beberapa perilaku layar (X11, misalnya), atau
beberapa tindakan pengguna, "cabut kabel ethernet sekarang".
-Tidak_Logging
Opsi ini dapat digunakan untuk menonaktifkan pencatatan otomatis keluaran dan kesalahan untuk
file. Ini sering berguna ketika beberapa perintah perlindungan digabungkan dalam sebuah shell
Script.
-Keluaran nama file
Opsi ini dapat digunakan untuk menentukan nama file yang akan ditulis dengan
nama file pengujian ditentukan secara otomatis. Berguna untuk menulis skrip.
-Proyek nama
Opsi ini dapat digunakan untuk memilih proyek yang diminati. Ketika tidak -Proyek
opsi ditentukan, AEGIS_PROJECT variabel lingkungan dikonsultasikan. Jika
yang tidak ada, milik pengguna $HOME/.aegisrc file diperiksa untuk default
bidang proyek (lihat aeuconf(5) untuk informasi lebih lanjut). Jika itu tidak ada,
ketika pengguna hanya mengerjakan perubahan dalam satu proyek, proyek
nama default untuk proyek itu. Jika tidak, itu adalah kesalahan.
-Templat
Opsi ini dapat digunakan untuk menentukan bahwa templat file baru harus digunakan, bahkan
jika file sudah ada.
-No_TEMPlat
Opsi ini dapat digunakan untuk menentukan bahwa templat file baru tidak boleh digunakan,
bahkan jika file tidak ada (file kosong apa pun akan dibuat).
-Pendek
Opsi ini dapat digunakan untuk menyebabkan cantuman menghasilkan minimal
informasi. Biasanya berguna untuk skrip shell.
-Bertele-tele
Opsi ini dapat digunakan untuk menyebabkan aegis menghasilkan lebih banyak output. Secara default perlindungan
hanya menghasilkan output pada kesalahan. Ketika digunakan dengan -Daftar opsi opsi ini
menyebabkan judul kolom ditambahkan.
-Tunggu Opsi ini dapat digunakan untuk meminta perintah Aegis untuk menunggu kunci akses, jika
mereka tidak dapat diperoleh dengan segera. Default untuk pengguna lock_wait_preferensi
jika tidak ditentukan, lihat aeuconf(5) untuk informasi lebih lanjut.
-Tidak_Tunggu
Opsi ini dapat digunakan untuk meminta perintah Aegis untuk mengeluarkan kesalahan fatal jika mengakses
kunci tidak dapat diperoleh dengan segera. Default untuk pengguna
lock_wait_preferensi jika tidak ditentukan, lihat aeuconf(5) untuk informasi lebih lanjut.
Lihat juga Aegis(1) untuk opsi yang umum untuk semua perintah perlindungan.
Semua opsi dapat disingkat; singkatan didokumentasikan sebagai huruf besar,
semua huruf kecil dan garis bawah (_) adalah opsional. Anda harus menggunakan berturut-turut
urutan huruf opsional.
Semua opsi tidak peka huruf besar/kecil, Anda dapat mengetiknya dalam huruf besar atau huruf kecil atau a
kombinasi keduanya, kasus tidak penting.
Misalnya: argumen "-project, "-PROJ" dan "-p" semuanya ditafsirkan sebagai
-Proyek pilihan. Argumen "-prj" tidak akan dipahami, karena berurutan
karakter opsional tidak disediakan.
Opsi dan argumen baris perintah lainnya dapat dicampur secara sewenang-wenang di baris perintah,
setelah pemilih fungsi.
Nama opsi panjang GNU dipahami. Karena semua nama opsi untuk Aegis panjang,
ini berarti mengabaikan awalan tambahan '-'. NS "--Option=nilai"konvensi juga
mengerti.
DISARANKAN ALIAS
Alias yang disarankan untuk perintah ini adalah
csh% alias tidak 'aegis -nt \!* -v'
sh$ aent(){aegis -nt "$@" -v}
GALAT
Ini adalah kesalahan jika perubahan tidak dalam makhluk dikembangkan negara.
Ini adalah kesalahan jika perubahan tidak ditetapkan ke pengguna saat ini.
EXIT STATUS
Aegis perintah akan keluar dengan status 1 pada kesalahan apa pun. NS Aegis perintah hanya akan
exit dengan status 0 jika tidak ada error.
LINGKUNGAN VARIABEL
Lihat Aegis(1) untuk daftar variabel lingkungan yang dapat mempengaruhi perintah ini. Lihat
aepconf(5) untuk file konfigurasi proyek proyek_spesifik bidang untuk cara mengatur
variabel lingkungan untuk semua perintah yang dijalankan oleh Aegis.
Gunakan aent online menggunakan layanan onworks.net