EngelsFransSpaans

Ad


OnWorks-favicon

checkbox-cli - Online in de cloud

Voer checkbox-cli uit in de gratis hostingprovider van OnWorks via Ubuntu Online, Fedora Online, Windows online emulator of MAC OS online emulator

Dit is de opdracht checkbox-cli die kan worden uitgevoerd in de gratis hostingprovider van OnWorks met behulp van een van onze meerdere gratis online werkstations zoals Ubuntu Online, Fedora Online, Windows online emulator of MAC OS online emulator

PROGRAMMA:

NAAM


checkbox_ng - CheckboxNG Documentatie

CheckboxNG is een hardwaretesttool die handig is voor het certificeren van laptops, desktops en servers
met Ubuntu. Het is een nieuwe versie van Checkbox die direct bovenop PlainBox is gebouwd

Selectievak NG vervangt Selectievakje, indien van toepassing.

WAARSCHUWING:
Documentatie is in ontwikkeling. Sommige dingen zijn fout, onnauwkeurig of beschrijven
ontwikkelingsdoelen in plaats van de huidige stand van zaken.

INSTALLATIE


CheckboxNG kan worden geïnstalleerd vanaf een PPA (aanbevolen) of pypi op Ubuntu Precise (12.04) of
nieuwer.

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

RUNNING STAL RELEASE UPDATE PROEVEN


CheckboxNG heeft speciale ondersteuning voor het uitvoeren van tests voor stabiele release-updates in een geautomatiseerd
manier. Hiermee worden alle taken van de . uitgevoerd sru.witte lijst en stuurt de resultaten naar de
certificering website.

Om SRU-tests uit te voeren, moet u de zogenaamde Secure ID weten van het apparaat dat u bent
testen. Als je eenmaal weet dat je alleen maar hoeft te rennen:

$ checkbox sru $secure_id indiening.xml

Het tweede argument, submission.xml, is een naam van het fallback-bestand dat alleen wordt gemaakt
wanneer het verzenden van de gegevens naar de certificeringswebsite om welke reden dan ook niet werkt.

RAPPORTAGE BUGS


Om bugs in het Checkbox-project te melden, heb je een launchpad-account nodig. Je kan vinden
instructies on hoe naar en je merk te creëren een <https://help.launchpad.net/YourAccount/NewAccount>
bruikbaar. Zodra u een account heeft, kunt u verslag bugs <https://bugs.launchpad.net/checkbox-
project/+bestandsfout>.

Op die pagina kunt u het project selecteren waarop u de bug wilt indienen (we gebruiken een aantal
projecten om releases te coördineren en we geven er de voorkeur aan bugs te koppelen aan geschikte
onderdeel van Checkbox). Als je het juiste project weet om te gebruiken, gebruik het dan en dien de bug in. Indien
je kent de interne onderdelen van Checkbox niet zo goed of je twijfelt, dien het gewoon in op de basis
'Checkbox'-project (u kunt gebruiken dit directe link
<https://bugs.launchpad.net/checkbox/+filebug>.) Een lid van het ontwikkelteam zal
bekijk uw bug en wijs deze opnieuw toe aan de juiste locatie. Het bugnummer zal niet
veranderen als dat gebeurt.

HET CHEQUEBOX STACK


De Checkbox Stack is een verzameling projecten die samen een complete test vormen
en certificeringsoplossing. Het is samengesteld uit de volgende delen (zie onderstaande tabel voor:
aanvullende gegevens). Alle projecten zijn gelinkt vanuit de Launchpad project groep
<https://launchpad.net/checkbox-project>.

Architectuur Diagram
[afbeelding: Architectuurdiagram] [afbeelding]

Dit diagram bevat een benadering op hoog niveau van de huidige Checkbox-architectuur.
Er zijn drie belangrijke "pijlers". Aan de linkerkant hebben we einde producten. Dat zijn echte hulpmiddelen
die certificering en ingenieurs gebruiken. Aan de rechterkant hebben we de proef markt. Dit is
een open markt van testverkopers en leveranciers. De tests zijn verpakt in containers die bekend staan ​​als:
aanbieders. In het centrum hebben we drie gedeelde componenten. Die implementeren het grootste deel van de
framework en gebruikersinterfaces voor testuitvoering. Eindelijk in de linkerbenedenhoek daar
is een onderdeel van checkbox (een bibliotheek) die voor bepaalde taken wordt gedeeld met HEXR. HEXR is een
out-of-scope webapplicatie die wordt gebruikt door een deel van het certificeringsproces. Pijlen impliceren:
communicatie met de vorm van de pijl laat zien wie wie belt.

Zoals eerder vermeld, zijn er in de middelste kolom drie hoofdcomponenten van gedeelde code:
(gedeeld door iedereen die de eindproducten gebruikt die hieronder worden besproken). De gedeelde code is
samengesteld uit plainbox, checkbox-ng en checkbox-gui. Componentverantwoordelijkheden zijn:
in de onderstaande tabel nader besproken. Hier kunnen we zien dat checkbox-gui DBus gebruikte
API blootgesteld door checkbox-ng, die op zijn beurt checkbox-support gebruikt (een helperbibliotheek)
gescheiden dus deel wat code met HEXR) en plainbox.

In de rechterkolom staan ​​verschillende testaanbieders. Het checkbox-project is:
het produceren en onderhouden van een aantal providers (zie onderstaande tabel), maar het wordt verwacht
dat onze downstreamgebruikers ook hun eigen providers zullen produceren (specifiek voor een klant of
projecten). Uiteindelijk kunnen sommige providers afkomstig zijn van derden die de
formaat.

Ten slotte in de linkerbenedenhoek, de gedeelde bibliotheek, deze bibliotheek bevat veel parsers
van verschillende bestandsformaten en outputformaten. Technisch gezien is deze bibliotheek een afhankelijkheid van:
HEXR, checkbox-ng en van aanbieders. Als extra complexiteit moet de bibliotheek worden aangeroepen
van python3-code en python2-code.

NOTITIE:
De communicatie tussen checkbox-ng en plainbox is bidirectioneel. Plainbox aanbiedingen
enkele basisinterfaces en uitbreidingspunten. Die zijn allemaal zichtbaar via plainbox
(met behulp van gemeenschappelijke API's), maar sommige daarvan zijn daadwerkelijk geïmplementeerd in checkbox-ng.

WAARSCHUWING:
Alle interne API's zijn semi-instabiel. De DBus API is in de praktijk stabieler, maar zou:
niet op worden vertrouwd. Projecten worden aangemoedigd om te worden samengevoegd in lp:checkbox waar API
overgangen kunnen gracieus worden afgehandeld. De enige stabiele API is het bestandsformaat
specificatie (taakdefinities en whitelits). Launcher-specificatie zal zijn:
gestabiliseerd in de volgende release.

Bestanddeel beschrijvingen
┌─────────────────────────┬─────────────────────── ──────────────────┬──────────────────────────┐
│Project │ Verantwoordelijk voor │ Type │
├─────────────────────────┼─────────────────────── ──────────────────┼──────────────────────────┤
│Next Generation Checkbox │ │ Applicatie │
│(GUI) │ · De C++/QML │ │
│ │ gebruikersinterface │ │
│ │ │
│ │ · De grafische │ │
│ │ launcher voor │ │
│ │ aanbieders, bijv. │ │
│ │ checkbox-certificering-client │ │
├─────────────────────────┼─────────────────────── ──────────────────┼──────────────────────────┤
│Next Generation Checkbox │ │ Applicatie │
│(CLI) │ · De python-opdrachtregel │ │
│ │ interface │ │
│ │ │
│ │ · de tekstgebruikersinterface │ │
│ │ │
│ │ · het SRU-testcommando │ │
│ │ │
│ │ · Aanvullende certificerings-API's │ │
│ │ │
│ │ · gegevens verzenden naar Launchpad │ │
│ │ │
│ │ · gegevens verzenden naar HEXR │ │
│ │ │
│ │ · de DBus-service die nodig is voor │ │
│ │ GUI │ │
└─────────────────────────┴─────────────────────── ──────────────────┴──────────────────────────┘

│Cliëntcertificering │ │ Provider │
│Provider │ · canonieke-certificering-client │ │
│ │ uitvoerbaar │ │
│ │ │
│ │ · klantcertificering │ │
│ │ witte lijsten │ │
├─────────────────────────┼─────────────────────── ──────────────────┼──────────────────────────┤
│Servercertificering │ │ Provider │
│Provider │ · servercertificering │ │
│ │ witte lijsten │ │
│ │ │
│ │ · extra witte lijsten voor servers │ │
├─────────────────────────┼─────────────────────── ──────────────────┼──────────────────────────┤
│System-on-Chip Server │ │ Aanbieder │
│Certificatieprovider │ · SoC-servercertificering │ │
│ │ witte lijsten │ │
├─────────────────────────┼─────────────────────── ──────────────────┼──────────────────────────┤
│Checkbox Aanbieder │ │ Aanbieder │
│ │ · Bijna alle functiedefinities │ │
│ │ │
│ │ · De meeste aangepaste "scripts" │ │
│ │ │
│ │ · Standaard en SRU-witte lijst │ │
├─────────────────────────┼─────────────────────── ──────────────────┼──────────────────────────┤
│Resourceprovider │ │ Provider │
│ │ · Bijna alle resource jobs │ │
│ │ │
│ │ · Bijna alle "scripts" van bronnen │ │
├─────────────────────────┼─────────────────────── ──────────────────┼──────────────────────────┤
│Checkbox-ondersteuning │ │ Bibliotheek │
│ │ · Ondersteuningscode voor verschillende │ │
│ aanbieders │ │
│ │ │
│ │ · Parsers voor veel tekstformaten │ │
├─────────────────────────┼─────────────────────── ──────────────────┼──────────────────────────┤
│PlainBox │ │ Bibliotheek en ontwikkeling │
│ │ · Bijna alle kernlogica │ Toolkit │
│ │ │
│ │ · RFC822 (functiedefinitie) │ │
│ │ ontleder │ │
│ │ │
│ │ · Configuratiebeheer │ │
│ │ │
│ │ · Testsessie │ │
│ │ (onderbreken/hervatten) │ │
│ │ │
│ │ · Jobrunner │ │
│ │ │
│ │ · Vertrouwde launcher │ │
│ │ │
│ │ · Afhankelijkheidsoplosser │ │
│ │ │
│ │ · Bediening van de opdrachtregel │ │
│ │ │
│ │ · De XML, HTML en XSLX │ │
│ │ exporteurs │ │
│ │ │
│ │ · en meer... │ │
│ │ │
│ │ · Toolkit voor providerontwikkeling │ │
│ │ │
│ │ · 'plainbox startprovider' │ │
│ │ │
│ │ · 'manage.py' implementatie │ │
└─────────────────────────┴─────────────────────── ──────────────────┴──────────────────────────┘

│Verouderd selectievakje (geen │ │ Monolithische toepassing │
│langer onderhouden) │ · Toepassingen │ Bibliotheek en gegevens │
│ │ │
│ │ · Qt4 GUI │ │
│ │ │
│ │ · Gtk2 GUI │ │
│ │ │
│ │ · Urwid (tekst) GUI │ │
│ │ │
│ │ · Kern │ │
│ │ │
│ │ · Plug-in en evenement / bericht │ │
│ │ Motor │ │
│ │ │
│ │ · Bijna elke functie │ │
│ │ een kernplug-in geïmplementeerd │ │
│ │ │
│ │ · Gegevens │ │
│ │ │
│ │ · Vacatures en witte lijsten │ │
└─────────────────────────┴─────────────────────── ──────────────────┴──────────────────────────┘

CHANGELOG


NOTITIE:
Deze changelog bevat slechts een samenvatting van de wijzigingen. Voor een nauwkeurigere boekhouding van
ontwikkelingsgeschiedenis inspecteer de brongeschiedenis rechtstreeks.

Selectievak NG 0.23 (niet uitgebracht)
· Bugfixes: https://launchpad.net/checkbox-ng/+milestone/0.23

Selectievak NG 0.22
· Bugfixes: https://launchpad.net/checkbox-ng/+milestone/0.22

Selectievak NG 0.3
· Bugfixes: https://launchpad.net/checkbox-ng/+milestone/0.3

Selectievak NG 0.2
· Bugfixes: https://launchpad.net/checkbox-ng/+milestone/0.2

Selectievak NG 0.1
· Eerste uitgave

· Ondersteuning voor het weergeven van configuratie

· Ondersteuning voor het uitvoeren van SRU-tests (automatische regressietesten)

TEST SCRIPT


Test 'scripts' zijn kleine programma's die worden gebruikt om te helpen bij het uitvoeren van tests.

helderheid_test
Dit script test de helderheid van de systeemachtergrondverlichting kan worden gewijzigd met behulp van de
kernel-interfaces in /sys/class/backlight. Er kan meer dan één interface zijn om te kiezen
van, zodat de juiste te gebruiken interface wordt geselecteerd met behulp van de heuristiek die is voorgeschreven in
https://www.kernel.org/doc/Documentation/ABI/stable/sysfs-class-backlight. De helderheid
wordt gemanipuleerd door het helderheidsbestand van de interface en de actual_brightness . bij te werken
bestand wordt gecontroleerd om te zien of de waarde is gewijzigd in de geselecteerde helderheid.

PROFIELEN CONFIGURATIE


Uitvoeringsprofielen, of launchers, maken het mogelijk om een ​​vooraf gedefinieerde set configuraties te specificeren
opties waarmee het welkomstscherm, weergegeven witte lijsten en
resultaten lokaal opslaan of het indieningsbestand verzenden naar Launchpad of naar de certificering
database/HEXR, evenals enkele andere parameters.

De profielinstellingen maken deel uit van een opstartscript en gebruiken ofwel checkbox-gui of
checkbox-launcher (in text-mode/CLI) als een shebang om de sleutel/waarden te interpreteren.

Dit document biedt een referentie over de functionaliteit en syntaxis van het opstartprogramma. Om de te begrijpen
ontwerp en concepten en bekijk verschillende voorbeelden, misschien wilt u de zelfstudie over
maak draagraketten en hun relatie met legacy Checkbox.

Syntaxis
Aangezien checkbox-gui een Qt-toepassing is, moeten de instellingen de INI-stijlregels van de . volgen
QInstellingen <http://qt-project.org/doc/qt-5/QSettings.html> klas.

Waarden met meerdere regels worden ondersteund, maar moeten tussen dubbele aanhalingstekens en extra regels worden geplaatst
moet beginnen met één spatie, bijvoorbeeld:

[categorie]
key = "Hallo
Wereld"

· Van QML:

settings.value("category/key", i18n.tr("default_value"))

· Van C++:

instellingen->waarde("categorie/sleutel", app.tr("standaardwaarde"))

Omgekeerd moeten de launcher-specifieke launchers voor selectievakjes volgen Python ConfiguratieParser
<https://docs.python.org/3/library/configparser.html#supported-ini-file-structure> syntaxis.

Sommige instellingen hebben ook alleen zin voor GUI of CLI en worden dus niet begrepen door
de andere. Deze staan ​​hieronder vermeld.

ondersteunde Instellingen
welkom/titel
Titel van de QML-toepassing en koptekst van het welkomstscherm. Standaard ingesteld op Systeem Testen.

welkom/sms
Welkomstbericht om op het eerste scherm weer te geven (checkbox-gui ondersteunt Rich text
HTML-stijl markup toestaan). Standaard ingesteld op Welkom naar Systeem Testen. [...]

suite/witte lijst_filter
Reguliere expressie die overeenkomt met een subset van bestandsnamen op de witte lijst. Op checkbox-gui it
standaard .*. Voor checkbox-launcher heeft het geen standaard en Dan moet je gedefinieerd worden.

suite/witte lijst_selectie
Patroon dat op de witte lijsten moet passen om voorgeselecteerd te worden. Python reguliere expressie.
Het heeft geen standaard en Dan moet je gedefinieerd worden. (alleen CLI)

suite/skip_whitelist_selectie
Indien ingesteld op waar, krijgt de gebruiker geen keuze uit de witte lijst. Alleen de voorgeselecteerde
degenen (zie whitelist_selection) worden geselecteerd. (alleen CLI).

suite/skip_test_selectie
Indien ingesteld op waar, mag de gebruiker tests niet deselecteren voordat ze worden uitgevoerd: alle tests
in de geselecteerde witte lijst worden uitgevoerd. (alleen CLI)

indiening/bericht
Koptekst van de inzending pop-up, getoond aan de gebruiker nadat de inzending heeft
voltooid. (alleen GUI)

indiening/invoertype
Toon een tekstinvoerveld om de beveiligde ID of het LP-adres in te voeren (standaard). Tot
sla de resultaten gewoon op schijf op, moet de . gebruiken geen waarde. Om te valideren met behulp van een regex,
moet regex. (alleen GUI)

indiening/regex
Reguliere expressie om invoer in het indieningsveld te valideren (bijv. e-mail, secure_id)
als input_type regex is. (alleen GUI). RegExpValidator, standaard .*

indiening/input_placeholder
Tijdelijke tekst om in het invoerveld te plaatsen, gebruikt om de gebruiker te begeleiden. Launchpad E-mail
Adres (standaard) of Veilig Bestellen ID (15 or 18 karakters). (alleen GUI)

indiening/secure_id
Vooraf geconfigureerde secure_id om het tekstveld in te vullen.

indiening/ok_btn_text
Het label voor de knop 'Verzenden'. Verzenden Resultaten (standaard) of Bespaar Resultaten. (GUI
only)

indienen/annuleren_waarschuwing
Laat de gebruiker zien of hij wil afsluiten zonder het rapport te hebben opgeslagen. Je bent ongeveer
om deze testrun af te sluiten zonder uw resultatenrapport op te slaan. Wil je de . opslaan
verslag doen van? (alleen GUI)

indiening/submit_to_hexr
Boolean, voeg een extra header toe om de resultaten ook naar HEXR te sturen (werkt met de
certificering transport)

exporteur/xml_export_pad
Locatie om het XML-indieningsbestand op te slaan, indien ingesteld op een lege tekenreeks, wordt a . geopend
dialoogvenster voor het opslaan van bestanden. Standaard: /tmp/indiening.xml (alleen GUI)

vervoeren/verzenden naar
Eindpunt vervoer. Standaard ingesteld op . Ondersteunt indiening naar LP (de standaard,
waarde lanceerplatform), certificaatof lokaal (opslaan op schijf)

transport/submit_url
URL om resultaten naar te verzenden. Dit maakt het mogelijk om bijvoorbeeld naar verschillende websites te uploaden
het kan rechtstreeks uploaden naar hexr of naar de staging-sites. Alleen gebruikt met de
certificaat submit_to waarde.

transport/config_bestandsnaam
Naam van een aangepast configuratiebestand dat moet worden geladen. Config-bestanden worden voornamelijk gebruikt om te definiëren:
omgevingsvariabelen. (alleen CLI)

transport/dont_suppress_output
Indien ingesteld, worden bronnen, lokale taken en bijlagen naar het scherm uitgevoerd, dit
genereert veel tekst en is voornamelijk bedoeld voor debuggen. (alleen CLI)

CHECKBOX/GEWOONDOOS LANCEERDERS TUTORIAL


In dit document wordt uitgelegd waarom draagraketten nodig zijn, wat u kunt bereiken
met hen, en neemt verschillende voorbeelden door om hun capaciteiten beter te beschrijven. Voor een
gedetailleerde referentie over welke instellingen worden ondersteund door opstartprogramma's en specifieke syntaxis voor
launcher-bestanden, kijk naar /profielen.

Nalatenschap checkbox gedrag onder controle te houden
In het verleden werd het gedrag van Checkbox gestuurd door drie mechanismen.

Ten eerste kunnen de functies van checkbox worden uitgebreid door plug-ins toe te voegen. Bijvoorbeeld de
mogelijkheid om in te dienen bij de certificeringswebsite is toegevoegd door het checkbox-certificeringspakket
met behulp van een plug-in. De plug-ins die zijn opgenomen door checkbox-certificering en die nieuw gedrag toevoegen
naar basis checkbox waren:

/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

Deze voegden de manier toe om de gebruiker om inzendingsspecifieke gegevens te vragen, het genereren van de xml
rapport en andere functies.

Vervolgens kan het gedrag van de plug-ins worden geconfigureerd of gecontroleerd met behulp van configuratie
bestanden, die "cascade" zijn. Een configuratiebestand kan andere bevatten en die kunnen op hun beurt weer
anderen omvatten.

Dit is een voorbeeld van een projectspecifiek project-qt.ini hoofdconfiguratiebestand. Het is de eerste
bestand gelezen wanneer de projectspecifieke client wordt gestart. Sommige instellingen zijn afgekort:

[STANDAARD]
omvat = %(checkbox_oem_share)s/configs/checkbox-project-base-qt.ini %(checkbox_project_share)s/configs/checkbox-project-base.ini

[checkbox/plug-ins/environment_info]
opslagplaatsen = deb http://.*\(archief\|beveiliging\).ubuntu.com/ubuntu nauwkeurige beveiliging
routers = meerdere
server_iperf = 10.20.30.40
bronnenlijst = / Etc / apt / sources.list
wpa_n_psk = wachtwoord
wpa_n_ssid = toegangspunt

[selectievakje/plug-ins/gebruikersinterface]
title = Mijn project Systeemtesten

Let op de include-regel, deze instrueert hem om het configuratiebestand te laden voor:
checkbox-project-base-qt en checkbox-project-base. Checkbox-project-base-qt laadt de
configs voor checkbox-certificering en checkbox-project. Instellingen zijn trapsgewijze zodat de
config-opties bovenaan overschrijven die onderaan.

Ten slotte is het "binaire" dat wordt gebruikt om het selectievakje aan te roepen een shellscript dat definieert waar te vinden
de dingen die het selectievakje moet uitvoeren: u kunt een gedeelde map definiëren, een specifieke gegevens
directory, wijs naar een configuratiebestand en definieer enkele omgevingsvariabelen die u
nodig kan hebben tijdens het testen. Hier is een voorbeeld voor checkbox-project-qt:

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

# Gemak voor het definiëren van de PYTHONPATH-directory.
if [ "$CHECKBOX_SHARE" != "/usr/share/checkbox" ]; dan
export PYTHONPATH="$CHECKBOX_SHARE:$PYTHONPATH"
fi

python3 $CHECKBOX_SHARE/voer "$@" uit $CHECKBOX_PROJECT_SHARE/configs/$(basename $0).ini

Hier kun je zien dat het enkele locaties definieert en een belangrijk onderdeel is de uiteindelijke python3
regel, waar het het vereiste .ini-configuratiebestand dat we eerder zagen, zal vinden en gebruiken.

Deze hiërarchische organisatie was zeer krachtig, maar ook moeilijk hanteerbaar, en
had ook enkele beperkingen. Een deel van het werk dat we met checkbox deden, was het integreren van alle
projectspecifieke plug-ins in checkbox-trunk, op deze manier staat alle kerncode op één plek,
en de projectspecifieke varianten leveren alleen jobs, whitelists, data en configuratie,
zonder nieuw gedrag toe te voegen.

New platte doos gedrag onder controle te houden
In tegenstelling tot checkbox is de kern van plainbox monolytisch en heeft het geen concept van plug-ins. Dit
maakt het gemakkelijker om te begrijpen en om mee te werken. De plainbox-kern heeft implementaties voor iedereen
de functies in de oude checkbox-pakketten, dus er zijn geen toevoegingen nodig om functies te gebruiken
zoals onderwerping aan certificering of het genereren van rapporten.

Wat we plainbox noemen, is de bibliotheek die alle functionaliteit implementeert, zoals te zien is
hier.

Plainbox biedt tools om testontwikkelaars te helpen bij het schrijven en verpakken van tests. Dit zijn
geleverd in "providers", dit zijn entiteiten die zijn ontworpen om testbeschrijvingen in te kapselen,
aangepaste scripts voor testen, witte lijsten en diverse gegevens. Ze zijn ontworpen om
teams om hun aangepaste tests te schrijven en af ​​te leveren zonder zich al te veel zorgen te maken over de
onderliggende plainbox-code.

Voor informatie over het schrijven van tests en providers, zie de Provider Tutorial

Toen we deze tests echter daadwerkelijk gebruikten om een ​​echt systeem te verifiëren, wilden we:
iets eenvoudiger en dichter bij de gebruikerservaring van checkbox. We hebben twee klanten gemaakt,
checkbox-gui en checkbox-cli, die wat hardgecodeerd gedrag vertoonden, en we zijn ook begonnen
het creëren van andere clients die hierop waren gebaseerd maar doelspecifiek waren. Bijvoorbeeld,
we hadden een versie van checkbox voor SRU-testen, een andere voor servercertificering, enzovoort.

Maar toen realiseerden we ons dat veel van de code gedupliceerd was en dat het gedrag gebruikelijk was
op een paar wijzigingen na. Dus kwamen we met het concept van "launchers", die zijn:
enigszins vergelijkbaar met de configuratiebestanden en shellscriptstarters van checkbox.

Het idee is dat checkbox-gui en checkbox-cli een aantal zeer basale gedragingen hebben, omdat ze
zijn de clients die standaard met ubuntu worden verzonden. Ze kunnen alle beschikbare tonen
witte lijsten, een vooraf gedefinieerd welkomstbericht weergeven en aan het einde de gebruiker de
html-rapport en dien het in bij launchpad met hun e-mailadres, vergelijkbaar met de versie
van het selectievakje dat bij Ubuntu is geleverd.

In plaats van ingewikkelde commandoregel-switches te gebruiken, kun je met launchers een aantal
optioneel gedrag om uw testervaring aan te passen. Een opstartprogramma bevat instellingen, en
lijkt op een shellscript, maar de interpreter is ofwel checkbox-gui of
checkbox-launcher.

Hier zijn een paar voorbeelden van wat u met draagraketten kunt doen.

Als een verrassing is checkbox-cli zelf een launcher:

#!/usr/bin/env checkbox-launcher
[welkom]
text = Welkom bij systeemtesten!
Checkbox biedt tests om te bevestigen dat uw systeem correct werkt.
Als u klaar bent met het uitvoeren van de tests, kunt u een samenvattend rapport bekijken voor:
jouw systeem.
Waarschuwing: sommige tests kunnen ervoor zorgen dat uw systeem vastloopt of
reageert niet. Sla al uw werk op en sluit alle andere actieve
aanvragen voordat u met het testproces begint.

[na]
whitelist_filter = ^standaard$
whitelist_selection = ^standaard$
skip_whitelist_selection = Waar

[vervoer]
submit_to = lanceerplatform

Je kunt hier zien dat we een paar opties aanpassen: het toont automatisch een welkomstbericht
selecteert de standaard witte lijst en verzendt naar Launchpad wanneer het klaar is.

Een voorbeeld van een grafisch opstartprogramma is canonical-certification-client.

#!/usr/bin/checkbox-gui

[welkom]
title = "Systeemcertificering"
tekst = " Welkom bij systeemcertificering! Deze applicatie zal
informatie van uw systeem verzamelen. Dan wordt u gevraagd om handmatige tests te doen:
bevestigen dat het systeem goed werkt. Ten slotte wordt u gevraagd om
de Secure ID van de computer om de informatie bij de certificering in te dienen
databank. Voor meer informatie over het maken of lokaliseren van de Secure ID,
zie hier: certificering.canonical.com "

[na]
whitelist_filter = "^client-(certificaat|zelftest).*"

[dwang]
input_type = "regex"
input_placeholder = "Beveiligde ID (15 of 18 tekens)"
ok_btn_text = "Verzend resultaten"
submit_to_hexr = "true"

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

[vervoer]
submit_to = "certificering"

Grafische draagraketten zijn een beetje ingewikkelder, maar in wezen is het vergelijkbaar, wat het is
staat is dat u enkele parameters definieert om uw testervaring aan te passen.

Een heel eenvoudig opstartprogramma voor tekstmodus is canonical-hw-collection die alleen de basis uitvoert
hardware-informatietests en uploadt ze naar een hardwaredatabase:

[welkom]
title = Hardware-informatie verzamelen
text = Hardware-informatie verzamelen. Mogelijk wordt u om uw wachtwoord gevraagd.
Dit proces duurt ongeveer 30 seconden en u wordt voorzien
met een URL waarmee u uw hardware kunt bevestigen en registreren
voorlegging.

[na]
whitelist_filter = ^hwsubmit$
whitelist_selection = ^hwsubmit$
skip_whitelist_selection = Waar
skip_test_selection = Waar

[dwang]
# Een nep secure_id zorgt ervoor dat we er niet om vragen
# Het kan altijd worden overschreven in het .conf-bestand.
veilige_id = 000

[vervoer]
submit_to = certificering
indienen_url = https://hardware-server.example.com/

Ten slotte biedt canonical-driver-test-suite zowel een grafische als een tekstmodusstarter,
die functioneel equivalent zijn:

#!/usr/bin/checkbox-gui

[welkom]
title = "Canonieke Driver Test Suite"
tekst = " Welkom bij de Canonical Driver Test Suite.

Dit programma bevat geautomatiseerde en handmatige tests om u te helpen ontdekken
problemen die zich voordoen bij het uitvoeren van uw apparaatstuurprogramma's op Ubuntu.

Deze applicatie zal de gebruiker door deze tests leiden in a
vooraf bepaalde volgorde en automatisch zowel systeeminformatie als
evenals testresultaten. Het zal de gebruiker ook om invoer vragen wanneer handmatig
testen is vereist.

De looptijd van de tests wordt bepaald door de tests die u besluit te doen
uitvoeren. De gebruiker krijgt de mogelijkheid om de testrun aan te passen aan:
tegemoet te komen aan de bestuurder en de hoeveelheid tijd die beschikbaar is voor het testen.

Klik om te beginnen op de knop Doorgaan hieronder en volg de instructies op het scherm
instructies. "

[na]
whitelist_filter = "^ihv-.*"

[dwang]
ok_btn_text = "Bewaar resultaten"
input_type = "geen"

[exporteur]
xml_export_path = ""

[vervoer]
submit_to = "lokaal"

Tekst modus:

#!/usr/bin/env checkbox-launcher
[welkom]
text = Welkom bij de Canonical Driver Test Suite
Dit programma bevat geautomatiseerde en handmatige tests om u te helpen ontdekken
problemen die zich voordoen bij het uitvoeren van uw apparaatstuurprogramma's op Ubuntu.
Deze applicatie zal de gebruiker door deze tests leiden in a
vooraf bepaalde volgorde en automatisch zowel systeeminformatie als
evenals testresultaten. Het zal de gebruiker ook om invoer vragen wanneer handmatig
testen is vereist.
De looptijd van de tests wordt bepaald door de tests die u besluit te doen
uitvoeren. De gebruiker krijgt de mogelijkheid om de testrun aan te passen aan:
tegemoet te komen aan de bestuurder en de hoeveelheid tijd die beschikbaar is voor het testen.
Klik om te beginnen op de knop Doorgaan hieronder en volg de instructies op het scherm
instructies.

[na]
# Witte lijst(en) weergegeven in het suiteselectiescherm
witte lijst_filter = ^ihv-.*
# Whitelist_selection is verplicht, dus we stellen het in op een valse waarde dus
# er zijn geen witte lijsten voorgeselecteerd.
whitelist_selection = nep

CHEQUEBOX RELEASE PROCES


Deze pagina beschrijft de noodzakelijke stappen voor het vrijgeven van versies van Checkbox en Checkbox
Certificering voor de stabiele PPA van het Hardware Certification-team, op regelmatige basis
basis. In dit document wordt de term 'Checkbox' gebruikt als een verzamelnaam voor
alle versies van Checkbox die eigendom zijn van het Hardware Certification-team, momenteel Checkbox
zelf en de Checkbox Certification-extensies.

Overzicht
Momenteel draait het proces op een tweewekelijkse cadans, met een nieuwe release van Checkbox elke
twee weken. Dit omvat tien werkdagen en de taken die op elke dag of groep van
dagen wordt hieronder beschreven:

· Dagen 1-4: toegestane tijd om nieuwe wijzigingen in de trunk aan te brengen.

· Dag 5: Wijzigingen worden samengevoegd vanuit de stam van lp:selectievakje en lp:checkbox-certificering naar
hun respectievelijke vrijgavetakken. De changelogs voor beide zijn: gestoten op dit punt en
revisies zijn getagd. In dit stadium kan het ook nodig zijn om het pakket 'fwts' te kopiëren
van het FWTS Stal PPA <https://launchpad.net/~firmware-testing-team/+archive/ppa-
fwts-stabiel> naar de checkbox Sinds Testen PPA <https://launchpad.net/~checkbox-
dev/+archief/testen>.

· Dagen 6-9: Testen wordt uitgevoerd door de releasemanager voor de hardwarecertificering
team en een vertegenwoordiger van het CE QA-team (de belangrijkste klant voor Checkbox binnen)
canoniek)

· Dag 9: Er wordt een releasemeeting gehouden tussen de releasemanager voor de Hardware
Certificatieteam en de vertegenwoordiger van het CE QA-team. Mogelijke problemen met de
release worden geïdentificeerd en plannen gemaakt om deze aan te pakken.

· Dag 10: De geteste versie van Checkbox wordt gekopieerd naar de stabiele PPA.

Launchpad Takken
Het releaseproces vereist aparte vertakkingen in Launchpad die een semi-bevroren
versie van de code die zich op dag 5 van het proces in de trunk bevond. Dit is zo dat ontwikkeling
kan doorgaan op trunk zonder de stabiliteit van de te verschijnen versie van . in gevaar te brengen
Selectievakje. De relatie tussen alle takken die bij het proces betrokken zijn, is als volgt:

· lp:selectievakje/vrijgeven <- lp:selectievakje

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

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

Auditing mijlpaal bereikt bugs
Voordat de release-kandidaat wordt gemaakt, moet de releasemanager de lijst met bugs bekijken
mijlpaal bereikt voor de volgende release van Checkbox. Ze zouden moeten bezoeken checkbox mijlpalen
<https://launchpad.net/checkbox/+milestonesmilestones> en zoek de mijlpaal die is gedateerd met
de releasedatum.

· Voor bugs die zijn ingesteld op In uitvoering met een bijbehorende vertakking - neem contact op met de vertakking
eigenaar om te zien of de samenvoeging vóór de deadline kan worden voltooid.

· Voor bugs die een andere niet-gesloten status hebben (behalve Bepalen Toegewijd) - opnieuw mijlpaal
hen naar de volgende mijlpaal.

snijdend de los
Om de release te knippen, moeten we de wijzigingen van trunk samenvoegen in de release
branch, commit ze met een geschikt bericht en update de changelog in trunk zodat
toekomstige wijzigingen gaan onder de juiste versie. Voor elke combinatie van takken hierboven weergegeven,
doe het volgende (het voorbeeld gebruikt lp:selectievakje en lp:selectievakje/vrijgeven):

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

op dit punt als er geen wijzigingen zijn (behalve een om debian/changelog) worden samengevoegd, dan doen we dat
geen vrijgave van het betreffende pakket uitvoeren. In de praktijk gebeurt dit vaak met
checkbox-certificering maar nooit met checkbox:

bzr commit -m "Wijzigingen samengevoegd van rev$(bzr revno -r tag:$current_stable lp:checkbox) naar rev$(bzr revno lp:checkbox) van lp:checkbox"
bzr push lp:checkbox/vrijgeven
cd `vind . -naam 'debian'`; cd..
bzr-tag `head -n1 debian/changelog | grep -oP '(?<=\().*(?=\))'`
dch -r (bewaar gewijzigd changelog)
dch -i -U 'Verhoogde changelog'
debcommit
bzr druk op lp:checkbox

De laatste stap in het proces is het maken van een build van de pakketten in de
ppa:checkbox-dev/testen PPA. Om dit te doen, moeten we naar de receptpagina's voor de
checkbox en / of checkbox-certificering takken vrijgeven.

· checkbox-testen recept <https://code.launchpad.net/~checkbox-dev/+recipe/checkbox-
het testen van>

· checkbox-certificering-testen recept <https://code.launchpad.net/~checkbox-
dev/+recept/checkbox-certificering-testen>

De Bouw Nu optie moet beschikbaar zijn op de pagina. Klik erop om een ​​build te starten.

Het kopiëren firmware test Suite naar de Testen PPA
De Firmware Test Suite-tool is een testtool voor systeemfirmware die van nature zwaar is
gebruikt door Checkbox. Om er zeker van te zijn dat de nieuwste versie met fixes en nieuwe
tests/functies die nodig zijn door Checkbox zijn beschikbaar en breken ook niets in
Checkbox, we moeten het naast Checkbox vrijgeven. Na het snijden van de release als de
Het Firmware Testing-team heeft gemeld dat er een nieuwe versie beschikbaar is en dat deze versie
moet worden gebruikt voor certificering, moeten we deze kopiëren naar de Testing PPA. Om dit te doen wij
moet naar de Kopiëren Paketten view of de firmware test Suite (Stable) PPA
<https://launchpad.net/~firmware-testing-team/+archive/ppa-fwts-stable/+copy-packages> en
selecteer de 'fwts'-pakketten voor alle releases terug naar Precise. We moeten de
'Destination PPA' als 'Checkbox Release Testing [~checkbox-dev/testing]' en de 'Copy
options' in op 'Bestaande binaire bestanden kopiëren' en klik vervolgens op 'Pakketten kopiëren'. Deze stap dan
moet worden herhaald, maar stel het veld 'Destination PPA' in op 'PPA for Checkbox Developers'
[~checkbox-dev/ppa]'.

Volgende Sinds of checkbox e-mail
Zodat iedereen de mogelijkheid heeft om de vereiste tests tijdig uit te voeren
manier, nadat de PPA-builds zijn voltooid, moet een e-mail worden verzonden naar het volgende:
mail lijst:

· [e-mail beveiligd] <hardware-certificering-
[e-mail beveiligd]>

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

De inhoud is meestal zoiets als dit:

Onderwerp: Volgende uitgave van Checkbox (18/11/2013)

Hoi,

De volgende release van Checkbox is beschikbaar in de
https://code.launchpad.net/~checkbox-dev/+archive/testing PPA.
Test het op uw gemak. Checkbox is gebaseerd op revisie 2484 van
lp:checkbox en Checkbox Certificering is gebaseerd op revisie 586 van
lp:checkbox-certificering.

Hartelijk dank,

Als de ene of de andere van Checkbox en Checkbox-certificering niet zijn bijgewerkt, dan:
het is niet nodig om dat pakket te vermelden

Testen de los
Nu de release is geknipt, moet het testen plaatsvinden voorafgaand aan de release-vergadering.
Vanuit het oogpunt van het certificeringsteam, wat moet worden getest is:
checkbox-certificering-client en checkbox-certificering-server die de basis vormen voor
CE QAs OEM-specifieke versies van Checkbox. Checkbox-certificeringsserver is getest in de
CI-loop Checkbox-certificeringsclient moet handmatig worden getest.

Sinds Meeting
Op de donderdag voordat de vrijlating plaatsvindt, is er een bijeenkomst tussen een vertegenwoordiger van
het Certificatieteam en een vertegenwoordiger van de Zakelijk Engineering QA team. De
vergadering wordt gehouden om 7:30 UTC, zoals weergegeven in deze kalender uitnodigt
<https://www.google.com/calendar/hosted/canonical.com/event?action=TEMPLATE&tmeid=Y3QxcWVla3ViMTRvMXByOHZlOTFvc283Y2NfMjAxMzA4MjlUMDczMDAwWiBicmVuZGFuLmRvbmVnYW5AY2Fub25pY2FsLmNvbQ&tmsrc=brendan.donegan%40canonical.com>.
Een agenda voor de vergadering is opgenomen in de uitnodiging.

Reclame de los
Om de release te publiceren hoeven we alleen maar een aantal pakketten te kopiëren van de checkbox
Sinds Testen PPA <https://launchpad.net/~checkbox-dev/+archive/testing> naar de Hardware
Certificering Publieke PPA <https://launchpad.net/~hardware-certification/+archive/public>.
Hiervoor gaan we naar de Kopiëren Paketten view of de checkbox Sinds Testen PPA
<https://launchpad.net/~checkbox-dev/+archive/testing/+copy-packages> en alles selecteren
versies van de volgende lijst met pakketten: selectievakje, checkbox-certificering, fwts. Maken
zorg ervoor dat het veld 'Destination PPA' is ingesteld op 'Public PPA for Hardware Certification'
[~hardware-certification/public]' en dat het veld 'Kopieeropties' is ingesteld op 'Kopiëren'
bestaande binaire bestanden' en klik vervolgens op 'Pakketten kopiëren'.

Daarna moet er een aankondigingse-mail worden gestuurd naar:
[e-mail beveiligd] <[e-mail beveiligd]>.
Een sjabloon voor de aankondiging is hieronder opgenomen:

Hoi,

Een nieuwe release van checkbox is geüpload naar de Hardware
Certificering Openbare PPA
(https://launchpad.net/~hardware-certification/+archive/public). De
release is gebaseerd op revisie 2294 van lp:checkbox

Hartelijk dank,

Voeg het meest recente deel van de changelog toe als release-opmerkingen

· genindex

· modindex

· zoeken

Gebruik checkbox-cli online met behulp van onworks.net-services


Gratis servers en werkstations

Windows- en Linux-apps downloaden

  • 1
    Clover EFI-bootloader
    Clover EFI-bootloader
    Project is verplaatst naar
    https://github.com/CloverHackyColor/CloverBootloader..
    Functies:Boot macOS, Windows en Linux
    in UEFI of legacy-modus op Mac of pc met
    EU...
    Download Clover EFI-bootloader
  • 2
    verenigde rpms
    verenigde rpms
    Doe mee met Gitter!
    https://gitter.im/unitedrpms-people/Lobby
    Schakel de URPMS-repository in uw
    systeem -
    https://github.com/UnitedRPMs/unitedrpms.github.io/bl...
    Unitedrpms downloaden
  • 3
    Boost C++-bibliotheken
    Boost C++-bibliotheken
    Boost biedt gratis draagbaar
    collegiaal getoetste C++-bibliotheken. De
    de nadruk ligt op draagbare bibliotheken die
    werken goed met de C++ Standard Library.
    Zie http://www.bo...
    Boost C++-bibliotheken downloaden
  • 4
    VirtueleGL
    VirtueleGL
    VirtualGL leidt 3D-opdrachten om van een
    Unix/Linux OpenGL-toepassing op een
    server-side GPU en converteert de
    gerenderde 3D-beelden in een videostream
    met welke ...
    Virtuele GL downloaden
  • 5
    libusb
    libusb
    Bibliotheek om gebruikersruimte in te schakelen
    applicatieprogramma's om mee te communiceren
    USB-apparaten. Publiek: ontwikkelaars, einde
    Gebruikers/Desktop. Programmeertaal: C.
    Categorieën...
    Libusb downloaden
  • 6
    SLOK
    SLOK
    SWIG is een tool voor softwareontwikkeling
    dat programma's verbindt die zijn geschreven in C en
    C ++ met een verscheidenheid aan high-level
    programmeertalen. SWIG wordt gebruikt met
    verschillend...
    SWIG downloaden
  • Meer "

Linux-commando's

Ad