Angielskifrancuskihiszpański

Ad


Ulubiona usługa OnWorks

checkbox-cli - Online w chmurze

Uruchom checkbox-cli u dostawcy darmowego hostingu OnWorks przez Ubuntu Online, Fedora Online, emulator online Windows lub emulator online MAC OS

Jest to pole wyboru polecenia-cli, które można uruchomić u dostawcy bezpłatnego hostingu OnWorks przy użyciu jednej z naszych wielu bezpłatnych stacji roboczych online, takich jak Ubuntu Online, Fedora Online, emulator online systemu Windows lub emulator online systemu Mac OS

PROGRAM:

IMIĘ


checkbox_ng - Dokumentacja CheckboxNG

CheckboxNG to narzędzie do testowania sprzętu przydatne do certyfikacji laptopów, komputerów stacjonarnych i serwerów
z Ubuntu. Jest to nowa wersja Checkbox, która jest zbudowana bezpośrednio na PlainBox

Pole wyboruNG Zastępuje Pole wyboru, jeśli dotyczy.

UWAGA:
Dokumentacja jest w trakcie opracowywania. Niektóre rzeczy są nieprawidłowe, niedokładne lub opisują
celów rozwoju, a nie stanu obecnego.

PORADY


CheckboxNG można zainstalować z PPA (zalecane) lub pypi na Ubuntu Precise (12.04) lub
nowsza.

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

BIEGANIE STABILNY ZWOLNIENIE Aktualizacja TESTY


CheckboxNG ma specjalne wsparcie dla uruchamiania testów aktualizacji wersji stabilnej w zautomatyzowanym
sposób. To uruchamia wszystkie zadania z sru.biała lista i wysyła wyniki do
witryna certyfikacji.

Aby przeprowadzić testy SRU, musisz znać tzw. Secure ID urządzenia, którym jesteś
testowanie. Gdy już wiesz, że wszystko, co musisz zrobić, to uruchomić:

$ checkbox sru $secure_id upload.xml

Drugi argument, submit.xml, to nazwa pliku awaryjnego, który jest tworzony tylko
przy wysyłaniu danych do serwisu certyfikacyjnego z jakiegokolwiek powodu nie działa.

RAPORTOWANIE ROBAKI


Aby zgłosić błędy w projekcie Checkbox, potrzebujesz konta startera. Możesz znaleźć
instrukcje on w jaki sposób do Stwórz pierwszej <https://help.launchpad.net/YourAccount/NewAccount>
użyteczne. Kiedy już masz konto, możesz raport błędy <https://bugs.launchpad.net/checkbox-
projekt/+filebug>.

Na tej stronie możesz wybrać projekt, w którym chcesz zgłosić błąd (używamy kilku
projekty do koordynowania wydań i wolimy mieć błędy związane z odpowiednimi
część pola wyboru). Jeśli znasz odpowiedni projekt, po prostu go użyj i zgłoś błąd. Gdyby
nie znasz tak bardzo wewnętrznych elementów Checkbox lub masz wątpliwości, po prostu umieść je w bazie
Projekt „Checkbox” (możesz użyć to kierować link
<https://bugs.launchpad.net/checkbox/+filebug>.) Członek zespołu programistów będzie
przejrzyj swój błąd i ponownie przypisz go do odpowiedniej lokalizacji. Numer błędu nie zostanie
zmienić, kiedy to się stanie.

THE POLE KONTROLNE STACK


Checkbox Stack to zbiór projektów, które razem stanowią kompletny test
i certyfikacji rozwiązanie. Składa się z następujących części (patrz tabela poniżej dla
dodatkowe szczegóły). Wszystkie projekty są powiązane z Launchpad projekt grupa
<https://launchpad.net/checkbox-project>.

Architektura Schemat
[zdjęcie: Diagram architektury] [zdjęcie]

Ten diagram zawiera wysokopoziomowe przybliżenie obecnej architektury Checkbox.
Istnieją trzy główne „filary”. Po lewej mamy zakończenia CYFROWE DLA MILIONÓW . To są rzeczywiste narzędzia
z których korzystają inżynierowie i certyfikacja. Po prawej stronie mamy test rynek. Jest
otwarty rynek sprzedawców i dostawców testów. Testy są pakowane w pojemniki znane jako
dostawców. W centrum mamy trzy wspólne komponenty. Te realizują większość
framework i interfejsy użytkownika do wykonywania testów. Wreszcie w lewym dolnym rogu tam
jest częścią pola wyboru (biblioteki), która jest współdzielona z HEXR dla niektórych zadań. HEXR to
nieobjęta zakresem aplikacja internetowa wykorzystywana przez część procesu certyfikacji. Strzałki sugerują
komunikacja w kształcie strzałki pokazuje, kto do kogo dzwoni.

Jak wspomniano wcześniej, w środkowej kolumnie znajdują się trzy główne elementy wspólnego kodu
(udostępniane przez wszystkich korzystających z produktów końcowych omówionych poniżej). Wspólny kod to
składa się z plainbox, checkbox-ng i checkbox-gui. Obowiązki komponentu są
omówiono bardziej szczegółowo w poniższej tabeli. Tutaj widzimy, że checkbox-gui używał DBus
API udostępniane przez checkbox-ng, które z kolei używa checkbox-support (biblioteki pomocniczej)
oddzielone, więc udostępnij trochę kodu w HEXR) i zwykłym polu.

W prawej kolumnie znajdują się różni dostawcy testów. Projekt pola wyboru to
produkcja i utrzymanie pewnej liczby dostawców (patrz tabela poniżej), ale jest to oczekiwane
że nasi dalsi użytkownicy będą również tworzyć własnych dostawców (specyficznych dla klienta lub
projekt). W końcu niektórzy dostawcy mogą pochodzić od stron trzecich, które przyjmą te
Format.

Wreszcie w lewym dolnym rogu, biblioteka współdzielona, ​​ta biblioteka zawiera wiele parserów
różnych formatów plików i formatów wyjściowych. Technicznie ta biblioteka jest zależnością
HEXR, pole wyboru-ng i dostawców. Jako dodatkową złożoność bibliotekę należy nazwać
z kodu python3 i kodu python2.

UWAGA:
Komunikacja między checkbox-ng i zwykłym polem jest dwukierunkowa. Oferty Plainbox
niektóre interfejsy bazowe i punkty rozszerzeń. Wszystkie są odsłonięte przez zwykłe pudełko
(przy użyciu wspólnych interfejsów API), ale niektóre z nich są faktycznie zaimplementowane w checkbox-ng.

UWAGA:
Wszystkie wewnętrzne interfejsy API są częściowo niestabilne. Interfejs DBus API jest w praktyce bardziej stabilny, ale powinien:
nie można na nich polegać. Zachęcamy do łączenia projektów w lp:checkbox, gdzie API
przejścia mogą być obsługiwane z wdziękiem. Jedynym stabilnym API jest format plików
specyfikacja (definicje stanowisk i białe znaki). Specyfikacja Launchera będzie
ustabilizował się w następnym wydaniu.

Składnik opisy
┌─────────────────────────┬─────────────────────── ──────────────────┬──────────────────────────┐
│Projekt │ Odpowiedzialny za │ Typ │
├─────────────────────────┼─────────────────────── ──────────────────┼──────────────────────────┤
│Pole wyboru następnej generacji │ │ Aplikacja │
│(GUI) │ · C++/QML │
│ │ interfejs użytkownika │ │
│ │ │ │
│ │ · Graficzny │ │
│ │ program uruchamiający dla │ │
│ │ dostawcy, np. │ │
│ │ Klient certyfikatu checkbox │ │
├─────────────────────────┼─────────────────────── ──────────────────┼──────────────────────────┤
│Pole wyboru następnej generacji │ │ Aplikacja │
│(CLI) │ · Wiersz poleceń Pythona │ │
│ │ interfejs │ │
│ │ │ │
│ │ · tekstowy interfejs użytkownika │ │
│ │ │ │
│ │ · polecenie testowania SRU │ │
│ │ │ │
│ │ · Dodatkowe API certyfikacji │ │
│ │ │ │
│ │ · wysyłanie danych do Launchpada │ │
│ │ │ │
│ │ · wysyłanie danych do HEXR │ │
│ │ │ │
│ │ · usługa DBus wymagana przez │ │
│ │ GUI │
└─────────────────────────┴─────────────────────── ──────────────────┴──────────────────────────┘

│Certyfikacja klienta │ │ Dostawca │
│Dostawca │ · klient-certyfikujący-kanoniczny │ │
│ │ plik wykonywalny │ │
│ │ │ │
│ │ · certyfikacja klienta │ │
│ │ białe listy │ │
├─────────────────────────┼─────────────────────── ──────────────────┼──────────────────────────┤
│Certyfikacja serwera │ │ Dostawca │
│Dostawca │ · certyfikacja serwera │ │
│ │ białe listy │ │
│ │ │ │
│ │ · dodatkowe białe listy serwerów │ │
├─────────────────────────┼─────────────────────── ──────────────────┼──────────────────────────┤
│Serwer System-on-Chip │ │ Dostawca │
│Dostawca certyfikacji │ · Certyfikacja serwera SoC │ │
│ │ białe listy │ │
├─────────────────────────┼─────────────────────── ──────────────────┼──────────────────────────┤
│Dostawca pola wyboru │ │ Dostawca │
│ │ · Prawie wszystkie definicje stanowisk │ │
│ │ │ │
│ │ · Większość niestandardowych "skryptów" │ │
│ │ │ │
│ │ · Domyślna i biała lista SRU │ │
├─────────────────────────┼─────────────────────── ──────────────────┼──────────────────────────┤
│Dostawca zasobów │ │ Dostawca │
│ │ · Prawie wszystkie zadania związane z zasobami │ │
│ │ │ │
│ │ · Prawie wszystkie „skrypty” zasobów │ │
├─────────────────────────┼─────────────────────── ──────────────────┼──────────────────────────┤
│Obsługa pól wyboru │ │ Biblioteka │
│ │ · Kod pomocniczy dla różnych │ │
│ │ dostawcy │ │
│ │ │ │
│ │ · Parsery dla wielu formatów tekstowych │ │
├─────────────────────────┼─────────────────────── ──────────────────┼──────────────────────────┤
│PlainBox │ Biblioteka i rozwój │
│ │ · Prawie cała podstawowa logika │ Zestaw narzędzi │
│ │ │ │
│ │ · RFC822 (definicja zadania) │ │
│ │ parser │ │
│ │ │ │
│ │ · Obsługa konfiguracji │ │
│ │ │ │
│ │ · Sesja testowa │ │
│ │ (zawieszenie/wznowienie) │ │
│ │ │ │
│ │ · Biegacz pracy │ │
│ │ │ │
│ │ · Zaufany program uruchamiający │ │
│ │ │ │
│ │ · Rozwiązywanie zależności │ │
│ │ │ │
│ │ · Obsługa wiersza poleceń │ │
│ │ │ │
│ │ · XML, HTML i XSLX │ │
│ │ eksporterzy │ │
│ │ │ │
│ │ · i nie tylko... │ │
│ │ │ │
│ │ · Zestaw narzędzi programistycznych dla dostawców │ │
│ │ │ │
│ │ · 'dostawca startowy plainbox' │ │
│ │ │ │
│ │ · Implementacja 'manage.py' │ │
└─────────────────────────┴─────────────────────── ──────────────────┴──────────────────────────┘

│Starsze pole wyboru (nie │ │ Aplikacja monolityczna │
│już utrzymywane) │ · Aplikacje │ Biblioteka i dane │
│ │ │ │
· Qt4 GUI │
│ │ │ │
Gtk2 GUI
│ │ │ │
│ │ · Urwid (tekst) GUI │ │
│ │ │ │
│ │ · Rdzeń │ │
│ │ │ │
│ │ · Wtyczka i zdarzenie / wiadomość │ │
│ │ Silnik │ │
│ │ │ │
│ │ · Prawie każda funkcja │ │
│ │ zaimplementowano główną wtyczkę │ │
│ │ │ │
│ │ · Dane │ │
│ │ │ │
│ │ · Oferty pracy i białe listy │ │
└─────────────────────────┴─────────────────────── ──────────────────┴──────────────────────────┘

CHANGELOG


UWAGA:
Ten dziennik zmian zawiera jedynie podsumowanie zmian. Dla dokładniejszego rozliczania
historię rozwoju proszę sprawdzić bezpośrednio historię źródła.

Pole wyboruNG 0.23 (niewydany)
· Poprawki: https://launchpad.net/checkbox-ng/+milestone/0.23

Pole wyboruNG 0.22
· Poprawki: https://launchpad.net/checkbox-ng/+milestone/0.22

Pole wyboruNG 0.3
· Poprawki: https://launchpad.net/checkbox-ng/+milestone/0.3

Pole wyboruNG 0.2
· Poprawki: https://launchpad.net/checkbox-ng/+milestone/0.2

Pole wyboruNG 0.1
· Pierwsze wydanie

· Obsługa wyświetlania konfiguracji

· Wsparcie dla uruchamiania testów SRU (automatyczne testowanie regresji)

TESTOWANIE SKRYPTY


„Skrypty” testowe to małe programy, które służą do pomocy we wdrażaniu testów.

test_jasności
Ten skrypt testuje jasność podświetlenia systemu, które można zmienić za pomocą
interfejsy jądra w /sys/class/backlight. Do wyboru może być więcej niż jeden interfejs
z, więc właściwy interfejs do użycia jest wybierany za pomocą heurystyki opisanej w
https://www.kernel.org/doc/Documentation/ABI/stable/sysfs-class-backlight. Jasność
jest manipulowany poprzez aktualizację pliku jasności interfejsu i rzeczywistej_jasności
plik jest sprawdzany, aby zobaczyć, czy wartość została zmodyfikowana do wybranej jasności.

PROFILE KONFIGURACJA


Profile wykonania lub programy uruchamiające pozwalają określić predefiniowany zestaw konfiguracji
opcje umożliwiające dostosowanie ekranu powitalnego, wyświetlanych białych list oraz
zapisywanie wyników lokalnie lub wysyłanie zgłoszenia do Launchpada lub do Certyfikacji
baza danych/HEXR, a także kilka innych parametrów.

Ustawienia profilu są częścią skryptu uruchamiającego i używają albo checkbox-gui lub
checkbox-launcher (w trybie tekstowym/CLI) jako narzędzie do interpretacji kluczy/wartości.

Ten dokument zawiera informacje na temat funkcji i składni programu uruchamiającego. Aby zrozumieć
projekt i koncepcje i zobacz kilka przykładów, możesz przeczytać Tutorial W jaki sposób
tworzyć wyrzutnie i ich relacje ze starszym polem wyboru.

Składnia
Ponieważ checkbox-gui jest aplikacją Qt, ustawienia muszą być zgodne z zasadami stylu INI
QUstawienia <http://qt-project.org/doc/qt-5/QSettings.html> klasa.

Obsługiwane są wartości wielowierszowe, ale muszą być ujęte w cudzysłowy i dodatkowe wiersze
musi zaczynać się od jednej spacji, np.:

[Kategoria]
klawisz = "Witaj
Świat"

· Z QML:

settings.value("kategoria/klucz", i18n.tr("wartość_domyślna"))

· Od C++:

ustawienia->wartość("kategoria/klucz", app.tr("wartość_domyślna"))

I odwrotnie, muszą podążać wyrzutnie specyficzne dla programu uruchamiającego pole wyboru Python Parser konfiguracji
<https://docs.python.org/3/library/configparser.html#supported-ini-file-structure> składnia.

Ponadto niektóre ustawienia mają sens tylko dla GUI lub CLI i dlatego nie są rozumiane przez
inny. Zostały one odnotowane poniżej.

Utrzymany Ustawienia
witam/tytuł
Tytuł aplikacji QML i nagłówek ekranu powitalnego. Domyślnie do Konfiguracja Testowanie.

powitanie/tekst
Wiadomość powitalna do wyświetlenia na pierwszym ekranie (checkbox-gui obsługuje tekst sformatowany)
zezwalanie na znaczniki w stylu HTML). Domyślnie do Witamy do Konfiguracja Testowanie. [...]

pakiet/biała lista_filtr
Wyrażenie regularne pasujące do podzbioru nazw plików z białej listy. Na checkbox-gui it
domyślnie to .*. Dla checkbox-launcher nie ma wartości domyślnej i musi być zdefiniowane.

wybór_zestawu/białej listy
Wzorzec, który musi pasować do białych list, aby został wstępnie wybrany. Wyrażenie regularne Pythona.
Nie ma domyślnego i musi być zdefiniowane. (tylko CLI)

pakiet/pomiń_wybór_białej listy
Jeśli ustawione na true, użytkownik nie otrzyma wyboru białej listy. Tylko wstępnie wybrane
te (patrz whitelist_selection) zostaną wybrane. (tylko CLI).

zestaw/pomiń_wybór_testu
Jeśli ustawione na true, użytkownik nie będzie mógł odznaczyć testów przed uruchomieniem: wszystkie testy
na wybranej białej liście zostanie uruchomiony. (tylko CLI)

zgłoszenie/wiadomość
Tekst nagłówka wyskakującego okienka zgłoszenia , wyświetlany użytkownikowi po przesłaniu
zakończony. (tylko GUI)

zgłoszenie/typ_wejściowy
Pokaż pole wprowadzania tekstu, aby wprowadzić bezpieczny identyfikator lub adres LP (domyślnie). Do
po prostu zapisz wyniki na dysku, musisz użyć Żaden wartość. Aby zweryfikować za pomocą wyrażenia regularnego,
musi być regex. (tylko GUI)

zgłoszenie/wyrażenie regularne
Wyrażenie regularne do sprawdzania poprawności danych wejściowych w polu zgłoszenia (np. e-mail, secure_id)
jeśli input_type to wyrażenie regularne. (tylko GUI). RegExpValidator, domyślny .*

zgłoszenie/input_placeholder
Tymczasowy tekst do umieszczenia w polu wprowadzania, używany do prowadzenia użytkownika. Launchpad E-mail
Adres (domyślnie) lub Zabezpieczać ID (15 or 18 postacie). (tylko GUI)

zgłoszenie/bezpieczny_id
Wstępnie skonfigurowany secure_id do wypełnienia pola tekstowego.

zgłoszenie/ok_btn_text
Etykieta przycisku „Wyślij”. Prześlij Efekt (domyślnie) lub Zapisz Efekt. (GUI
tylko)

złożenie/anulowanie_ostrzeżenia
Pokaż użytkownikowi, czy chce wyjść bez zapisania raportu. Jesteś o
aby wyjść z tego testu bez zapisywania raportu wyników. Czy chcesz zapisać
raport? (tylko GUI)

złożenie/przesłanie_do_hexr
Boolean, dodaj dodatkowy nagłówek, aby również wysłać wyniki do HEXR (działa z
transport certyfikacyjny)

eksporter/xml_export_path
Lokalizacja, w której ma zostać zapisany plik przesyłania XML, jeśli jest ustawiona na pusty ciąg, otworzy się
okno dialogowe zapisywania pliku. Domyślny: /tmp/zgłoszenie.xml (tylko GUI)

transport/prześlij_do
Punkt końcowy transportu. Domyślnie do . Obsługuje przesyłanie do LP (domyślnie,
wartość wyrzutnia), certyfikacjalub miejscowy (Zapisz na dysku)

transport/prześlij_url
Adres URL, na który należy przesyłać wyniki. Pozwala to na przesyłanie na różne strony internetowe, na przykład
można go przesłać bezpośrednio do hexr lub do witryn pomostowych. Używany tylko z
certyfikacja wartość prześlij_do.

transport/nazwa_pliku_konfiguracyjnego
Nazwa niestandardowego pliku konfiguracyjnego do załadowania. Pliki konfiguracyjne służą głównie do definiowania
Zmienne środowiska. (tylko CLI)

transport/dont_suppress_output
Jeśli ustawione, zasoby, lokalne zadania i załączniki będą wyświetlane na ekranie, to
generuje dużo tekstu i służy głównie do debugowania. (tylko CLI)

SKRZYNKA KONTROLNA/ZWYKŁA SKRZYNKA MIOTACZE SEMINARIUM


Ten dokument zawiera wyjaśnienie, dlaczego wyrzutnie są potrzebne, co można osiągnąć
z nimi i omawia kilka przykładów, aby lepiej opisać ich możliwości. Dla
szczegółowe informacje o tym, które ustawienia są obsługiwane przez programy uruchamiające, oraz konkretna składnia dla
pliki programu uruchamiającego, spójrz na /profile.

Dziedzictwo checkbox zachowanie kontrola
W przeszłości zachowanie Checkbox było kontrolowane przez trzy mechanizmy.

Po pierwsze, funkcje checkboxa można rozszerzyć poprzez dodanie wtyczek. Na przykład
możliwość zgłoszenia do serwisu certyfikacyjnego została dodana przez checkbox-pakiet certyfikacyjny
za pomocą wtyczki. Wtyczki zawarte w checkbox-certification i które dodają nowe zachowanie
do bazy były:

/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

To dodało sposób, aby poprosić użytkownika o dane specyficzne dla zgłoszenia, wygenerować xml
raport i inne funkcje.

Następnie zachowanie wtyczek można skonfigurować lub kontrolować za pomocą konfiguracji
pliki, które są „kaskadowe”. Plik konfiguracyjny może zawierać inne, a te z kolei mogą
obejmują inne.

To jest przykład głównego pliku konfiguracyjnego projektu-qt.ini specyficznego dla projektu. To pierwszy
plik odczytywany po uruchomieniu klienta specyficznego dla projektu. Niektóre ustawienia są skrócone:

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

[pole wyboru/wtyczki/informacje o_środowisku]
repozytoria = deb http:///.*\(archiwum\|bezpieczeństwo\).ubuntu.com/ubuntu precyzyjne-bezpieczeństwo
routery = wiele
serwer_iperf = 10.20.30.40
lista_źródeł = / Etc / apt / sources.list
wpa_n_psk = hasło
wpa_n_ssid = punkt dostępu

[pole wyboru/wtyczki/interfejs_użytkownika]
title = Mój projekt Testowanie systemu

Zwróć uwagę na wiersz include, który instruuje go, aby załadować plik konfiguracyjny dla
checkbox-project-base-qt i checkbox-project-base. Checkbox-project-base-qt ładuje
configs dla checkbox-certification i checkbox-project. Ustawienia są kaskadowane, więc
opcje konfiguracyjne u góry zastępują te u dołu.

Wreszcie, "binarny" używany do wywołania pola wyboru to skrypt powłoki, który definiuje, gdzie znaleźć
pole wyboru rzeczy musi zostać uruchomione: możesz zdefiniować katalog udostępniania, konkretne dane
katalogu, wskaż plik konfiguracyjny i zdefiniuj kilka zmiennych środowiskowych, które
może potrzebować podczas testowania. Oto przykład dla checkbox-project-qt:

#!/ bin / bash
eksportuj CHECKBOX_DATA=${CHECKBOX_DATA:-~/.pole wyboru}
eksportuj CHECKBOX_SHARE=${CHECKBOX_SHARE:-/usr/share/checkbox}
eksport CHECKBOX_OPTIONS=${CHECKBOX_OPTIONS:---poziom-loga=debug --log=$CHECKBOX_DATA/checkbox-project.log}
eksport CHECKBOX_CERTIFICATION_SHARE=${CHECKBOX_CERTIFICATION_SHARE:-/usr/share/checkbox-certification}
eksport CHECKBOX_OEM_SHARE=${CHECKBOX_PROJECT_BASE_SHARE:-/usr/share/checkbox-project-base}
eksport CHECKBOX_PROJECT_SHARE=${CHECKBOX_PROJECT_SHARE:-/usr/share/checkbox-project}

# Wygoda definiowania katalogu PYTHONPATH.
if [ "$CHECKBOX_SHARE" != "/usr/share/checkbox" ]; następnie
eksportuj PYTHONPATH = "$CHECKBOX_SHARE:$PYTHONPATH"
fi

python3 $CHECKBOX_SHARE/uruchom "$@" $CHECKBOX_PROJECT_SHARE/configs/$(nazwa podstawowa $0).ini

Tutaj widać, że definiuje niektóre lokalizacje, a ważną częścią jest ostateczny python3
wiersz, w którym zlokalizuje i użyje wymaganego pliku konfiguracyjnego .ini, który widzieliśmy wcześniej.

Ta hierarchiczna organizacja była bardzo potężna, ale była też trudna do opanowania i
miał też pewne ograniczenia. Część pracy, którą wykonaliśmy z polem wyboru, polegała na zintegrowaniu wszystkich
wtyczki specyficzne dla projektu do checkbox trunk, dzięki czemu cały rdzeń kodu jest w jednym miejscu,
a warianty specyficzne dla projektu dostarczają tylko zlecenia, białe listy, dane i konfigurację,
bez dodawania nowego zachowania.

Nowości zwykłe pudełko zachowanie kontrola
W przeciwieństwie do pola wyboru rdzeń plainbox jest monolityczny i nie zawiera koncepcji wtyczek. Ten
ułatwia zrozumienie i pracę. Rdzeń zwykłego pudełka ma implementacje dla wszystkich
funkcje w starych pakietach checkbox, więc żadne dodatki nie są potrzebne do korzystania z funkcji
takie jak poddanie się certyfikacji lub generowanie raportów.

To, co nazywamy plainbox, to biblioteka, która implementuje wszystkie funkcje, jak widać
tutaj.

Plainbox zapewnia narzędzia, które pomagają programistom testów pisać i pakować testy. To są
dostarczane w „dostawcach”, czyli podmiotach przeznaczonych do enkapsulacji opisów testów,
niestandardowe skrypty do testowania, białe listy i różne dane. Zostały zaprojektowane, aby umożliwić
zespoły do ​​pisania i dostarczania własnych testów bez martwienia się zbytnio o
podstawowy kod zwykłego pola.

Aby uzyskać informacje na temat pisania testów i dostawców, zobacz samouczek dostawcy

Jednak używając tych testów do weryfikacji rzeczywistego systemu, chcieliśmy zapewnić
coś łatwiejszego i bliższego doświadczeniu użytkownika z pola wyboru. Stworzyliśmy dwóch klientów,
checkbox-gui i checkbox-cli, które miały pewne zakodowane zachowania, a my też zaczęliśmy
tworzenie innych klientów, które były oparte na nich, ale były specyficzne dla celu. Na przykład,
mieliśmy wersję pola wyboru do testowania SRU, inną do certyfikacji serwera i tak dalej.

Ale potem zdaliśmy sobie sprawę, że wiele kodu zostało zduplikowanych, a zachowania były powszechne
z wyjątkiem kilku zmian. Wymyśliliśmy więc koncepcję „wyrzutni”, które są
nieco podobny do plików konfiguracyjnych checkbox i programów uruchamiających skrypty powłoki.

Chodzi o to, że checkbox-gui i checkbox-cli mają kilka bardzo podstawowych zachowań, ponieważ:
to klienci, którzy są domyślnie dostarczani z ubuntu. Mogą pokazać wszystkie dostępne
umieszczać na białych listach, wyświetlać predefiniowaną wiadomość powitalną, a na koniec pozwala użytkownikowi zobaczyć
raport html i prześlij go do launchpada używając swojego adresu e-mail, podobnie jak w wersji
pola wyboru dostarczonego z Ubuntu.

Zamiast używać skomplikowanych przełączników wiersza poleceń, programy uruchamiające pozwalają skonfigurować niektóre
opcjonalne zachowania, aby dostosować doświadczenie testowania. Program uruchamiający zawiera ustawienia i
jest podobny do skryptu powłoki, ale interpreterem będzie checkbox-gui lub
program uruchamiający pole wyboru.

Oto kilka przykładów tego, co można zrobić za pomocą programów uruchamiających.

Niespodzianką jest, że checkbox-cli sam w sobie jest programem uruchamiającym:

#!/usr/bin/env program uruchamiający pole wyboru
[Witamy]
text = Witamy w testowaniu systemu!
Pole wyboru zapewnia testy potwierdzające, że system działa poprawnie.
Po zakończeniu testów możesz wyświetlić raport podsumowujący dla
Twój system.
Ostrzeżenie: niektóre testy mogą spowodować zawieszenie się systemu lub
nie odpowiada. Zapisz całą swoją pracę i zamknij wszystkie inne uruchomione
aplikacje przed rozpoczęciem procesu testowania.

[Więcej]
whitelist_filter = ^domyślny$
whitelist_selection = ^domyślny$
skip_whitelist_selection = Prawda

[transport]
prześlij_do = starter

Tutaj możesz zobaczyć, jak dostosowujemy kilka opcji: automatycznie wyświetla wiadomość powitalną
wybiera domyślną białą listę i po jej zakończeniu zostanie przesłana do startera.

Przykładem graficznego programu uruchamiającego jest canonical-certification-client.

#!/usr/bin/checkbox-gui

[Witamy]
title = "Certyfikacja systemu"
tekst = " Witamy w Certyfikacji Systemów! Ta aplikacja będzie
zbierać informacje z Twojego systemu. Następnie zostaniesz poproszony o wykonanie testów manualnych, aby
sprawdź, czy system działa prawidłowo. Na koniec zostaniesz poproszony o
Secure ID komputera w celu przesłania informacji do certyfikacji
Baza danych. Aby dowiedzieć się, jak utworzyć lub zlokalizować bezpieczny identyfikator,
zobacz tutaj: certyfikacja.canonical.com "

[Więcej]
whitelist_filter = "^client-(cert|selftest).*"

[zgłoszenie]
input_type = "wyrażenie regularne"
input_placeholder = "Bezpieczny identyfikator (15 lub 18 znaków)"
ok_btn_text = "Prześlij wyniki"
submit_to_hexr = "prawda"

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

[transport]
submit_to = "certyfikacja"

Wyrzutnie graficzne są nieco bardziej skomplikowane, ale zasadniczo są podobne, co to
pozwala na zdefiniowanie niektórych parametrów w celu dostosowania doświadczenia testowego.

Bardzo prostym programem uruchamiającym w trybie tekstowym jest kanoniczna kolekcja hw, która po prostu uruchamia podstawową
testuje informacje o sprzęcie i przesyła je do bazy danych sprzętu:

[Witamy]
title = Zbieranie informacji o sprzęcie
text = Zbieranie informacji o sprzęcie. Możesz zostać poproszony o podanie hasła.
Ten proces zajmie około 30 sekund, a otrzymasz
z adresem URL, przez który możesz potwierdzić i zarejestrować swój sprzęt
uległość.

[Więcej]
filtr_białej listy = ^hwsubmit$
whitelist_selection = ^hwsubmit$
skip_whitelist_selection = Prawda
skip_test_selection = Prawda

[zgłoszenie]
# Fałszywy secure_id gwarantuje, że o to nie pytamy
# Zawsze można to nadpisać w pliku .conf.
bezpieczny_id = 000

[transport]
prześlij do = certyfikacja
prześlij_url = https://serwer-sprzętu.example.com/

Na koniec pakiet canonical-driver-test-suite zapewnia zarówno graficzny, jak i tekstowy program uruchamiający,
które są funkcjonalnie równoważne:

#!/usr/bin/checkbox-gui

[Witamy]
title = „Pakiet testowy sterowników kanonicznych”
tekst = " Witamy w pakiecie testowym sterowników kanonicznych.

Ten program zawiera automatyczne i ręczne testy, które pomogą Ci odkryć
problemy, które pojawią się podczas uruchamiania sterowników urządzeń w systemie Ubuntu.

Ta aplikacja przeprowadzi użytkownika przez te testy w a
z góry ustaloną kolejność i automatycznie zbierają zarówno informacje systemowe, jak
jak również wyniki testów. Poprosi również użytkownika o wprowadzenie danych w przypadku ręcznego
wymagane jest testowanie.

Czas wykonywania testów zależy od tego, które testy zdecydujesz się
wykonać. Użytkownik będzie miał możliwość dostosowania przebiegu testowego do
dostosować kierowcę i ilość czasu dostępnego na testy.

Aby rozpocząć, po prostu kliknij przycisk Kontynuuj poniżej i postępuj zgodnie z instrukcjami wyświetlanymi na ekranie
instrukcje. "

[Więcej]
whitelist_filter = "^ihv-.*"

[zgłoszenie]
ok_btn_text = "Zapisz wyniki"
input_type = "brak"

[eksporter]
xml_export_path = ""

[transport]
submit_to = "lokalny"

Tryb tekstowy:

#!/usr/bin/env program uruchamiający pole wyboru
[Witamy]
text = Witamy w pakiecie testowym sterowników kanonicznych
Ten program zawiera automatyczne i ręczne testy, które pomogą Ci odkryć
problemy, które pojawią się podczas uruchamiania sterowników urządzeń w systemie Ubuntu.
Ta aplikacja przeprowadzi użytkownika przez te testy w a
z góry ustaloną kolejność i automatycznie zbierają zarówno informacje systemowe, jak
jak również wyniki testów. Poprosi również użytkownika o wprowadzenie danych w przypadku ręcznego
wymagane jest testowanie.
Czas wykonywania testów zależy od tego, które testy zdecydujesz się
wykonać. Użytkownik będzie miał możliwość dostosowania przebiegu testowego do
dostosować kierowcę i ilość czasu dostępnego na testy.
Aby rozpocząć, po prostu kliknij przycisk Kontynuuj poniżej i postępuj zgodnie z instrukcjami wyświetlanymi na ekranie
instrukcje.

[Więcej]
# Białe listy wyświetlane na ekranie wyboru pakietu
filtr_białej listy = ^ihv-.*
# Whitelist_selection jest obowiązkowe, więc ustawiliśmy ją na fałszywą wartość, więc
# nie wybrano wstępnie białych list.
whitelist_selection = fałszywy

POLE KONTROLNE ZWOLNIENIE PROCES


Ta strona opisuje kroki niezbędne do wydania wersji Checkbox i Checkbox
Regularna certyfikacja do stabilnego PPA należącego do zespołu Certyfikacji Sprzętu
podstawa. W całym tym dokumencie termin „Pole wyboru” jest używany jako ogólny termin obejmujący
wszystkie wersje Checkbox należące do zespołu ds. Certyfikacji sprzętu, obecnie Checkbox
samego i rozszerzenia certyfikacji Checkbox.

Przegląd
Obecnie proces przebiega co dwa tygodnie, a co dwa tygodnie pojawia się nowa wersja Checkbox
dwa tygodnie. Obejmuje to dziesięć dni roboczych, a zadania wykonywane każdego dnia lub grupy
dni opisano poniżej:

· Dni 1-4: Czas przeznaczony na wprowadzenie nowych zmian w trunku.

· Dzień 5: Zmiany są scalane z pnia lp:pole wyboru i lp:checkbox-certyfikat do
ich odpowiednie gałęzie wydania. Dzienniki zmian dla obu są zderzyłem w tym momencie i
poprawki są oznaczone. Na tym etapie może być również konieczne skopiowanie pakietu 'fwts'
z FWTS Stabilny PPA <https://launchpad.net/~firmware-testing-team/+archive/ppa-
Fwts-stabilny> do pole wyboru Wydanie Testowanie PPA <https://launchpad.net/~checkbox-
deweloper/+archiwum/testowanie>.

· Dni 6-9: Testowanie jest przeprowadzane przez kierownika wydania w celu certyfikacji sprzętu
oraz przedstawiciel zespołu CE QA (główny klient Checkboxa w ciągu
Kanoniczny)

· Dzień 9: Spotkanie dotyczące wydania odbywa się pomiędzy menedżerem ds. wydania sprzętu
Zespół certyfikujący i przedstawiciel zespołu CE QA. Potencjalne problemy z
uwolnienia są identyfikowane i przygotowywane są plany ich rozwiązania.

· Dzień 10: Testowana wersja Checkbox jest kopiowana do stabilnego PPA.

Launchpad Oddziały
Proces wydawania wymaga oddzielnych gałęzi w Launchpadzie zawierających półmrożone
wersja kodu, która znajdowała się w bagażniku w 5 dniu procesu. Jest tak, że rozwój
można kontynuować na bagażniku bez narażania stabilności planowanej wersji
Pole wyboru. Relacja między wszystkimi gałęziami zaangażowanymi w proces jest pokazana poniżej:

· lp: pole wyboru/zwolnienie <- lp:pole wyboru

· lp:checkbox-certyfikacja/wydanie <- lp:checkbox-certyfikat

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

Audyt kamień milowy błędy
Przed utworzeniem kandydata do wydania menedżer wydania powinien przejrzeć listę błędów
kamień milowy dla następnej wersji Checkbox. Powinni odwiedzić checkbox Kamienie milowe
<https://launchpad.net/checkbox/+milestonesmilestones> i zlokalizuj kamień milowy z datą
data premiery.

· W przypadku błędów, które są ustawione na W toku z powiązaną gałęzią - połącz z gałęzią
właściciel, aby sprawdzić, czy scalanie można zakończyć przed upływem terminu.

· W przypadku błędów, które są w innym stanie niezamkniętym (z wyjątkiem Fix Zaangażowany) - ponowny kamień milowy
je do następnego etapu.

Tnący dotychczasowy zwolnić
Aby skrócić wydanie, musimy scalić zmiany z pnia do wydania
branch, zatwierdź je odpowiednią wiadomością i zaktualizuj changelog w trunku, aby
przyszłe zmiany przechodzą pod poprawną wersję. Dla każdej kombinacji gałęzi pokazanych powyżej,
wykonaj następujące czynności (w przykładzie użyto lp:pole wyboru i lp: pole wyboru/zwolnienie):

bzr branch lp:pole wyboru/zwolnienie pole wyboru-zwolnienie
bzr branch lp:pole wyboru checkbox-trunk
wydanie pola wyboru cd
current_stable=`head -n1 $(find . -name 'changelog') | grep -oP '(?<=\().*(?=\))'`
scalanie bzr lp: pole wyboru

w tym momencie, jeśli nie ma zmian (innych niż jeden do debian/list zmian) łączymy się, to robimy
nie wykonać wydania danego pakietu. W praktyce często zdarza się to z
checkbox-certyfikat ale nigdy z checkbox:

bzr commit -m "Scalone w zmianach z rev$(bzr revno -r tag:$current_stable lp:checkbox) do rev$(bzr revno lp:checkbox) z lp:checkbox"
bzr push lp: pole wyboru/zwolnienie
cd `znajdź . -nazwa 'debian'`; Płyta CD ..
tag bzr `head -n1 debian/changelog | grep -oP '(?<=\().*(?=\))'`
dch -r (zapisz zmodyfikowany dziennik zmian)
dch -i -U 'Zwiększony dziennik zmian'
debetować
bzr push lp: pole wyboru

Ostatnim krokiem w procesie jest wykonanie kompilacji pakietów w
ppa: checkbox-dev/testing PPA. Aby to zrobić, musimy przejść do stron z przepisami na
checkbox i / lub checkbox-certyfikat uwolnić gałęzie.

· testowanie pola wyboru Przepis <https://code.launchpad.net/~checkbox-dev/+recipe/checkbox-
testowanie>

· checkbox-testowanie-certyfikacyjne Przepis <https://code.launchpad.net/~checkbox-
dev/+recept/checkbox-certification-testing>

Połączenia Budować Teraz opcja powinna być dostępna na stronie. Kliknij, aby rozpocząć kompilację.

Kopiowanie firmware Testowanie Zestaw do dotychczasowy Testowanie PPA
Narzędzie Firmware Test Suite to narzędzie do testowania oprogramowania układowego systemu, które jest naturalnie ciężkie
wykorzystywane przez Checkbox. Aby upewnić się, że najnowsza wersja zawiera poprawki i nowe
testy/funkcje wymagane przez Checkbox są dostępne i również niczego nie psują
Checkbox, musimy go udostępnić obok Checkbox. Po odcięciu wydania, jeśli
Zespół testowania oprogramowania sprzętowego powiadomił, że dostępna jest nowa wersja i że ta wersja
powinien być używany do certyfikacji, musimy go skopiować do Testing PPA. Aby to zrobić, my
muszę iść do Skopiuj Pakiety widok of dotychczasowy firmware Testowanie Zestaw (Stabilna) PPA
<https://launchpad.net/~firmware-testing-team/+archive/ppa-fwts-stable/+copy-packages> i
wybierz pakiety 'fwts' dla wszystkich wydań z powrotem do wersji Precise. Musimy ustawić
„Docelowy PPA” jako „Testowanie zwolnienia pola wyboru [~checkbox-dev/testing]” i „Kopiuj
Opcje” na „Kopiuj istniejące pliki binarne”, a następnie kliknij „Kopiuj pakiety”. W takim razie ten krok
należy powtórzyć, ale ustaw pole „Destination PPA” na „PPA for Checkbox Developers”
[~pole wyboru-dev/ppa]'.

Następna Wydanie of pole wyboru e-mail
Aby każdy miał możliwość wykonania wszelkich wymaganych testów w odpowiednim czasie
sposób, po zakończeniu kompilacji PPA należy wysłać e-mail na następujący adres
listy mailingowe:

· [email chroniony] <certyfikacja-sprzętowa-
[email chroniony]>

· [email chroniony] <[email chroniony]>

Treść zazwyczaj wygląda mniej więcej tak:

Temat: Następne wydanie Checkbox (18)

Cześć,

Kolejna wersja Checkbox jest dostępna w
https://code.launchpad.net/~checkbox-dev/+archive/testing PPA.
Przetestuj go w dogodnym dla siebie czasie. Pole wyboru jest oparte na wersji 2484 z
lp:checkbox i Checkbox Certification są oparte na wersji 586 of
lp:checkbox-certyfikacja.

Dzięki,

Jeśli jedna lub druga z opcji Checkbox i Checkbox Certification nie została zaktualizowana, to
nie ma potrzeby wspominać o tym pakiecie

Testowanie dotychczasowy zwolnić
Teraz, gdy wydanie zostało wycięte, testy powinny odbyć się przed spotkaniem dotyczącym wydania.
Z punktu widzenia zespołu certyfikującego należy przetestować:
checkbox-certyfikujący-klient i checkbox-certyfikat-serwer które stanowią podstawę dla
CE QA Specyficzne dla OEM wersje Checkboxa. Serwer certyfikacji Checkbox jest testowany w
Klient certyfikacji pętli CI Checkbox musi zostać przetestowany ręcznie.

Wydanie Spotkanie
W czwartek przed zwolnieniem odbywa się spotkanie przedstawiciela
Zespół Certyfikujący oraz przedstawiciel Nieruchomości Komercyjne Inżynieria QA zespół. The
spotkanie odbywa się o 7:30 UTC, jak pokazano w tym kalendarz zapraszać
<https://www.google.com/calendar/hosted/canonical.com/event?action=TEMPLATE&tmeid=Y3QxcWVla3ViMTRvMXByOHZlOTFvc283Y2NfMjAxMzA4MjlUMDczMDAwWiBicmVuZGFuLmRvbmVnYW5AY2Fub25pY2FsLmNvbQ&tmsrc=brendan.donegan%40canonical.com>.
Agenda spotkania znajduje się w zaproszeniu.

Wydawniczy dotychczasowy zwolnić
Aby opublikować wydanie, wystarczy skopiować kilka pakietów z pole wyboru
Wydanie Testowanie PPA <https://launchpad.net/~checkbox-dev/+archive/testing> do sprzęt komputerowy
Certyfikacja Publiczne PPA <https://launchpad.net/~hardware-certification/+archive/public>.
Aby to zrobić, przejdź do Skopiuj Pakiety widok of dotychczasowy pole wyboru Wydanie Testowanie PPA
<https://launchpad.net/~checkbox-dev/+archive/testing/+copy-packages> i zaznacz wszystko
wersje poniższej listy pakietów: pole wyboru, checkbox-certyfikat, racja. Robić
upewnij się, że pole „Destination PPA” jest ustawione na „Public PPA for Hardware Certification”
[~hardware-certification/public]” i że pole „Opcje kopiowania” jest ustawione na „Kopiuj
istniejące pliki binarne”, a następnie kliknij „Kopiuj pakiety”.

Następnie należy wysłać wiadomość e-mail z ogłoszeniem na adres
[email chroniony] <[email chroniony]>.
Poniżej znajduje się szablon ogłoszenia:

Cześć,

Nowa wersja pola wyboru została przesłana do sprzętu
Certyfikacja Publiczna PPA
(https://launchpad.net/~hardware-certification/+archive/public). ten
wydanie jest oparte na wersji 2294 lp:checkbox

Dzięki,

Proszę dołączyć najnowszą część dziennika zmian jako informacje o wydaniu

· indeks płci

· modindeks

· Szukaj

Użyj checkbox-cli online za pomocą usług onworks.net


Darmowe serwery i stacje robocze

Pobierz aplikacje Windows i Linux

  • 1
    Program ładujący Clover EFI
    Program ładujący Clover EFI
    Projekt został przeniesiony do
    https://github.com/CloverHackyColor/CloverBootloader..
    Funkcje: Uruchom system macOS, Windows i Linux
    w trybie UEFI lub starszym na komputerze Mac lub PC z
    UE...
    Pobierz program ładujący Clover EFI
  • 2
    zjednoczone obroty
    zjednoczone obroty
    Dołącz do nas w Gitterze!
    https://gitter.im/unitedrpms-people/Lobby
    Włącz repozytorium URPMS w swoim
    system -
    https://github.com/UnitedRPMs/unitedrpms.github.io/bl...
    Pobierz unitedrpms
  • 3
    Zwiększ biblioteki C ++
    Zwiększ biblioteki C ++
    Boost zapewnia bezpłatne przenośne
    recenzowane biblioteki C++. The
    nacisk kładziony jest na przenośne biblioteki, które
    dobrze współpracuje z biblioteką standardową C++.
    Zobacz http://www.bo...
    Pobierz biblioteki Boost C++
  • 4
    WirtualnyGL
    WirtualnyGL
    VirtualGL przekierowuje polecenia 3D z a
    Unix/Linux OpenGL na a
    GPU po stronie serwera i konwertuje plik
    renderowane obrazy 3D do strumienia wideo
    z którym ...
    Pobierz VirtualGL
  • 5
    libusba
    libusba
    Biblioteka, aby włączyć przestrzeń użytkownika
    programy użytkowe do komunikacji
    Urządzenia USB. Publiczność: deweloperzy, koniec
    Użytkownicy/Pulpit. Język programowania: C.
    Kategorie...
    Pobierz plik libusb
  • 6
    HAUST
    HAUST
    SWIG to narzędzie do tworzenia oprogramowania
    która łączy programy napisane w C i
    C++ z różnymi wysokopoziomowymi
    języki programowania. SWIG jest używany z
    różne...
    Pobierz SWIG
  • więcej »

Komendy systemu Linux

Ad