EnglezăFrancezăSpaniolă

Ad


Favicon OnWorks

checkbox-cli - Online în cloud

Rulați checkbox-cli în furnizorul de găzduire gratuit OnWorks prin Ubuntu Online, Fedora Online, emulator online Windows sau emulator online MAC OS

Aceasta este comanda checkbox-cli care poate fi rulată în furnizorul de găzduire gratuit OnWorks folosind una dintre multiplele noastre stații de lucru online gratuite, cum ar fi Ubuntu Online, Fedora Online, emulator online Windows sau emulator online MAC OS

PROGRAM:

NUME


checkbox_ng - CheckboxNG Documentație

CheckboxNG este un instrument de testare hardware util pentru certificarea laptopurilor, desktop-urilor și serverelor
cu Ubuntu. Este o nouă versiune de Checkbox care este construită direct deasupra PlainBox

Caseta de selectareNG înlocuiește Casetă de selectare, acolo unde este cazul.

AVERTISMENT:
Documentația este în curs de dezvoltare. Unele lucruri sunt greșite, inexacte sau descriu
obiectivele de dezvoltare mai degrabă decât starea actuală.

INSTALARE


CheckboxNG poate fi instalat dintr-un PPA (recomandat) sau pypi pe Ubuntu Precise (12.04) sau
mai nou.

$ sudo add-apt-repository ppa:checkbox-dev/ppa && sudo apt-get update && sudo apt-get install checkbox-ng

ALERGARE GRAJD ELIBERARE UPDATE ÎNCERCĂRI


CheckboxNG are suport special pentru rularea testelor de actualizări stabile ale versiunilor într-un mod automat
manieră. Aceasta rulează toate joburile din sru.listă albă și trimite rezultatele către
site-ul web de certificare.

Pentru a rula teste SRU, va trebui să cunoașteți așa-numitul Secure ID al dispozitivului pe care îl aflați
testarea. Odată ce știi că tot ce trebuie să faci este să alergi:

$ caseta de selectare sru $secure_id submission.xml

Al doilea argument, submission.xml, este un nume al fișierului alternativ care este creat doar
atunci când trimiterea datelor către site-ul web de certificare nu funcționează din orice motiv.

RAPORTAREA GANDACI


Pentru a raporta erori în proiectul Checkbox, veți avea nevoie de un cont launchpad. S-ar putea să găsiți
instrucțiuni on cum la crea unu <https://help.launchpad.net/YourAccount/NewAccount>
util. Odată ce ai un cont, poți raportează gandaci <https://bugs.launchpad.net/checkbox-
proiect/+filebug>.

Pe pagina respectivă puteți selecta proiectul pe care doriți să depuneți eroarea (folosim un număr de
proiecte pentru a coordona lansările și preferăm să avem bug-uri asociate cu corespunzătoare
parte a casetei de selectare). Dacă știți care este proiectul potrivit de utilizat, trebuie doar să îl utilizați și să depuneți bug-ul. Dacă
nu cunoașteți atât de mult elementele interne ale casetei de verificare sau aveți îndoieli, doar puneți-o pe bază
Proiectul „Checkbox” (puteți folosi acest direcționa legătură
<https://bugs.launchpad.net/checkbox/+filebug>.) Un membru al echipei de dezvoltare va
revizuiește-ți bug-ul și reatribuiește-l în locația corespunzătoare. Numărul de eroare nu va
schimba atunci când se întâmplă asta.

THE CASETA DE BIFAT STIVA


Checkbox Stack este o colecție de proiecte care împreună constituie o testare completă
și soluție de certificare. Este compus din următoarele părți (vezi tabelul de mai jos pentru
detalii suplimentare). Toate proiectele sunt legate de la Platforma de lansare proiect grup
<https://launchpad.net/checkbox-project>.

Arhitectură Diagramă
[imagine: Diagrama arhitecturii] [imagine]

Această diagramă conține o aproximare la nivel înalt a arhitecturii actuale Checkbox.
Există trei „stâlpi” principali. În stânga avem capăt produse. Acestea sunt instrumente reale
pe care o folosesc certificarea și inginerii. În dreapta avem test piaţă. Acest lucru este
o piață deschisă de furnizori și furnizori de teste. Testele sunt împachetate în recipiente cunoscute ca
furnizorii. În centru avem trei componente comune. Aceștia implementează cea mai mare parte a
framework și interfețe utilizator pentru execuția testului. În cele din urmă, în colțul din stânga jos, acolo
este o parte a casetei de selectare (o bibliotecă) care este partajată cu HEXR pentru anumite sarcini. HEXR este a
aplicație web în afara domeniului de aplicare utilizată de o parte a procesului de certificare. Săgețile implică
comunicarea cu forma săgeții arată cine cheamă cine.

După cum am menționat anterior, în coloana centrală există trei componente principale ale codului partajat
(distribuit de toată lumea care utilizează produsele finale care sunt discutate mai jos). Codul partajat este
compus din plainbox, checkbox-ng și checkbox-gui. Responsabilitățile componente sunt
discutat mai detaliat în tabelul de mai jos. Aici putem vedea că checkbox-gui a folosit DBus
API-ul expus de checkbox-ng, care la rândul său utilizează checkbox-support (o bibliotecă de ajutor
separate, așa că partajați un cod cu HEXR) și plainbox.

În coloana din dreapta sunt diferiți furnizori de teste. Proiectul casetei de selectare este
producerea și menținerea unui număr de furnizori (a se vedea tabelul de mai jos), dar este de așteptat
că utilizatorii noștri din aval își vor produce și proprii furnizori (specifici unui client sau
proiect). În cele din urmă, unii furnizori pot proveni de la terți care vor adopta
format.

În sfârșit, în colțul din stânga jos, biblioteca partajată, această bibliotecă conține mulți analizatori
de diferite formate de fișiere și formate de ieșire. Din punct de vedere tehnic, această bibliotecă este o dependență de
HEXR, casetă de selectare-ng și a furnizorilor. Ca o complexitate suplimentară, biblioteca trebuie apelată
din codul python3 și codul python2.

NOTĂ:
Comunicarea dintre checkbox-ng și plainbox este bidirecțională. Oferte Plainbox
unele interfețe de bază și puncte de extensie. Toate acestea sunt expuse prin plainbox
(folosind API-uri comune), dar unele dintre acestea sunt implementate de fapt în checkbox-ng.

AVERTISMENT:
Toate API-urile interne sunt semi-instabile. API-ul DBus este mai stabil în practică, dar ar trebui
să nu se bazeze pe. Proiectele sunt încurajate să fie îmbinate în lp:checkbox unde API
tranzițiile pot fi gestionate cu grație. Singurul API stabil este formatul de fișier
caietul de sarcini (definiții postului și lumini albe). Specificația lansatorului va fi
stabilizat în următoarea ediție.

Component Descrieri
┌─────────────────────────┬─────────────────────── ──────────────────┬──────────────────────────────
│Proiect │ Responsabil pentru │ Tip │
├─────────────────────────┼─────────────────────── ──────────────────┼───────────────────────────────
│Casa de selectare generația următoare │ │ Aplicație │
│(GUI) │ · C++/QML │ │
│ │ interfață utilizator │ │
│ │ │ │
│ │ · Graficul │ │
│ │ lansator pentru │ │
│ │ furnizori, de exemplu │ │
│ │ caseta de selectare-certificare-client │ │
├─────────────────────────┼─────────────────────── ──────────────────┼───────────────────────────────
│Casa de selectare generația următoare │ │ Aplicație │
│(CLI) │ · Linia de comandă python │ │
│ │ interfață │ │
│ │ │ │
│ │ · interfața cu utilizatorul text │ │
│ │ │ │
│ │ · comanda de testare SRU │ │
│ │ │ │
│ │ · API-uri de certificare suplimentare │ │
│ │ │ │
│ │ · trimiterea datelor la Launchpad │ │
│ │ │ │
│ │ · trimiterea datelor către HEXR │ │
│ │ │ │
│ │ · serviciul DBus necesar │ │
│ │ GUI │ │
└─────────────────────────┴─────────────────────── ──────────────────┴─────────────────────────────────

│Certificarea client │ │ Furnizor │
│Furnizor │ · client-certificare-canonică │ │
│ │ executabil │ │
│ │ │ │
│ │ · certificare client │ │
│ │ liste albe │ │
├─────────────────────────┼─────────────────────── ──────────────────┼───────────────────────────────
│Certificarea serverului │ │ Furnizor │
│Furnizor │ · certificare server │ │
│ │ liste albe │ │
│ │ │ │
│ │ · liste albe suplimentare de server │ │
├─────────────────────────┼─────────────────────── ──────────────────┼───────────────────────────────
│Server System-on-Chip │ │ Furnizor │
│Furnizor de certificare │ · Certificare server SoC │ │
│ │ liste albe │ │
├─────────────────────────┼─────────────────────── ──────────────────┼───────────────────────────────
│Checkbox Provider │ │ Provider │
│ │ · Aproape toate definițiile postului │ │
│ │ │ │
│ │ · Majoritatea „scripturilor” personalizate │ │
│ │ │ │
│ │ · Lista albă implicită și SRU │ │
├─────────────────────────┼─────────────────────── ──────────────────┼───────────────────────────────
│Furnizor de resurse │ │ Furnizor │
│ │ · Aproape toate joburile de resurse │ │
│ │ │ │
│ │ · Aproape toate „scripturile” de resurse │ │
├─────────────────────────┼─────────────────────── ──────────────────┼───────────────────────────────
│Suport casetă de selectare │ │ Bibliotecă │
│ │ · Cod de suport pentru diverse │ │
│ │ furnizori │ │
│ │ │ │
│ │ · Analizoare pentru multe formate de text │ │
├─────────────────────────┼─────────────────────── ──────────────────┼───────────────────────────────
│PlainBox │ │ Bibliotecă și dezvoltare │
│ │ · Aproape toată logica de bază │ Setul de instrumente │
│ │ │ │
│ │ · RFC822 (definiția postului) │ │
│ │ analizator │ │
│ │ │ │
│ │ · Gestionarea configurației │ │
│ │ │ │
│ │ · Sesiune de testare │ │
│ │ (suspendare/reluare) │ │
│ │ │ │
│ │ · Conducător de locuri de muncă │ │
│ │ │ │
│ │ · Lansator de încredere │ │
│ │ │ │
│ │ · Rezolvator de dependență │ │
│ │ │ │
│ │ · Manevrarea liniei de comandă │ │
│ │ │ │
│ │ · XML, HTML și XSLX │ │
│ │ exportatori │ │
│ │ │ │
│ │ · și mai mult... │ │
│ │ │ │
│ │ · Setul de instrumente pentru dezvoltarea furnizorului │ │
│ │ │ │
│ │ · „furnizor de pornire în casetă simplă” │ │
│ │ │ │
│ │ · implementarea „manage.py” │ │
└─────────────────────────┴─────────────────────── ──────────────────┴─────────────────────────────────

│Casa de selectare moștenită (nu │ │ Aplicație monolitică │
│întreținute mai mult timp) │ · Aplicații │ Bibliotecă și date │
│ │ │ │
│ │ · Qt4 GUI │ │
│ │ │ │
│ │ · GUI GUI │ │
│ │ │ │
│ │ · Urwid (text) GUI │ │
│ │ │ │
│ │ · Miez │ │
│ │ │ │
│ │ · Plugin și Eveniment/Mesaj │ │
│ │ Motor │ │
│ │ │ │
│ │ · Aproape fiecare caracteristică │ │
│ │ a implementat un plugin de bază │ │
│ │ │ │
│ │ · Date │ │
│ │ │ │
│ │ · Locuri de muncă și liste albe │ │
└─────────────────────────┴─────────────────────── ──────────────────┴─────────────────────────────────

istoria schimbărilor


NOTĂ:
Acest jurnal de modificări conține doar un rezumat al modificărilor. Pentru o contabilizare mai exactă a
istoricul dezvoltării vă rugăm să inspectați direct istoricul sursei.

Caseta de selectareNG 0.23 (nelansat)
· Corectarea erorilor: https://launchpad.net/checkbox-ng/+milestone/0.23

Caseta de selectareNG 0.22
· Corectarea erorilor: https://launchpad.net/checkbox-ng/+milestone/0.22

Caseta de selectareNG 0.3
· Corectarea erorilor: https://launchpad.net/checkbox-ng/+milestone/0.3

Caseta de selectareNG 0.2
· Corectarea erorilor: https://launchpad.net/checkbox-ng/+milestone/0.2

Caseta de selectareNG 0.1
· Lansare inițială

· Suport pentru afișarea configurației

· Suport pentru rularea testelor SRU (testare de regresie automată)

TEST SCRIPTURI


„Scripturile” de testare sunt programe mici care sunt folosite pentru a ajuta la implementarea testelor.

testul_luminozitate
Acest script testează luminozitatea luminii de fundal a sistemelor poate fi schimbată folosind
interfețe kernel în /sys/class/backlight. Pot exista mai multe interfețe de ales
de la, astfel încât interfața corectă de utilizat este selectată folosind euristica prescrisă în
https://www.kernel.org/doc/Documentation/ABI/stable/sysfs-class-backlight. Luminozitatea
este manipulat prin actualizarea fișierului de luminozitate al interfeței și a luminozității_actuale
fișierul este verificat pentru a vedea dacă valoarea a fost modificată la luminozitatea selectată.

PROFILURILE CONFIGURARE


Profilurile de execuție sau lansatoarele permit specificarea unui set predefinit de configurație
opțiuni care permit personalizarea ecranului de întâmpinare, listele albe afișate precum și
salvarea rezultatelor la nivel local sau trimiterea fișierului de trimitere la Launchpad sau la Certificare
baza de date/HEXR, precum și alți parametri.

Setările profilului fac parte dintr-un script de lansare și folosesc fie checkbox-gui sau
checkbox-launcher (în modul text/CLI) ca un shebang pentru a interpreta cheia/valorile.

Acest document oferă o referință despre funcționalitatea și sintaxa lansatorului. Pentru a înțelege
design și concepte și vedeți mai multe exemple, poate doriți să citiți tutorial cum să
creați lansatoare și relația lor cu caseta de verificare moștenită.

Sintaxă
Deoarece checkbox-gui este o aplicație Qt, setările trebuie să respecte regulile în stil INI ale
QSetări <http://qt-project.org/doc/qt-5/QSettings.html> clasa.

Sunt acceptate valori cu mai multe linii, dar trebuie incluse între ghilimele duble și linii suplimentare
trebuie să înceapă cu un spațiu, de exemplu:

[categorie]
cheie = „Bună ziua
Lume"

· Din QML:

settings.value(„categorie/cheie”, i18n.tr(„valoare_default”))

· Din C++:

setări->valoare(„categorie/cheie”, app.tr(„valoare_default”))

Dimpotrivă, trebuie să urmeze lansatoarele specifice casetei de selectare a lansatorului Piton ConfigParser
<https://docs.python.org/3/library/configparser.html#supported-ini-file-structure> sintaxa.

De asemenea, unele setări au sens doar pentru GUI sau CLI și, prin urmare, nu sunt înțelese de
celălalt. Acestea sunt notate mai jos.

Suportat setări cont
bun venit/titlu
Titlul aplicației QML și antetul ecranului de bun venit. Implicit la Sistem Testarea.

bun venit/text
Mesaj de bun venit care va fi afișat pe primul ecran (checkbox-gui acceptă text îmbogățit
permițând marcajul în stil HTML). Implicit la Bine ati venit la Sistem Testare. [...]

suite/whitelist_filter
Expresie regulată pentru a se potrivi cu un subset de nume de fișiere din lista albă. Pe caseta de selectare-gui it
implicit la .*. Pentru checkbox-launcher nu are implicit și trebuie sa fi definit.

selectie_suită/listă albă
Modelul cu care listele albe trebuie să se potrivească pentru a fi preselectat. Expresie regulată Python.
Nu are implicit și trebuie sa fi definit. (doar CLI)

suite/skip_whitelist_selection
Dacă este setat la adevărat, utilizatorul nu va primi o listă albă de alegere. Doar cele preselectate
vor fi selectate cele (vezi whitelist_selection). (doar CLI).

suite/skip_test_selection
Dacă se setează la true, utilizatorului nu i se va permite să deselecteze teste înainte de a rula: toate testele
în lista albă selectată va fi rulat. (doar CLI)

transmitere/mesaj
Textul antetului pop-up-ului de trimitere, afișat utilizatorului după trimitere
efectuat. (doar GUI)

trimitere/tip_input
Afișați un câmp de introducere a textului pentru a introduce ID-ul securizat sau adresa LP (implicit). La
doar salvați rezultatele pe disc, trebuie să utilizați nici unul valoare. Pentru a valida folosind un regex,
trebuie să fie regex. (doar GUI)

transmitere/regex
Expresie regulată pentru a valida introducerea în câmpul de trimitere (de exemplu, e-mail, secure_id)
dacă input_type este regex. (doar GUI). RegExpValidator, implicit .*

submission/input_placeholder
Text temporar de pus în câmpul de introducere, folosit pentru a ghida utilizatorul. Platforma de lansare E-mail
Adresă (implicit) sau Asigura ID (15 or 18 personaje). (doar GUI)

submission/secure_id
Secure_id preconfigurat pentru a completa câmpul de text.

trimitere/ok_btn_text
Eticheta pentru butonul „Trimite”. Trimite mesaj REZULTATE (implicit) sau Economisiți REZULTATE. (GUI
numai)

trimitere/anulare_avertizare
Arată utilizatorului dacă dorește să iasă fără să fi salvat raportul. Sunteți pe cale
pentru a ieși din acest test fără a salva raportul de rezultate. Doriți să salvați
raport? (doar GUI)

trimitere/submit_to_hexr
Boolean, adăugați un antet suplimentar pentru a trimite și rezultatele către HEXR (funcționează cu
transport de certificare)

exporter/xml_export_path
Locația pentru salvarea fișierului de trimitere XML, dacă este setată la un șir gol, se va deschide a
dialog de salvare a fișierului. Mod implicit: /tmp/submission.xml (doar GUI)

transport/submit_to
Punct final de transport. Implicit la . Acceptă trimiterea către LP (implicit,
valoare platforma de lansare), certificare, Sau local (salvare pe disc)

transport/submit_url
URL la care trimiteți rezultatele. Acest lucru permite încărcarea pe diferite site-uri web, de exemplu
se poate încărca direct pe hexr sau pe site-urile de instalare. Folosit numai cu
certificare submit_to value.

transport/config_filename
Numele unui fișier de configurare personalizat de încărcat. Fișierele de configurare sunt utilizate în principal pentru definire
variabile de mediu. (doar CLI)

transport/dont_suppress_output
Dacă sunt setate, resursele, lucrările locale și atașamentele vor fi afișate pe ecran, aceasta
generează mult text și este în principal pentru depanare. (doar CLI)

CUTIE DE BEF/CUTIE PUBLICA LANSATORI TUTORIAL


Acest document oferă o explicație a motivului pentru care sunt necesare lansatoarele, ce puteți realiza
cu ei și trece peste mai multe exemple pentru a le descrie mai bine capacitățile. Pentru o
referință detaliată despre setările care sunt acceptate de lansatoare și sintaxă specifică pentru
fișiere de lansare, uită-te la /profile.

Moştenire caseta comportament Control
În trecut, comportamentul Checkbox era controlat de trei mecanisme.

În primul rând, funcțiile casetei de selectare ar putea fi îmbunătățite prin adăugarea de pluginuri. De exemplu, cel
capacitatea de a trimite pe site-ul web de certificare a fost adăugată de caseta de selectare-pachetul de certificare
folosind un plugin. Pluginurile incluse prin checkbox-certificare și care adaugă un comportament nou
caseta de selectare la bază au fost:

/usr/share/checkbox-certification/plugins/certify_message.py
/usr/share/checkbox-certification/plugins/submission_info.py
/usr/share/checkbox-certification/plugins/backup.py
/usr/share/checkbox-certification/plugins/certify_prompt.py
/usr/share/checkbox-certification/plugins/certify_report.py
/usr/share/checkbox-certification/plugins/certify_schemas.py

Acestea au adăugat modalitatea de a solicita utilizatorului date specifice trimiterii, de a genera xml
raport și alte funcții.

În continuare, comportamentele pluginurilor ar putea fi configurate sau controlate folosind configurație
fișiere, care sunt „în cascadă”. Un fișier de configurare poate include și alții, iar aceștia pot, la rândul lor
includeți pe alții.

Acesta este un exemplu de fișier de configurare principal proiect-qt.ini specific proiectului. Este primul
fișier citit atunci când clientul specific proiectului este lansat. Unele setări sunt prescurtate:

[MOD IMPLICIT]
include = %(checkbox_oem_share)s/configs/checkbox-project-base-qt.ini %(checkbox_project_share)s/configs/checkbox-project-base.ini

[checkbox/plugins/environment_info]
depozite = deb http://.*\(arhivă\|securitate\).ubuntu.com/ubuntu precise-security
routere = multiple
server_iperf = 10.20.30.40
liste_surse = / Etc / apt / sources.list
wpa_n_psk = parola
wpa_n_ssid = punct de acces

[checkbox/plugins/user_interface]
title = Proiectul meu Testarea sistemului

Observați linia include, aceasta îi indică să încarce fișierul de configurare pentru
checkbox-project-base-qt și checkbox-project-base. Checkbox-project-base-qt încarcă fișierul
configurații pentru checkbox-certificare și checkbox-project. Setările sunt în cascadă, astfel încât
opțiunile de configurare din partea de sus le înlocuiesc pe cele din partea de jos.

În cele din urmă, „binarul” folosit pentru a invoca caseta de selectare este un script shell care definește unde să găsești
lucrurile trebuie să ruleze caseta de selectare: puteți defini un director de partajare, o anumită date
director, indicați un fișier de configurare și definiți unele variabile de mediu pe care le aveți
poate avea nevoie în timpul testării. Iată un exemplu pentru checkbox-project-qt:

#!/ bin / bash
exportă CHECKBOX_DATA=${CHECKBOX_DATA:-~/.caseta de selectare}
exportă CHECKBOX_SHARE=${CHECKBOX_SHARE:-/usr/share/checkbox}
export CHECKBOX_OPTIONS=${CHECKBOX_OPTIONS:---log-level=debug --log=$CHECKBOX_DATA/checkbox-project.log}
export CHECKBOX_CERTIFICATION_SHARE=${CHECKBOX_CERTIFICATION_SHARE:-/usr/share/checkbox-certification}
export CHECKBOX_OEM_SHARE=${CHECKBOX_PROJECT_BASE_SHARE:-/usr/share/checkbox-project-base}
exportă CHECKBOX_PROJECT_SHARE=${CHECKBOX_PROJECT_SHARE:-/usr/share/checkbox-project}

# Comoditate pentru definirea directorului PYTHONPATH.
if [ "$CHECKBOX_SHARE" != "/usr/share/checkbox" ]; atunci
export PYTHONPATH="$CHECKBOX_SHARE:$PYTHONPATH"
fi

python3 $CHECKBOX_SHARE/run „$@” $CHECKBOX_PROJECT_SHARE/configs/$(basename $0).ini

Aici puteți vedea că definește unele locații și o parte importantă este python3 final
linie, unde va localiza și va folosi fișierul de configurare .ini pe care l-am văzut mai devreme.

Această organizare ierarhică era foarte puternică, dar era și greu de gestionat și
a avut și unele limitări. O parte din munca pe care am făcut-o cu caseta de selectare a fost să integrăm toate
pluginuri specifice proiectului în trunchiul casetei de selectare, în acest fel, tot codul de bază este într-un singur loc,
iar variantele specifice proiectului furnizează doar joburi, liste albe, date și configurație,
fără a adăuga un comportament nou.

Nou cutie simplă comportament Control
Spre deosebire de checkbox, nucleul plainbox-ului este monolit și nu are conceptul de pluginuri. Acest
face mai ușor de înțeles și de lucru. Nucleul plainbox are implementări pentru toți
funcțiile din vechile pachete de casete de selectare, deci nu sunt necesare completări pentru a utiliza funcțiile
cum ar fi transmiterea către certificare sau generarea de rapoarte.

Ceea ce numim plainbox este biblioteca care implementează toate funcționalitățile, după cum se poate vedea
aici.

Plainbox oferă instrumente pentru a ajuta dezvoltatorii de teste să scrie și să împacheteze teste. Acestea sunt
furnizate în „furnizori”, care sunt entități concepute să încapsuleze descrierile testelor,
scripturi personalizate pentru testare, liste albe și date asortate. Au fost concepute pentru a permite
echipele să scrie și să livreze testele personalizate fără să-și facă prea multe griji cu privire la
codul plainbox subiacent.

Pentru a obține informații despre cum să scrieți teste și furnizori, consultați Tutorialul pentru furnizori

Cu toate acestea, atunci când folosim aceste teste pentru a verifica un sistem real, am vrut să oferim
ceva mai ușor și mai aproape de experiența utilizatorului din caseta de selectare. Am creat doi clienți,
checkbox-gui și checkbox-cli, care aveau niște comportamente hardcoded, și am început și noi
crearea altor clienți care s-au bazat pe aceștia, dar au fost specifici scopului. De exemplu,
am avut o versiune a casetei de selectare pentru testarea SRU, alta pentru certificarea serverului și așa mai departe.

Dar apoi ne-am dat seama că o mare parte din cod a fost duplicat și comportamentele erau comune
cu excepția câtorva modificări. Așa că am venit cu conceptul de „lansatoare”, care sunt
oarecum similar cu fișierele de configurare ale casetei de selectare și cu lansatoarele de script shell.

Ideea este că checkbox-gui și checkbox-cli au niște comportamente de bază, deoarece acestea
sunt clienții care sunt livrați implicit cu ubuntu. Ele pot arăta toate cele disponibile
liste albe, afișează un mesaj de bun venit predefinit și, la sfârșit, va permite utilizatorului să vadă
html și trimiteți-l la launchpad folosind adresa lor de e-mail, similară cu versiunea
din caseta de selectare livrată cu Ubuntu.

În loc să utilizați comutatoare complicate de linie de comandă, lansatoarele vă permit să configurați unele
comportamente opționale pentru a vă personaliza experiența de testare. Un lansator conține setări și
este similar cu un script shell, dar interpretul va fi fie checkbox-gui sau
casetă de selectare-lansator.

Iată câteva exemple de ceea ce se poate face cu lansatoare.

Ca o surpriză, checkbox-cli este în sine un lansator:

#!/usr/bin/env casetă de selectare-lansator
[Bine ati venit]
text = Bun venit la Testarea sistemului!
Caseta de selectare oferă teste pentru a confirma că sistemul dumneavoastră funcționează corect.
După ce ați terminat de rulat testele, puteți vizualiza un raport rezumat pentru
sistemul dvs..
Avertisment: Unele teste ar putea face ca sistemul dumneavoastră să se înghețe sau să devină
nu răspunde. Vă rugăm să vă salvați toată munca și să închideți toate celelalte rulări
aplicații înainte de a începe procesul de testare.

[după]
whitelist_filter = ^implicit$
whitelist_selection = ^implicit$
skip_whitelist_selection = Adevărat

[transport]
submit_to = launchpad

Puteți vedea aici că personalizăm câteva opțiuni: afișează un mesaj de bun venit, automat
selectează lista albă implicită și va trimite la launchpad când este terminată.

Un exemplu de lansare grafică este canonical-certification-client.

#!/usr/bin/checkbox-gui

[Bine ati venit]
title = „Certificarea sistemului”
text = " Bun venit la System Certification! Această aplicație va
aduna informații din sistemul tău. Apoi vi se vor cere teste manuale
confirmați că sistemul funcționează corect. În cele din urmă, vi se va cere
ID-ul securizat al computerului pentru a transmite informațiile la certificare
Bază de date. Pentru a afla cum să creați sau să găsiți ID-ul securizat,
vă rugăm să vedeți aici: certification.canonical.com "

[după]
whitelist_filter = "^client-(cert|autotest).*"

[depunerea]
tip_input = „regex”
input_placeholder = „ID securizat (15 sau 18 caractere)”
ok_btn_text = „Trimiteți rezultatele”
submit_to_hexr = "adevărat"

[exportator]
xml_export_path = "/tmp/submission.xml"

[transport]
submit_to = "certificare"

Lansatoarele grafice sunt puțin mai complicate, dar în esență sunt similare, ceea ce este
vă permite să definiți niște parametri pentru a vă personaliza experiența de testare.

Un lansator în mod text foarte simplu este canonical-hw-collection, care rulează doar baza
informațiile hardware testează și le încarcă într-o bază de date hardware:

[Bine ati venit]
title = Colectarea informațiilor hardware
text = Colectarea informațiilor hardware. Este posibil să vi se solicite parola.
Acest proces va dura aproximativ 30 de secunde și vi se va oferi
cu o adresă URL prin care vă puteți confirma și înregistra hardware-ul
depunere.

[după]
whitelist_filter = ^hwsubmit$
whitelist_selection = ^hwsubmit$
skip_whitelist_selection = Adevărat
skip_test_selection = Adevărat

[depunerea]
# Un secure_id fals asigură că nu îl întrebăm
# Poate fi întotdeauna suprascris în fișierul .conf.
secure_id = 000

[transport]
submit_to = certificare
submit_url = https://hardware-server.example.com/

În cele din urmă, canonical-driver-test-suite oferă atât un lansator grafic, cât și unul text,
care sunt echivalente din punct de vedere funcțional:

#!/usr/bin/checkbox-gui

[Bine ati venit]
title = „Suită de testare a șoferului canonic”
text = " Bun venit la Canonical Driver Test Suite.

Acest program conține teste automate și manuale pentru a vă ajuta să descoperiți
probleme care vor apărea la rularea driverelor de dispozitiv pe Ubuntu.

Această aplicație va ghida utilizatorul prin aceste teste într-un
ordine predeterminată și colectează automat atât informații despre sistem cât
precum și rezultatele testelor. De asemenea, va solicita utilizatorului introducerea manuală
este necesară testarea.

Durata de rulare a testelor este determinată de testele pe care le decideți
a executa. Utilizatorul va avea posibilitatea de a personaliza rularea de testare la
găzduiește șoferul și timpul disponibil pentru testare.

Pentru a începe, faceți clic pe butonul Continuare de mai jos și urmați ecranul
instrucțiuni. "

[după]
whitelist_filter = "^ihv-.*"

[depunerea]
ok_btn_text = „Salvați rezultatele”
tip_input = „niciunul”

[exportator]
xml_export_path = ""

[transport]
submit_to = "local"

Modul text:

#!/usr/bin/env casetă de selectare-lansator
[Bine ati venit]
text = Bun venit la Canonical Driver Test Suite
Acest program conține teste automate și manuale pentru a vă ajuta să descoperiți
probleme care vor apărea la rularea driverelor de dispozitiv pe Ubuntu.
Această aplicație va ghida utilizatorul prin aceste teste într-un
ordine predeterminată și colectează automat atât informații despre sistem cât
precum și rezultatele testelor. De asemenea, va solicita utilizatorului introducerea manuală
este necesară testarea.
Durata de rulare a testelor este determinată de testele pe care le decideți
a executa. Utilizatorul va avea posibilitatea de a personaliza rularea de testare la
găzduiește șoferul și timpul disponibil pentru testare.
Pentru a începe, faceți clic pe butonul Continuare de mai jos și urmați ecranul
instructiuni.

[după]
# Liste albe afișate în ecranul de selecție a suitei
whitelist_filter = ^ihv-.*
# Whitelist_selection este obligatorie, așa că o setăm la o valoare falsă
# nu sunt preselectate liste albe.
whitelist_selection = fals

CASETA DE BIFAT ELIBERARE PROCESUL


Această pagină descrie pașii necesari pentru lansarea versiunilor Checkbox și Checkbox
Certificare la PPA stabil aparținând echipei de Certificare Hardware, în mod regulat
bază. Pe tot parcursul acestui document, termenul „Checkbox” este folosit ca termen general de acoperit
toate versiunile de Checkbox deținute de echipa de certificare hardware, în prezent Checkbox
însuși și extensiile de certificare Checkbox.

Descriere
În prezent, procesul rulează cu o cadență de două ori săptămânală, cu o nouă lansare a Checkbox la fiecare
doua saptamani. Aceasta acoperă zece zile lucrătoare și sarcinile efectuate în fiecare zi sau grup de
zile este descris mai jos:

· Zilele 1-4: Timpul permis pentru introducerea de noi modificări în portbagaj.

· Ziua 5: Modificările sunt îmbinate din trunchiul lp:caseta de selectare și lp:checkbox-certification la
ramurile lor de eliberare respective. Jurnalele de modificări pentru ambele sunt lovit în acest moment şi
revizuirile sunt etichetate. În această etapă, poate fi, de asemenea, necesar să copiați pachetul „fwts”
de la FWTS Stabil PPA <https://launchpad.net/~firmware-testing-team/+archive/ppa-
fwts-stabil> la Checkbox Eliberați Testarea PPA <https://launchpad.net/~checkbox-
dev/+arhivă/testare>.

· Zilele 6-9: Testarea este efectuată de managerul de ediție pentru certificarea hardware
echipa și un reprezentant al echipei CE QA (clientul principal pentru Checkbox în
Canonic)

· Ziua 9: O întâlnire de lansare are loc între managerul de lansare pentru Hardware
Echipa de certificare și reprezentantul echipei CE QA. Probleme potențiale cu
eliberarea sunt identificate și se fac planuri pentru a le rezolva.

· Ziua 10: Versiunea testată de Checkbox este copiată în PPA stabil.

Platforma de lansare Sucursale
Procesul de lansare necesită ramuri separate în Launchpad care conțin un semi-înghețat
versiunea codului care se afla în portbagaj în ziua 5 a procesului. Aceasta este așa că dezvoltarea
poate continua pe portbagaj fără a pune în pericol stabilitatea versiunii care urmează să fie lansată
Caseta de bifat. Relația dintre toate ramurile implicate în proces este prezentată mai jos:

· lp:checkbox/release <- lp:caseta de selectare

· lp:checkbox-certification/release <- lp:checkbox-certification

· lp:~checkbox-dev/checkbox/checkbox-packaging-release <-
lp:~checkbox-dev/checkbox/checkbox-packaging

Audit a marcat gandaci
Înainte de a crea versiunea candidată, managerul de lansare ar trebui să examineze lista de erori
marcată pentru următoarea versiune a Checkbox. Ar trebui să viziteze caseta repere
<https://launchpad.net/checkbox/+milestonesmilestones> și localizați reperul datat cu
data lansării.

· Pentru erorile care sunt setate la În curs cu o ramură asociată - legătura cu ramura
proprietar pentru a vedea dacă fuziunea poate fi finalizată înainte de termenul limită.

· Pentru erori care sunt în orice altă stare neînchisă (cu excepția Repara Angajat) - re-evaluare
ei la următoarea etapă.

Tăiere il eliberaţi
Pentru a tăia versiunea, trebuie să îmbinăm modificările de la trunk în versiune
ramură, comite-le cu un mesaj adecvat și actualizează jurnalul de modificări în trunk astfel încât
modificările viitoare merg sub versiunea corectă. Pentru fiecare combinație de ramuri prezentată mai sus,
faceți următoarele (exemplul folosește lp:caseta de selectare și lp:checkbox/release):

bzr branch lp:checkbox/release checkbox-release
bzr branch lp:checkbox checkbox-trunk
caseta de selectare cd-lansare
current_stable=`head -n1 $(find . -name 'changelog') | grep -oP '(?<=\().*(?=\))'`
bzr merge lp:checkbox

în acest moment, dacă nu există modificări (altele decât una la debian/changelog) fuzionați, apoi facem
nu efectuează o eliberare a pachetului în cauză. În practică, acest lucru se întâmplă adesea cu
checkbox-certificare dar niciodată cu caseta:

bzr commit -m „Îmbinat în modificări de la rev$(bzr revno -r tag:$current_stable lp:checkbox) la rev$(bzr revno lp:checkbox) de la lp:checkbox”
bzr push lp:checkbox/release
cd `găsi . -nume 'debian'`; cd ..
eticheta bzr `head -n1 debian/changelog | grep -oP '(?<=\().*(?=\))'`
dch -r (salvați jurnalul de modificări modificate)
dch -i -U „Jurnal de modificări incrementat”
debcommit
bzr push lp:checkbox

Ultimul pas al procesului este de a realiza o construcție a pachetelor în
ppa:checkbox-dev/testing PPA. Pentru a face acest lucru, trebuie să mergem la paginile de rețete pentru
caseta şi / sau checkbox-certificare eliberează ramuri.

· checkbox-testing reţetă <https://code.launchpad.net/~checkbox-dev/+recipe/checkbox-
de testare>

· caseta de selectare-testare-certificare reţetă <https://code.launchpad.net/~checkbox-
dev/+rețetă/checkbox-certification-testing>

Construi Acum opțiunea ar trebui să fie disponibilă pe pagină. Faceți clic pe el pentru a începe o construcție.

Copierea Firmware Test Suită la il Testarea PPA
Instrumentul Firmware Test Suite este un instrument de testare pentru firmware-ul de sistem care este în mod natural puternic
utilizat de Checkbox. Pentru a vă asigura că este cea mai recentă versiune care conține remedieri și noi
testele/funcțiile necesare Checkbox sunt disponibile și, de asemenea, nu sparge nimic
Checkbox, trebuie să o lansăm alături de Checkbox. După tăierea eliberării dacă
Echipa de testare a firmware-ului a anunțat că este disponibilă o nouă versiune și că această versiune
ar trebui să fie utilizat pentru certificare, trebuie să îl copiem în PPA de testare. Pentru a face asta noi
trebuie să mergi la Copiați ofertele Vizualizează of il Firmware Test Suită (Stabil) PPA
<https://launchpad.net/~firmware-testing-team/+archive/ppa-fwts-stable/+copy-packages> și
selectați pachetele „fwts” pentru toate versiunile înapoi la Precise. Trebuie să setăm
„Destination PPA” ca „Checkbox Release Testing [~checkbox-dev/testing]” și „Copy
opțiuni la „Copiați fișierele binare existente”, apoi faceți clic pe „Copiați pachetele”. Acest pas atunci
trebuie repetat, dar setați câmpul „Destination PPA” la „PPA for Checkbox Developers”.
[~checkbox-dev/ppa]'.

Pagina Următoare → Eliberați of Checkbox e-mail
Pentru ca toată lumea să aibă posibilitatea de a efectua orice testare este necesară în timp util
după ce build-urile PPA au fost finalizate, trebuie trimis un e-mail la următoarele
lista de e-mail-uri:

· [e-mail protejat] <certificare hardware-
[e-mail protejat]>

· [e-mail protejat] <[e-mail protejat]>

Conținutul este de obicei cam așa:

Subiect: următoarea lansare a casetei de selectare (18)

Bună,

Următoarea versiune a Checkbox este disponibilă în
https://code.launchpad.net/~checkbox-dev/+archive/testing PPA.
Vă rugăm să-l testați după convenția dvs. Caseta de selectare se bazează pe revizuirea 2484 a
Certificarea lp:checkbox și Checkbox se bazează pe revizuirea 586 a
lp:checkbox-certification.

Multumesc,

Dacă una sau alta dintre Checkbox și Checkbox Certification nu au fost actualizate, atunci
nu este nevoie să menționăm acel pachet

Testarea il eliberaţi
Acum că lansarea a fost întreruptă, testarea ar trebui să aibă loc înainte de întâlnirea de lansare.
Din punctul de vedere al echipei de certificare, ceea ce trebuie testat este
caseta de selectare-certificare-client și caseta de selectare-server-certificare care formează baza pentru
CE QAs versiuni specifice OEM ale Checkbox-ului. Serverul de certificare Checkbox este testat în
Clientul de certificare CI loop Checkbox trebuie testat manual.

Eliberați Întâlnire
În ziua de joia dinaintea eliberării, are loc o întâlnire între un reprezentant al
echipa de certificare și un reprezentant al Comercial Inginerie QA echipă.
întâlnirea are loc la 7:30 UTC, așa cum se arată în acest articol calendar invita
<https://www.google.com/calendar/hosted/canonical.com/event?action=TEMPLATE&tmeid=Y3QxcWVla3ViMTRvMXByOHZlOTFvc283Y2NfMjAxMzA4MjlUMDczMDAwWiBicmVuZGFuLmRvbmVnYW5AY2Fub25pY2FsLmNvbQ&tmsrc=brendan.donegan%40canonical.com>.
O ordine de zi a întâlnirii este inclusă în invitație.

Editare il eliberaţi
Pentru a publica versiunea, trebuie pur și simplu să copiem un număr de pachete din Checkbox
Eliberați Testarea PPA <https://launchpad.net/~checkbox-dev/+archive/testing> la Piese metalice
Certificare Public PPA <https://launchpad.net/~hardware-certification/+archive/public>.
Pentru a face acest lucru mergem la Copiați ofertele Vizualizează of il Checkbox Eliberați Testarea PPA
<https://launchpad.net/~checkbox-dev/+archive/testing/+copy-packages> și selectați-le pe toate
versiuni ale următoarei liste de pachete: Caseta de bifat, checkbox-certificare, fwts. Face
asigurați-vă că câmpul „Destination PPA” este setat la „Public PPA for Hardware Certification”.
[~hardware-certification/public]” și că câmpul „Opțiuni de copiere” este setat la „Copiere
binare existente”, apoi faceți clic pe „Copiați pachetele”.

După ce se termină, un e-mail de anunț ar trebui să fie trimis la
[e-mail protejat] <[e-mail protejat]>.
Un șablon pentru anunț este inclus mai jos:

Bună,

O nouă versiune a casetei de selectare a fost încărcată în Hardware
Certificare Public PPA
(https://launchpad.net/~hardware-certification/+archive/public). The
Lansarea se bazează pe revizuirea 2294 a lp:checkbox

Multumesc,

Vă rugăm să atașați cea mai recentă parte a jurnalului de modificări ca note de lansare

· genindex

· modindex

· căutare

Utilizați checkbox-cli online folosind serviciile onworks.net


Servere și stații de lucru gratuite

Descărcați aplicații Windows și Linux

  • 1
    Bootloader Clover EFI
    Bootloader Clover EFI
    Proiectul s-a mutat la
    https://github.com/CloverHackyColor/CloverBootloader..
    Caracteristici: Porniți macOS, Windows și Linux
    în UEFI sau modul moștenit pe Mac sau PC cu
    UE...
    Descărcați bootloaderul Clover EFI
  • 2
    unitedrpms
    unitedrpms
    Alăturați-vă nouă în Gitter!
    https://gitter.im/unitedrpms-people/Lobby
    Activați depozitul URPMS din dvs
    sistem -
    https://github.com/UnitedRPMs/unitedrpms.github.io/bl...
    Descărcați unitedrpms
  • 3
    Boost bibliotecile C ++
    Boost bibliotecile C ++
    Boost oferă portabil gratuit
    biblioteci C++ revizuite de colegi. The
    se pune accent pe bibliotecile portabile care
    funcționează bine cu biblioteca standard C++.
    Vezi http://www.bo...
    Descărcați bibliotecile Boost C++
  • 4
    VirtualGL
    VirtualGL
    VirtualGL redirecționează comenzile 3D de la a
    Aplicația Unix/Linux OpenGL pe un
    GPU pe partea de server și convertește
    a redat imagini 3D într-un flux video
    cu care ...
    Descărcați VirtualGL
  • 5
    libusb
    libusb
    Bibliotecă pentru a activa spațiul utilizatorului
    programe de aplicație cu care să comunicați
    dispozitive USB. Public: Dezvoltatori, End
    Utilizatori/Desktop. Limbajul de programare: C.
    Categorii ...
    Descărcați libusb
  • 6
    ÎNGHIŢITURĂ
    ÎNGHIŢITURĂ
    SWIG este un instrument de dezvoltare software
    care conectează programele scrise în C și
    C++ cu o varietate de nivel înalt
    limbaje de programare. SWIG este folosit cu
    diferit...
    Descărcați SWIG
  • Mai mult »

Comenzi Linux

Ad