Merge lp:~roadmr/ubuntu/quantal/checkbox/0.14.8 into lp:ubuntu/quantal/checkbox

Proposed by Daniel Manrique
Status: Merged
Merged at revision: 53
Proposed branch: lp:~roadmr/ubuntu/quantal/checkbox/0.14.8
Merge into: lp:ubuntu/quantal/checkbox
Diff against target: 4032 lines (+691/-1663)
52 files modified
backend (+7/-3)
checkbox/parsers/udevadm.py (+8/-1)
data/whitelists/default.whitelist (+1/-0)
debian/changelog (+56/-0)
debian/control (+7/-2)
debian/po/ast.po (+2/-2)
debian/po/cs.po (+2/-2)
debian/po/de.po (+2/-2)
debian/po/en_AU.po (+2/-2)
debian/po/en_GB.po (+2/-2)
debian/po/es.po (+4/-3)
debian/po/fr.po (+13/-13)
debian/po/he.po (+2/-2)
debian/po/hu.po (+2/-2)
debian/po/id.po (+2/-2)
debian/po/it.po (+2/-2)
debian/po/ja.po (+2/-2)
debian/po/nl.po (+2/-2)
debian/po/oc.po (+2/-2)
debian/po/pl.po (+2/-2)
debian/po/pt_BR.po (+2/-2)
debian/po/ro.po (+2/-2)
debian/po/ru.po (+2/-2)
debian/po/tr.po (+2/-2)
debian/po/uk.po (+2/-2)
debian/po/zh_CN.po (+2/-2)
debian/po/zh_TW.po (+2/-2)
jobs/cpu.txt.in (+1/-0)
jobs/esata.txt.in (+0/-6)
jobs/firewire.txt.in (+0/-6)
jobs/mediacard.txt.in (+0/-48)
jobs/optical.txt.in (+90/-52)
jobs/resource.txt.in (+1/-1)
jobs/usb.txt.in (+7/-19)
jobs/wireless.txt.in (+17/-3)
plugins/apport_prompt.py (+0/-280)
plugins/backend_info.py (+60/-21)
plugins/suites_prompt.py (+8/-1)
po/POTFILES.in (+0/-1)
po/ar.po (+13/-12)
po/fi.po (+28/-14)
po/fr.po (+131/-109)
po/pt_BR.po (+5/-5)
qt/checkbox-qt.ui (+0/-935)
qt/frontend/qtfront.cpp (+2/-1)
qt/frontend/qtfront.ui (+8/-5)
scripts/display_resource (+84/-0)
scripts/graphics_driver (+81/-50)
scripts/network_info (+15/-2)
scripts/network_wireless_test (+0/-25)
scripts/optical_write_test (+3/-4)
setup.py (+1/-1)
To merge this branch: bzr merge lp:~roadmr/ubuntu/quantal/checkbox/0.14.8
Reviewer Review Type Date Requested Status
Daniel Holbach (community) Approve
Micah Gersten (community) Needs Fixing
Ubuntu branches Pending
Review via email: mp+127923@code.launchpad.net

Description of the change

Another batch of bugfixes for checkbox. Also note a series of translations that were automatically pulled into trunk by Launchpad.

Thanks!

To post a comment you must log in.
Revision history for this message
Micah Gersten (micahg) wrote :

This looks fine except for the following looks like a new feature which probably needs an FFe:
 * scripts/graphics_driver: Added NVIDIA driver detection (LP: #1060211)

Also, you don't mention the running of wrap-and-sort on debian/control

review: Needs Fixing
54. By Daniel Manrique

Added mention of wrap-and-sort

Revision history for this message
Ara Pulido (ara) wrote :

The FFe has been granted by the release team. Can we get the upload now, please?

Revision history for this message
Daniel Holbach (dholbach) wrote :

Uploaded. Sitting in the review queue now.

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'backend'
--- backend 2012-06-26 16:07:04 +0000
+++ backend 2012-10-05 14:06:24 +0000
@@ -35,10 +35,14 @@
35 while True:35 while True:
36 try:36 try:
37 message = reader.read_object()37 message = reader.read_object()
38 #"unpack" the message
39 sequence, message = message
38 if message == "stop":40 if message == "stop":
39 break41 break
40 if message == "ping":42 if message == "ping":
41 writer.write_object("pong")43 #Build a tuple with the sequence number as
44 #received
45 writer.write_object((sequence, "pong",))
42 continue46 continue
43 if isinstance(message, dict) and "command" in message:47 if isinstance(message, dict) and "command" in message:
44 job = Job(message["command"], message.get("environ"),48 job = Job(message["command"], message.get("environ"),
@@ -50,8 +54,8 @@
50 status, data, duration = (FAIL, "Decode error", 0,)54 status, data, duration = (FAIL, "Decode error", 0,)
51 else:55 else:
52 status, data, duration = (FAIL, "", 0,)56 status, data, duration = (FAIL, "", 0,)
5357 #Build a tuple with sequence number
54 writer.write_object((status, data, duration,))58 writer.write_object((sequence, (status, data, duration,),))
55 except IOError:59 except IOError:
56 break60 break
5761
5862
=== modified file 'checkbox/parsers/udevadm.py'
--- checkbox/parsers/udevadm.py 2012-08-20 18:13:17 +0000
+++ checkbox/parsers/udevadm.py 2012-10-05 14:06:24 +0000
@@ -91,6 +91,9 @@
91 if "IFINDEX" in self._environment:91 if "IFINDEX" in self._environment:
92 return "NETWORK"92 return "NETWORK"
9393
94 if self.bus == "ieee80211":
95 return "WIRELESS"
96
94 if "PCI_CLASS" in self._environment:97 if "PCI_CLASS" in self._environment:
95 pci_class_string = self._environment["PCI_CLASS"]98 pci_class_string = self._environment["PCI_CLASS"]
96 pci_class = int(pci_class_string, 16)99 pci_class = int(pci_class_string, 16)
@@ -156,7 +159,7 @@
156 return "BLUETOOTH"159 return "BLUETOOTH"
157160
158 if class_id == Pci.BASE_CLASS_BRIDGE \161 if class_id == Pci.BASE_CLASS_BRIDGE \
159 and (subclass_id == Pci.CLASS_BRIDGE_PCMCIA \162 and (subclass_id == Pci.CLASS_BRIDGE_PCMCIA
160 or subclass_id == Pci.CLASS_BRIDGE_CARDBUS):163 or subclass_id == Pci.CLASS_BRIDGE_CARDBUS):
161 return "SOCKET"164 return "SOCKET"
162165
@@ -396,6 +399,10 @@
396 if not device.bus:399 if not device.bus:
397 return True400 return True
398401
402 # Keep 80211 devices
403 if device.bus == "ieee80211":
404 return False
405
399 # Ignore devices without product information406 # Ignore devices without product information
400 if not device.product and device.product_id is None:407 if not device.product and device.product_id is None:
401 return True408 return True
402409
=== modified file 'data/whitelists/default.whitelist'
--- data/whitelists/default.whitelist 2012-08-20 18:13:17 +0000
+++ data/whitelists/default.whitelist 2012-10-05 14:06:24 +0000
@@ -114,6 +114,7 @@
114__optical__114__optical__
115optical/detect115optical/detect
116optical/read116optical/read
117optical/read_.*
117__pcmcia-pcix__118__pcmcia-pcix__
118pcmcia-pcix/detect119pcmcia-pcix/detect
119__power-management__120__power-management__
120121
=== modified file 'debian/changelog'
--- debian/changelog 2012-09-26 16:10:55 +0000
+++ debian/changelog 2012-10-05 14:06:24 +0000
@@ -1,3 +1,59 @@
1checkbox (0.14.8) quantal; urgency=low
2
3 * New upstream release (LP: #1061359)
4
5 * Launchpad automated translation updates
6
7 [Sylvain Pineau]
8 * setup.py, qt/checkbox-qt.ui: Removed the old UI design file (LP: #1049912)
9 * scripts/display_resource, jobs/resource.txt.in: Added a new display
10 resource script to properly handle connector names returned by proprietary
11 drivers (LP: #956139) (LP: #992727)
12 * jobs/optical.txt.in, scripts/optical_write_test: Filter ANSI escape char
13 outputed by wodim and removed some stray whitespace (LP: #1052803)
14 * checkbox/parsers/udevadm.py: Improved wireless devices detection.
15 The wireless category is now set if the subsystem is equal to ieee80211
16 (LP: #855382)
17 * debian/control, jobs/esata.txt.in, jobs/firewire.txt.in, jobs/usb.txt.in,
18 jobs/mediacard.txt.in: Remove udisks package references in all of the jobs
19 that use removable_storage scripts (LP: #1059620). Used wrap-and-sort in
20 debian/control for clarity (Depends).
21 * scripts/graphics_driver: Added NVIDIA driver detection (LP: #1060211)
22
23 [Brendan Donegan]
24 * jobs/cpu.txt.in - add environ field containing
25 CHECKBOX_DATA to allow that environment variable to be used in the command
26 (LP: #1049595)
27 * jobs/wireless.txt.in - replace use of network_wireless_test in wireless_scanning
28 with a simple Bash script using nmcli and delete network_wireless_test (LP: #900370)
29 * [UIFe] qt/frontend/qtfront.ui, qt/frontend/qtfront.cpp - set focus to Continue
30 button and make it the default so that it can be 'clicked' using Enter,
31 as well as renaming it to 'continueButton' (LP: #1052506)
32 * jobs/usb.txt.in - Fix dependencies of USB tests so that things work properly if
33 the usb/storage-automated test fails (LP: #987876)
34 * scripts/network_info - add exception handling to file reading so that
35 sensible values are given if the required file cannot be read (LP: #823606)
36
37 [Marc Tardif]
38 * qt/frontend/qtfront.ui: Fixed warnings when building with
39 qtcreator (LP: #1053126)
40 * plugins/suites_prompt.py: Fixed tree view in selection window (LP: #1056432)
41 * plugins/apport_prompt.py: Removed apport plugin that caused crashes
42 when trying to send bug report (LP: #1047857)
43 * jobs/optical.txt.in: Fixed missing category assignment in optical
44 dvd write tests (LP: #1057762)
45
46 [Jeff Marcom]
47 * jobs/optical.txt.in: Changed optical read/write job commands to use
48 a more reliable dev path (LP: #990560)
49
50 [Daniel Manrique]
51 * Added consecutive numbering to messages sent to the backend, so the
52 frontend knows to discard out-of-sequence messages. (LP: #886118)
53
54
55 -- Daniel Manrique <roadmr@ubuntu.com> Wed, 03 Oct 2012 17:23:34 -0400
56
1checkbox (0.14.7) quantal; urgency=low57checkbox (0.14.7) quantal; urgency=low
258
3 * New upstream release (LP: #1057001)59 * New upstream release (LP: #1057001)
460
=== modified file 'debian/control'
--- debian/control 2012-08-20 18:13:17 +0000
+++ debian/control 2012-10-05 14:06:24 +0000
@@ -19,7 +19,13 @@
19Package: checkbox19Package: checkbox
20Section: python20Section: python
21Architecture: any21Architecture: any
22Depends: debconf, python3-lxml, udev, ${misc:Depends}, ${python3:Depends}, ${shlibs:Depends}22Depends: debconf,
23 python3-lxml,
24 udev,
25 udisks2 | udisks,
26 ${misc:Depends},
27 ${python3:Depends},
28 ${shlibs:Depends}
23Recommends: dpkg (>= 1.13),29Recommends: dpkg (>= 1.13),
24 gir1.2-gst-plugins-base-0.10 | gir1.2-gst-plugins-base-1.0,30 gir1.2-gst-plugins-base-0.10 | gir1.2-gst-plugins-base-1.0,
25 gstreamer0.10-gconf | gstreamer1.0-plugins-good,31 gstreamer0.10-gconf | gstreamer1.0-plugins-good,
@@ -48,7 +54,6 @@
48 sox,54 sox,
49 stress,55 stress,
50 sysstat,56 sysstat,
51 udisks,
52 wmctrl,57 wmctrl,
53 wodim58 wodim
54Description: System testing application59Description: System testing application
5560
=== modified file 'debian/po/ast.po'
--- debian/po/ast.po 2012-09-26 16:10:55 +0000
+++ debian/po/ast.po 2012-10-05 14:06:24 +0000
@@ -15,8 +15,8 @@
15"MIME-Version: 1.0\n"15"MIME-Version: 1.0\n"
16"Content-Type: text/plain; charset=UTF-8\n"16"Content-Type: text/plain; charset=UTF-8\n"
17"Content-Transfer-Encoding: 8bit\n"17"Content-Transfer-Encoding: 8bit\n"
18"X-Launchpad-Export-Date: 2012-09-11 04:36+0000\n"18"X-Launchpad-Export-Date: 2012-09-22 04:32+0000\n"
19"X-Generator: Launchpad (build 15924)\n"19"X-Generator: Launchpad (build 15985)\n"
2020
21#. Type: string21#. Type: string
22#. Description22#. Description
2323
=== modified file 'debian/po/cs.po'
--- debian/po/cs.po 2012-09-26 16:10:55 +0000
+++ debian/po/cs.po 2012-10-05 14:06:24 +0000
@@ -15,8 +15,8 @@
15"MIME-Version: 1.0\n"15"MIME-Version: 1.0\n"
16"Content-Type: text/plain; charset=UTF-8\n"16"Content-Type: text/plain; charset=UTF-8\n"
17"Content-Transfer-Encoding: 8bit\n"17"Content-Transfer-Encoding: 8bit\n"
18"X-Launchpad-Export-Date: 2012-09-11 04:36+0000\n"18"X-Launchpad-Export-Date: 2012-09-22 04:32+0000\n"
19"X-Generator: Launchpad (build 15924)\n"19"X-Generator: Launchpad (build 15985)\n"
2020
21#. Type: string21#. Type: string
22#. Description22#. Description
2323
=== modified file 'debian/po/de.po'
--- debian/po/de.po 2012-09-26 16:10:55 +0000
+++ debian/po/de.po 2012-10-05 14:06:24 +0000
@@ -15,8 +15,8 @@
15"MIME-Version: 1.0\n"15"MIME-Version: 1.0\n"
16"Content-Type: text/plain; charset=UTF-8\n"16"Content-Type: text/plain; charset=UTF-8\n"
17"Content-Transfer-Encoding: 8bit\n"17"Content-Transfer-Encoding: 8bit\n"
18"X-Launchpad-Export-Date: 2012-09-11 04:36+0000\n"18"X-Launchpad-Export-Date: 2012-09-22 04:32+0000\n"
19"X-Generator: Launchpad (build 15924)\n"19"X-Generator: Launchpad (build 15985)\n"
2020
21#. Type: string21#. Type: string
22#. Description22#. Description
2323
=== modified file 'debian/po/en_AU.po'
--- debian/po/en_AU.po 2012-09-26 16:10:55 +0000
+++ debian/po/en_AU.po 2012-10-05 14:06:24 +0000
@@ -15,8 +15,8 @@
15"MIME-Version: 1.0\n"15"MIME-Version: 1.0\n"
16"Content-Type: text/plain; charset=UTF-8\n"16"Content-Type: text/plain; charset=UTF-8\n"
17"Content-Transfer-Encoding: 8bit\n"17"Content-Transfer-Encoding: 8bit\n"
18"X-Launchpad-Export-Date: 2012-09-11 04:36+0000\n"18"X-Launchpad-Export-Date: 2012-09-22 04:32+0000\n"
19"X-Generator: Launchpad (build 15924)\n"19"X-Generator: Launchpad (build 15985)\n"
2020
21#. Type: string21#. Type: string
22#. Description22#. Description
2323
=== modified file 'debian/po/en_GB.po'
--- debian/po/en_GB.po 2012-09-26 16:10:55 +0000
+++ debian/po/en_GB.po 2012-10-05 14:06:24 +0000
@@ -15,8 +15,8 @@
15"MIME-Version: 1.0\n"15"MIME-Version: 1.0\n"
16"Content-Type: text/plain; charset=UTF-8\n"16"Content-Type: text/plain; charset=UTF-8\n"
17"Content-Transfer-Encoding: 8bit\n"17"Content-Transfer-Encoding: 8bit\n"
18"X-Launchpad-Export-Date: 2012-09-11 04:36+0000\n"18"X-Launchpad-Export-Date: 2012-09-22 04:32+0000\n"
19"X-Generator: Launchpad (build 15924)\n"19"X-Generator: Launchpad (build 15985)\n"
2020
21#. Type: string21#. Type: string
22#. Description22#. Description
2323
=== modified file 'debian/po/es.po'
--- debian/po/es.po 2012-09-26 16:10:55 +0000
+++ debian/po/es.po 2012-10-05 14:06:24 +0000
@@ -15,8 +15,8 @@
15"MIME-Version: 1.0\n"15"MIME-Version: 1.0\n"
16"Content-Type: text/plain; charset=UTF-8\n"16"Content-Type: text/plain; charset=UTF-8\n"
17"Content-Transfer-Encoding: 8bit\n"17"Content-Transfer-Encoding: 8bit\n"
18"X-Launchpad-Export-Date: 2012-09-11 04:36+0000\n"18"X-Launchpad-Export-Date: 2012-09-22 04:32+0000\n"
19"X-Generator: Launchpad (build 15924)\n"19"X-Generator: Launchpad (build 15985)\n"
2020
21#. Type: string21#. Type: string
22#. Description22#. Description
@@ -42,7 +42,8 @@
42#. Description42#. Description
43#: ../checkbox.templates:200143#: ../checkbox.templates:2001
44msgid "List of jobs to run when testing with checkbox."44msgid "List of jobs to run when testing with checkbox."
45msgstr "Lista de tareas a ejecutar mientras se realizan pruebas con checkbox."45msgstr ""
46"Lista de tareas a ejecutar mientras se realizan pruebas con checkbox."
4647
47#. Type: string48#. Type: string
48#. Description49#. Description
4950
=== modified file 'debian/po/fr.po'
--- debian/po/fr.po 2012-09-26 16:10:55 +0000
+++ debian/po/fr.po 2012-10-05 14:06:24 +0000
@@ -8,69 +8,69 @@
8"Project-Id-Version: checkbox\n"8"Project-Id-Version: checkbox\n"
9"Report-Msgid-Bugs-To: checkbox@packages.debian.org\n"9"Report-Msgid-Bugs-To: checkbox@packages.debian.org\n"
10"POT-Creation-Date: 2012-07-12 15:37-0400\n"10"POT-Creation-Date: 2012-07-12 15:37-0400\n"
11"PO-Revision-Date: 2012-08-16 12:53+0000\n"11"PO-Revision-Date: 2012-09-25 09:16+0000\n"
12"Last-Translator: gisele perreault <Unknown>\n"12"Last-Translator: Sylvie Gallet <Unknown>\n"
13"Language-Team: French <fr@li.org>\n"13"Language-Team: French <fr@li.org>\n"
14"Language: fr\n"14"Language: fr\n"
15"MIME-Version: 1.0\n"15"MIME-Version: 1.0\n"
16"Content-Type: text/plain; charset=UTF-8\n"16"Content-Type: text/plain; charset=UTF-8\n"
17"Content-Transfer-Encoding: 8bit\n"17"Content-Transfer-Encoding: 8bit\n"
18"X-Launchpad-Export-Date: 2012-09-11 04:36+0000\n"18"X-Launchpad-Export-Date: 2012-09-26 04:32+0000\n"
19"X-Generator: Launchpad (build 15924)\n"19"X-Generator: Launchpad (build 16022)\n"
2020
21#. Type: string21#. Type: string
22#. Description22#. Description
23#: ../checkbox.templates:100123#: ../checkbox.templates:1001
24msgid "Test suite blacklist:"24msgid "Test suite blacklist:"
25msgstr ""25msgstr "Liste noire de la suite de tests :"
2626
27#. Type: string27#. Type: string
28#. Description28#. Description
29#: ../checkbox.templates:100129#: ../checkbox.templates:1001
30msgid "List of job files to never run when testing with checkbox."30msgid "List of job files to never run when testing with checkbox."
31msgstr ""31msgstr "Liste des tests à ne jamais lancer avec checkbox."
3232
33#. Type: string33#. Type: string
34#. Description34#. Description
35#: ../checkbox.templates:200135#: ../checkbox.templates:2001
36msgid "Test suite whitelist:"36msgid "Test suite whitelist:"
37msgstr ""37msgstr "Liste blanche de la suite de tests :"
3838
39#. Type: string39#. Type: string
40#. Description40#. Description
41#: ../checkbox.templates:200141#: ../checkbox.templates:2001
42msgid "List of jobs to run when testing with checkbox."42msgid "List of jobs to run when testing with checkbox."
43msgstr ""43msgstr "Liste des tests à lancer avec checkbox."
4444
45#. Type: string45#. Type: string
46#. Description46#. Description
47#: ../checkbox.templates:300147#: ../checkbox.templates:3001
48msgid "Transport URL:"48msgid "Transport URL:"
49msgstr ""49msgstr "URL de transport :"
5050
51#. Type: string51#. Type: string
52#. Description52#. Description
53#: ../checkbox.templates:300153#: ../checkbox.templates:3001
54msgid "URL where to send submissions."54msgid "URL where to send submissions."
55msgstr ""55msgstr "Adresse URL où envoyer les rapports."
5656
57#. Type: string57#. Type: string
58#. Description58#. Description
59#: ../checkbox.templates:400159#: ../checkbox.templates:4001
60msgid "Launchpad E-mail:"60msgid "Launchpad E-mail:"
61msgstr ""61msgstr "Adresse courriel de Launchpad :"
6262
63#. Type: string63#. Type: string
64#. Description64#. Description
65#: ../checkbox.templates:400165#: ../checkbox.templates:4001
66msgid "E-mail address used to sign in to Launchpad."66msgid "E-mail address used to sign in to Launchpad."
67msgstr ""67msgstr "Adresse courriel utilisée pour se connecter à Launchpad."
6868
69#. Type: string69#. Type: string
70#. Description70#. Description
71#: ../checkbox.templates:500171#: ../checkbox.templates:5001
72msgid "HTTP Proxy:"72msgid "HTTP Proxy:"
73msgstr ""73msgstr "Serveur mandataire HTTP :"
7474
75#. Type: string75#. Type: string
76#. Description76#. Description
7777
=== modified file 'debian/po/he.po'
--- debian/po/he.po 2012-09-26 16:10:55 +0000
+++ debian/po/he.po 2012-10-05 14:06:24 +0000
@@ -15,8 +15,8 @@
15"MIME-Version: 1.0\n"15"MIME-Version: 1.0\n"
16"Content-Type: text/plain; charset=UTF-8\n"16"Content-Type: text/plain; charset=UTF-8\n"
17"Content-Transfer-Encoding: 8bit\n"17"Content-Transfer-Encoding: 8bit\n"
18"X-Launchpad-Export-Date: 2012-09-11 04:36+0000\n"18"X-Launchpad-Export-Date: 2012-09-22 04:32+0000\n"
19"X-Generator: Launchpad (build 15924)\n"19"X-Generator: Launchpad (build 15985)\n"
2020
21#. Type: string21#. Type: string
22#. Description22#. Description
2323
=== modified file 'debian/po/hu.po'
--- debian/po/hu.po 2012-09-26 16:10:55 +0000
+++ debian/po/hu.po 2012-10-05 14:06:24 +0000
@@ -15,8 +15,8 @@
15"MIME-Version: 1.0\n"15"MIME-Version: 1.0\n"
16"Content-Type: text/plain; charset=UTF-8\n"16"Content-Type: text/plain; charset=UTF-8\n"
17"Content-Transfer-Encoding: 8bit\n"17"Content-Transfer-Encoding: 8bit\n"
18"X-Launchpad-Export-Date: 2012-09-11 04:36+0000\n"18"X-Launchpad-Export-Date: 2012-09-22 04:32+0000\n"
19"X-Generator: Launchpad (build 15924)\n"19"X-Generator: Launchpad (build 15985)\n"
2020
21#. Type: string21#. Type: string
22#. Description22#. Description
2323
=== modified file 'debian/po/id.po'
--- debian/po/id.po 2012-09-26 16:10:55 +0000
+++ debian/po/id.po 2012-10-05 14:06:24 +0000
@@ -15,8 +15,8 @@
15"MIME-Version: 1.0\n"15"MIME-Version: 1.0\n"
16"Content-Type: text/plain; charset=UTF-8\n"16"Content-Type: text/plain; charset=UTF-8\n"
17"Content-Transfer-Encoding: 8bit\n"17"Content-Transfer-Encoding: 8bit\n"
18"X-Launchpad-Export-Date: 2012-09-11 04:36+0000\n"18"X-Launchpad-Export-Date: 2012-09-22 04:32+0000\n"
19"X-Generator: Launchpad (build 15924)\n"19"X-Generator: Launchpad (build 15985)\n"
2020
21#. Type: string21#. Type: string
22#. Description22#. Description
2323
=== modified file 'debian/po/it.po'
--- debian/po/it.po 2012-09-26 16:10:55 +0000
+++ debian/po/it.po 2012-10-05 14:06:24 +0000
@@ -15,8 +15,8 @@
15"MIME-Version: 1.0\n"15"MIME-Version: 1.0\n"
16"Content-Type: text/plain; charset=UTF-8\n"16"Content-Type: text/plain; charset=UTF-8\n"
17"Content-Transfer-Encoding: 8bit\n"17"Content-Transfer-Encoding: 8bit\n"
18"X-Launchpad-Export-Date: 2012-09-11 04:36+0000\n"18"X-Launchpad-Export-Date: 2012-09-22 04:32+0000\n"
19"X-Generator: Launchpad (build 15924)\n"19"X-Generator: Launchpad (build 15985)\n"
2020
21#. Type: string21#. Type: string
22#. Description22#. Description
2323
=== modified file 'debian/po/ja.po'
--- debian/po/ja.po 2012-09-26 16:10:55 +0000
+++ debian/po/ja.po 2012-10-05 14:06:24 +0000
@@ -15,8 +15,8 @@
15"MIME-Version: 1.0\n"15"MIME-Version: 1.0\n"
16"Content-Type: text/plain; charset=UTF-8\n"16"Content-Type: text/plain; charset=UTF-8\n"
17"Content-Transfer-Encoding: 8bit\n"17"Content-Transfer-Encoding: 8bit\n"
18"X-Launchpad-Export-Date: 2012-09-11 04:36+0000\n"18"X-Launchpad-Export-Date: 2012-09-22 04:32+0000\n"
19"X-Generator: Launchpad (build 15924)\n"19"X-Generator: Launchpad (build 15985)\n"
2020
21#. Type: string21#. Type: string
22#. Description22#. Description
2323
=== modified file 'debian/po/nl.po'
--- debian/po/nl.po 2012-09-26 16:10:55 +0000
+++ debian/po/nl.po 2012-10-05 14:06:24 +0000
@@ -15,8 +15,8 @@
15"MIME-Version: 1.0\n"15"MIME-Version: 1.0\n"
16"Content-Type: text/plain; charset=UTF-8\n"16"Content-Type: text/plain; charset=UTF-8\n"
17"Content-Transfer-Encoding: 8bit\n"17"Content-Transfer-Encoding: 8bit\n"
18"X-Launchpad-Export-Date: 2012-09-11 04:36+0000\n"18"X-Launchpad-Export-Date: 2012-09-22 04:32+0000\n"
19"X-Generator: Launchpad (build 15924)\n"19"X-Generator: Launchpad (build 15985)\n"
2020
21#. Type: string21#. Type: string
22#. Description22#. Description
2323
=== modified file 'debian/po/oc.po'
--- debian/po/oc.po 2012-09-26 16:10:55 +0000
+++ debian/po/oc.po 2012-10-05 14:06:24 +0000
@@ -15,8 +15,8 @@
15"MIME-Version: 1.0\n"15"MIME-Version: 1.0\n"
16"Content-Type: text/plain; charset=UTF-8\n"16"Content-Type: text/plain; charset=UTF-8\n"
17"Content-Transfer-Encoding: 8bit\n"17"Content-Transfer-Encoding: 8bit\n"
18"X-Launchpad-Export-Date: 2012-09-11 04:36+0000\n"18"X-Launchpad-Export-Date: 2012-09-22 04:32+0000\n"
19"X-Generator: Launchpad (build 15924)\n"19"X-Generator: Launchpad (build 15985)\n"
2020
21#. Type: string21#. Type: string
22#. Description22#. Description
2323
=== modified file 'debian/po/pl.po'
--- debian/po/pl.po 2012-09-26 16:10:55 +0000
+++ debian/po/pl.po 2012-10-05 14:06:24 +0000
@@ -15,8 +15,8 @@
15"MIME-Version: 1.0\n"15"MIME-Version: 1.0\n"
16"Content-Type: text/plain; charset=UTF-8\n"16"Content-Type: text/plain; charset=UTF-8\n"
17"Content-Transfer-Encoding: 8bit\n"17"Content-Transfer-Encoding: 8bit\n"
18"X-Launchpad-Export-Date: 2012-09-11 04:36+0000\n"18"X-Launchpad-Export-Date: 2012-09-22 04:32+0000\n"
19"X-Generator: Launchpad (build 15924)\n"19"X-Generator: Launchpad (build 15985)\n"
2020
21#. Type: string21#. Type: string
22#. Description22#. Description
2323
=== modified file 'debian/po/pt_BR.po'
--- debian/po/pt_BR.po 2012-09-26 16:10:55 +0000
+++ debian/po/pt_BR.po 2012-10-05 14:06:24 +0000
@@ -15,8 +15,8 @@
15"MIME-Version: 1.0\n"15"MIME-Version: 1.0\n"
16"Content-Type: text/plain; charset=UTF-8\n"16"Content-Type: text/plain; charset=UTF-8\n"
17"Content-Transfer-Encoding: 8bit\n"17"Content-Transfer-Encoding: 8bit\n"
18"X-Launchpad-Export-Date: 2012-09-11 04:36+0000\n"18"X-Launchpad-Export-Date: 2012-09-22 04:32+0000\n"
19"X-Generator: Launchpad (build 15924)\n"19"X-Generator: Launchpad (build 15985)\n"
2020
21#. Type: string21#. Type: string
22#. Description22#. Description
2323
=== modified file 'debian/po/ro.po'
--- debian/po/ro.po 2012-09-26 16:10:55 +0000
+++ debian/po/ro.po 2012-10-05 14:06:24 +0000
@@ -15,8 +15,8 @@
15"MIME-Version: 1.0\n"15"MIME-Version: 1.0\n"
16"Content-Type: text/plain; charset=UTF-8\n"16"Content-Type: text/plain; charset=UTF-8\n"
17"Content-Transfer-Encoding: 8bit\n"17"Content-Transfer-Encoding: 8bit\n"
18"X-Launchpad-Export-Date: 2012-09-11 04:36+0000\n"18"X-Launchpad-Export-Date: 2012-09-22 04:32+0000\n"
19"X-Generator: Launchpad (build 15924)\n"19"X-Generator: Launchpad (build 15985)\n"
2020
21#. Type: string21#. Type: string
22#. Description22#. Description
2323
=== modified file 'debian/po/ru.po'
--- debian/po/ru.po 2012-09-26 16:10:55 +0000
+++ debian/po/ru.po 2012-10-05 14:06:24 +0000
@@ -15,8 +15,8 @@
15"MIME-Version: 1.0\n"15"MIME-Version: 1.0\n"
16"Content-Type: text/plain; charset=UTF-8\n"16"Content-Type: text/plain; charset=UTF-8\n"
17"Content-Transfer-Encoding: 8bit\n"17"Content-Transfer-Encoding: 8bit\n"
18"X-Launchpad-Export-Date: 2012-09-11 04:36+0000\n"18"X-Launchpad-Export-Date: 2012-09-22 04:32+0000\n"
19"X-Generator: Launchpad (build 15924)\n"19"X-Generator: Launchpad (build 15985)\n"
2020
21#. Type: string21#. Type: string
22#. Description22#. Description
2323
=== modified file 'debian/po/tr.po'
--- debian/po/tr.po 2012-09-26 16:10:55 +0000
+++ debian/po/tr.po 2012-10-05 14:06:24 +0000
@@ -15,8 +15,8 @@
15"MIME-Version: 1.0\n"15"MIME-Version: 1.0\n"
16"Content-Type: text/plain; charset=UTF-8\n"16"Content-Type: text/plain; charset=UTF-8\n"
17"Content-Transfer-Encoding: 8bit\n"17"Content-Transfer-Encoding: 8bit\n"
18"X-Launchpad-Export-Date: 2012-09-11 04:36+0000\n"18"X-Launchpad-Export-Date: 2012-09-22 04:32+0000\n"
19"X-Generator: Launchpad (build 15924)\n"19"X-Generator: Launchpad (build 15985)\n"
2020
21#. Type: string21#. Type: string
22#. Description22#. Description
2323
=== modified file 'debian/po/uk.po'
--- debian/po/uk.po 2012-09-26 16:10:55 +0000
+++ debian/po/uk.po 2012-10-05 14:06:24 +0000
@@ -15,8 +15,8 @@
15"MIME-Version: 1.0\n"15"MIME-Version: 1.0\n"
16"Content-Type: text/plain; charset=UTF-8\n"16"Content-Type: text/plain; charset=UTF-8\n"
17"Content-Transfer-Encoding: 8bit\n"17"Content-Transfer-Encoding: 8bit\n"
18"X-Launchpad-Export-Date: 2012-09-11 04:36+0000\n"18"X-Launchpad-Export-Date: 2012-09-22 04:32+0000\n"
19"X-Generator: Launchpad (build 15924)\n"19"X-Generator: Launchpad (build 15985)\n"
2020
21#. Type: string21#. Type: string
22#. Description22#. Description
2323
=== modified file 'debian/po/zh_CN.po'
--- debian/po/zh_CN.po 2012-09-26 16:10:55 +0000
+++ debian/po/zh_CN.po 2012-10-05 14:06:24 +0000
@@ -15,8 +15,8 @@
15"MIME-Version: 1.0\n"15"MIME-Version: 1.0\n"
16"Content-Type: text/plain; charset=UTF-8\n"16"Content-Type: text/plain; charset=UTF-8\n"
17"Content-Transfer-Encoding: 8bit\n"17"Content-Transfer-Encoding: 8bit\n"
18"X-Launchpad-Export-Date: 2012-09-11 04:36+0000\n"18"X-Launchpad-Export-Date: 2012-09-22 04:32+0000\n"
19"X-Generator: Launchpad (build 15924)\n"19"X-Generator: Launchpad (build 15985)\n"
2020
21#. Type: string21#. Type: string
22#. Description22#. Description
2323
=== modified file 'debian/po/zh_TW.po'
--- debian/po/zh_TW.po 2012-09-26 16:10:55 +0000
+++ debian/po/zh_TW.po 2012-10-05 14:06:24 +0000
@@ -15,8 +15,8 @@
15"MIME-Version: 1.0\n"15"MIME-Version: 1.0\n"
16"Content-Type: text/plain; charset=UTF-8\n"16"Content-Type: text/plain; charset=UTF-8\n"
17"Content-Transfer-Encoding: 8bit\n"17"Content-Transfer-Encoding: 8bit\n"
18"X-Launchpad-Export-Date: 2012-09-11 04:36+0000\n"18"X-Launchpad-Export-Date: 2012-09-22 04:32+0000\n"
19"X-Generator: Launchpad (build 15924)\n"19"X-Generator: Launchpad (build 15985)\n"
2020
21#. Type: string21#. Type: string
22#. Description22#. Description
2323
=== modified file 'jobs/cpu.txt.in'
--- jobs/cpu.txt.in 2012-08-20 18:13:17 +0000
+++ jobs/cpu.txt.in 2012-10-05 14:06:24 +0000
@@ -4,6 +4,7 @@
4 package.name == 'linux'4 package.name == 'linux'
5 package.name == 'fwts'5 package.name == 'fwts'
6user: root6user: root
7environ: CHECKBOX_DATA
7command: fwts_test -c -l ${CHECKBOX_DATA}/scaling_test.log8command: fwts_test -c -l ${CHECKBOX_DATA}/scaling_test.log
8_description:9_description:
9 Test the CPU scaling capabilities using Firmware Test Suite (fwts cpufreq).10 Test the CPU scaling capabilities using Firmware Test Suite (fwts cpufreq).
1011
=== modified file 'jobs/esata.txt.in'
--- jobs/esata.txt.in 2012-08-20 18:13:17 +0000
+++ jobs/esata.txt.in 2012-10-05 14:06:24 +0000
@@ -1,7 +1,5 @@
1plugin: manual1plugin: manual
2name: esata/insert2name: esata/insert
3requires:
4 package.name == 'udisks'
5command: removable_storage_watcher insert ata_serial_esata3command: removable_storage_watcher insert ata_serial_esata
6_description:4_description:
7 PURPOSE:5 PURPOSE:
@@ -17,8 +15,6 @@
17plugin: shell15plugin: shell
18name: esata/storage-test16name: esata/storage-test
19depends: esata/insert17depends: esata/insert
20requires:
21 package.name == 'udisks'
22command: removable_storage_test ata_serial_esata18command: removable_storage_test ata_serial_esata
23_description:19_description:
24 This is an automated test which performs read/write operations on an attached20 This is an automated test which performs read/write operations on an attached
@@ -27,8 +23,6 @@
27plugin: manual23plugin: manual
28name: esata/remove24name: esata/remove
29depends: esata/storage-test25depends: esata/storage-test
30requires:
31 package.name == 'udisks'
32command: removable_storage_watcher remove ata_serial_esata26command: removable_storage_watcher remove ata_serial_esata
33_description:27_description:
34 PURPOSE:28 PURPOSE:
3529
=== modified file 'jobs/firewire.txt.in'
--- jobs/firewire.txt.in 2012-07-17 16:27:55 +0000
+++ jobs/firewire.txt.in 2012-10-05 14:06:24 +0000
@@ -1,7 +1,5 @@
1plugin: manual1plugin: manual
2name: firewire/insert2name: firewire/insert
3requires:
4 package.name == 'udisks'
5command: removable_storage_watcher insert firewire3command: removable_storage_watcher insert firewire
6_description:4_description:
7 PURPOSE:5 PURPOSE:
@@ -17,8 +15,6 @@
17plugin: shell15plugin: shell
18name: firewire/storage-test16name: firewire/storage-test
19depends: firewire/insert17depends: firewire/insert
20requires:
21 package.name == 'udisks'
22command: removable_storage_test firewire18command: removable_storage_test firewire
23_description:19_description:
24 This is an automated test which performs read/write operations on an attached20 This is an automated test which performs read/write operations on an attached
@@ -27,8 +23,6 @@
27plugin: manual23plugin: manual
28name: firewire/remove24name: firewire/remove
29depends: firewire/storage-test25depends: firewire/storage-test
30requires:
31 package.name == 'udisks'
32command: removable_storage_watcher remove firewire26command: removable_storage_watcher remove firewire
33_description:27_description:
34 PURPOSE:28 PURPOSE:
3529
=== modified file 'jobs/mediacard.txt.in'
--- jobs/mediacard.txt.in 2012-07-17 16:27:55 +0000
+++ jobs/mediacard.txt.in 2012-10-05 14:06:24 +0000
@@ -1,7 +1,5 @@
1plugin: manual1plugin: manual
2name: mediacard/mmc-insert2name: mediacard/mmc-insert
3requires:
4 package.name == 'udisks'
5command: removable_storage_watcher insert sdio usb scsi3command: removable_storage_watcher insert sdio usb scsi
6_description:4_description:
7 PURPOSE:5 PURPOSE:
@@ -18,8 +16,6 @@
18plugin: shell16plugin: shell
19name: mediacard/mmc-storage17name: mediacard/mmc-storage
20depends: mediacard/mmc-insert18depends: mediacard/mmc-insert
21requires:
22 package.name == 'udisks'
23command: removable_storage_test sdio usb scsi19command: removable_storage_test sdio usb scsi
24_description:20_description:
25 This test is automated and executes after the mediacard/mmc-insert21 This test is automated and executes after the mediacard/mmc-insert
@@ -28,8 +24,6 @@
28plugin: manual24plugin: manual
29name: mediacard/mmc-remove25name: mediacard/mmc-remove
30depends: mediacard/mmc-storage26depends: mediacard/mmc-storage
31requires:
32 package.name == 'udisks'
33command: removable_storage_watcher remove sdio usb scsi27command: removable_storage_watcher remove sdio usb scsi
34_description:28_description:
35 PURPOSE:29 PURPOSE:
@@ -45,8 +39,6 @@
45plugin: manual39plugin: manual
46name: mediacard/mmc-insert-after-suspend40name: mediacard/mmc-insert-after-suspend
47depends: suspend/suspend_advanced41depends: suspend/suspend_advanced
48requires:
49 package.name == 'udisks'
50command: removable_storage_watcher insert sdio usb scsi42command: removable_storage_watcher insert sdio usb scsi
51_description:43_description:
52 PURPOSE:44 PURPOSE:
@@ -63,8 +55,6 @@
63plugin: shell55plugin: shell
64name: mediacard/mmc-storage-after-suspend56name: mediacard/mmc-storage-after-suspend
65depends: mediacard/mmc-insert-after-suspend57depends: mediacard/mmc-insert-after-suspend
66requires:
67 package.name == 'udisks'
68command: removable_storage_test sdio usb scsi58command: removable_storage_test sdio usb scsi
69_description:59_description:
70 This test is automated and executes after the mediacard/mmc-insert-after-suspend test60 This test is automated and executes after the mediacard/mmc-insert-after-suspend test
@@ -73,8 +63,6 @@
73plugin: manual63plugin: manual
74name: mediacard/mmc-remove-after-suspend64name: mediacard/mmc-remove-after-suspend
75depends: mediacard/mmc-storage-after-suspend65depends: mediacard/mmc-storage-after-suspend
76requires:
77 package.name == 'udisks'
78command: removable_storage_watcher remove sdio usb scsi66command: removable_storage_watcher remove sdio usb scsi
79_description:67_description:
80 PURPOSE:68 PURPOSE:
@@ -89,8 +77,6 @@
8977
90plugin: manual78plugin: manual
91name: mediacard/sd-insert79name: mediacard/sd-insert
92requires:
93 package.name == 'udisks'
94command: removable_storage_watcher insert sdio usb scsi80command: removable_storage_watcher insert sdio usb scsi
95_description:81_description:
96 PURPOSE:82 PURPOSE:
@@ -107,8 +93,6 @@
107plugin: shell93plugin: shell
108name: mediacard/sd-storage94name: mediacard/sd-storage
109depends: mediacard/sd-insert95depends: mediacard/sd-insert
110requires:
111 package.name == 'udisks'
112command: removable_storage_test sdio usb scsi96command: removable_storage_test sdio usb scsi
113_description:97_description:
114 This test is automated and executes after the mediacard/sd-insert98 This test is automated and executes after the mediacard/sd-insert
@@ -117,8 +101,6 @@
117plugin: manual101plugin: manual
118name: mediacard/sd-remove102name: mediacard/sd-remove
119depends: mediacard/sd-storage103depends: mediacard/sd-storage
120requires:
121 package.name == 'udisks'
122command: removable_storage_watcher remove sdio usb scsi104command: removable_storage_watcher remove sdio usb scsi
123_description:105_description:
124 PURPOSE:106 PURPOSE:
@@ -134,8 +116,6 @@
134plugin: manual116plugin: manual
135name: mediacard/sd-insert-after-suspend117name: mediacard/sd-insert-after-suspend
136depends: suspend/suspend_advanced118depends: suspend/suspend_advanced
137requires:
138 package.name == 'udisks'
139command: removable_storage_watcher insert sdio usb scsi119command: removable_storage_watcher insert sdio usb scsi
140_description:120_description:
141 PURPOSE:121 PURPOSE:
@@ -152,8 +132,6 @@
152plugin: shell132plugin: shell
153name: mediacard/sd-storage-after-suspend133name: mediacard/sd-storage-after-suspend
154depends: mediacard/sd-insert-after-suspend134depends: mediacard/sd-insert-after-suspend
155requires:
156 package.name == 'udisks'
157command: removable_storage_test sdio usb scsi135command: removable_storage_test sdio usb scsi
158_description:136_description:
159 This test is automated and executes after the mediacard/sd-insert-after-suspend test137 This test is automated and executes after the mediacard/sd-insert-after-suspend test
@@ -162,8 +140,6 @@
162plugin: manual140plugin: manual
163name: mediacard/sd-remove-after-suspend141name: mediacard/sd-remove-after-suspend
164depends: mediacard/sd-storage-after-suspend142depends: mediacard/sd-storage-after-suspend
165requires:
166 package.name == 'udisks'
167command: removable_storage_watcher remove sdio usb scsi143command: removable_storage_watcher remove sdio usb scsi
168_description:144_description:
169 PURPOSE:145 PURPOSE:
@@ -178,8 +154,6 @@
178154
179plugin: manual155plugin: manual
180name: mediacard/sdhc-insert156name: mediacard/sdhc-insert
181requires:
182 package.name == 'udisks'
183command: removable_storage_watcher insert sdio usb scsi157command: removable_storage_watcher insert sdio usb scsi
184_description:158_description:
185 PURPOSE:159 PURPOSE:
@@ -196,8 +170,6 @@
196plugin: shell170plugin: shell
197name: mediacard/sdhc-storage171name: mediacard/sdhc-storage
198depends: mediacard/sdhc-insert172depends: mediacard/sdhc-insert
199requires:
200 package.name == 'udisks'
201command: removable_storage_test sdio usb scsi173command: removable_storage_test sdio usb scsi
202_description:174_description:
203 This test is automated and executes after the mediacard/sdhc-insert175 This test is automated and executes after the mediacard/sdhc-insert
@@ -206,8 +178,6 @@
206plugin: manual178plugin: manual
207name: mediacard/sdhc-remove179name: mediacard/sdhc-remove
208depends: mediacard/sdhc-storage180depends: mediacard/sdhc-storage
209requires:
210 package.name == 'udisks'
211command: removable_storage_watcher remove sdio usb scsi181command: removable_storage_watcher remove sdio usb scsi
212_description:182_description:
213 PURPOSE:183 PURPOSE:
@@ -223,8 +193,6 @@
223plugin: manual193plugin: manual
224name: mediacard/sdhc-insert-after-suspend194name: mediacard/sdhc-insert-after-suspend
225depends: suspend/suspend_advanced195depends: suspend/suspend_advanced
226requires:
227 package.name == 'udisks'
228command: removable_storage_watcher insert sdio usb scsi196command: removable_storage_watcher insert sdio usb scsi
229_description:197_description:
230 PURPOSE:198 PURPOSE:
@@ -241,8 +209,6 @@
241plugin: shell209plugin: shell
242name: mediacard/sdhc-storage-after-suspend210name: mediacard/sdhc-storage-after-suspend
243depends: mediacard/sdhc-insert-after-suspend211depends: mediacard/sdhc-insert-after-suspend
244requires:
245 package.name == 'udisks'
246command: removable_storage_test sdio usb scsi212command: removable_storage_test sdio usb scsi
247_description:213_description:
248 This test is automated and executes after the mediacard/sdhc-insert-after-suspend test214 This test is automated and executes after the mediacard/sdhc-insert-after-suspend test
@@ -251,8 +217,6 @@
251plugin: manual217plugin: manual
252name: mediacard/sdhc-remove-after-suspend218name: mediacard/sdhc-remove-after-suspend
253depends: mediacard/sdhc-storage-after-suspend219depends: mediacard/sdhc-storage-after-suspend
254requires:
255 package.name == 'udisks'
256command: removable_storage_watcher remove sdio usb scsi220command: removable_storage_watcher remove sdio usb scsi
257_description:221_description:
258 PURPOSE:222 PURPOSE:
@@ -267,8 +231,6 @@
267231
268plugin: manual232plugin: manual
269name: mediacard/cf-insert233name: mediacard/cf-insert
270requires:
271 package.name == 'udisks'
272command: removable_storage_watcher insert sdio usb scsi234command: removable_storage_watcher insert sdio usb scsi
273_description:235_description:
274 PURPOSE:236 PURPOSE:
@@ -285,8 +247,6 @@
285plugin: shell247plugin: shell
286name: mediacard/cf-storage248name: mediacard/cf-storage
287depends: mediacard/cf-insert249depends: mediacard/cf-insert
288requires:
289 package.name == 'udisks'
290command: removable_storage_test sdio usb scsi250command: removable_storage_test sdio usb scsi
291_description:251_description:
292 This test is automated and executes after the mediacard/cf-insert252 This test is automated and executes after the mediacard/cf-insert
@@ -295,8 +255,6 @@
295plugin: manual255plugin: manual
296name: mediacard/cf-remove256name: mediacard/cf-remove
297depends: mediacard/cf-storage257depends: mediacard/cf-storage
298requires:
299 package.name == 'udisks'
300command: removable_storage_watcher remove sdio usb scsi258command: removable_storage_watcher remove sdio usb scsi
301_description:259_description:
302 PURPOSE:260 PURPOSE:
@@ -312,8 +270,6 @@
312plugin: manual270plugin: manual
313name: mediacard/cf-insert-after-suspend271name: mediacard/cf-insert-after-suspend
314depends: suspend/suspend_advanced272depends: suspend/suspend_advanced
315requires:
316 package.name == 'udisks'
317command: removable_storage_watcher insert sdio usb scsi273command: removable_storage_watcher insert sdio usb scsi
318_description:274_description:
319 PURPOSE:275 PURPOSE:
@@ -330,8 +286,6 @@
330plugin: shell286plugin: shell
331name: mediacard/cf-storage-after-suspend287name: mediacard/cf-storage-after-suspend
332depends: mediacard/cf-insert-after-suspend288depends: mediacard/cf-insert-after-suspend
333requires:
334 package.name == 'udisks'
335command: removable_storage_test sdio usb scsi289command: removable_storage_test sdio usb scsi
336_description:290_description:
337 This test is automated and executes after the mediacard/cf-insert-after-suspend test291 This test is automated and executes after the mediacard/cf-insert-after-suspend test
@@ -340,8 +294,6 @@
340plugin: manual294plugin: manual
341name: mediacard/cf-remove-after-suspend295name: mediacard/cf-remove-after-suspend
342depends: mediacard/cf-storage-after-suspend296depends: mediacard/cf-storage-after-suspend
343requires:
344 package.name == 'udisks'
345command: removable_storage_watcher remove sdio usb scsi297command: removable_storage_watcher remove sdio usb scsi
346_description:298_description:
347 PURPOSE:299 PURPOSE:
348300
=== modified file 'jobs/optical.txt.in'
--- jobs/optical.txt.in 2012-08-20 18:13:17 +0000
+++ jobs/optical.txt.in 2012-10-05 14:06:24 +0000
@@ -1,63 +1,88 @@
1plugin: shell1plugin: shell
2name: optical/detect2name: optical/detect
3requires: device.category == 'CDROM'3requires: device.category == 'CDROM'
4_description: Test to detect the optical drives
4command:5command:
5 cat <<'EOF' | run_templates -t -s 'udev_resource | filter_templates -w "category=CDROM"' | sed '/^$/d'6 cat <<'EOF' | run_templates -t -s 'udev_resource | filter_templates -w "category=CDROM"' | sed '/^$/d'
6 $vendor $product7 $vendor $product
7 EOF8 EOF
8_description: Test to detect the optical drives
99
10plugin: manual10plugin: local
11name: optical/read11name: optical/read
12requires:12requires:
13 device.category == 'CDROM'13 device.category == 'CDROM'
14user: root14_description: Optical read test.
15command: optical_read_test /dev/cdrom15command:
16_description:16 cat <<'EOF' | run_templates -t -s 'udev_resource | filter_templates -w "category=CDROM"'
17 PURPOSE:17 plugin: manual
18 This test will check your optical devices ability to read CD media18 name: optical/read_`ls /sys$path/block`
19 STEPS:19 requires: device.path == "$path"
20 1. Insert appropriate non-blank media into your optical drive(s). Movie and Audio Disks may not work. Self-created data disks have the greatest chance of working.20 user: root
21 2. If a file browser window opens, you can safely close or ignore that window.21 command: optical_read_test /dev/`ls /sys$path/block`
22 3. Click "Test" to begin the test.22 description:
23 VERIFICATION:23 PURPOSE:
24 This test should automatically select "Yes" if it passes, "No" if it fails.24 This test will check your $product device's ability to read CD media
25 STEPS:
26 1. Insert appropriate non-blank media into your optical drive(s). Movie and Audio Disks may not work. Self-created data disks have the greatest chance of working.
27 2. If a file browser window opens, you can safely close or ignore that window.
28 3. Click "Test" to begin the test.
29 VERIFICATION:
30 This test should automatically select "Yes" if it passes, "No" if it fails.
31 EOF
2532
26plugin: shell33plugin: local
27name: optical/read-automated34name: optical/read-automated
28requires:35requires:
29 device.category == 'CDROM'36 device.category == 'CDROM'
30user: root37_description: Optical read test.
31command: optical_read_test /dev/cdrom38command:
32description:39 cat <<'EOF' | run_templates -t -s 'udev_resource | filter_templates -w "category=CDROM"'
33 This is an automated version of optical/read. It assumes you have already inserted a data CD into your optical drive prior to running Checkbox.40 plugin: shell
41 name: optical/read-automated_`ls /sys$path/block`
42 requires: device.path == "$path"
43 user: root
44 command: optical_read_test /dev/`ls /sys$path/block`
45 description:
46 This is an automated version of optical/read. It assumes you have already inserted a data CD into your optical drive prior to running Checkbox.
47 EOF
3448
35plugin: manual49plugin: local
36name: optical/cdrom-write50name: optical/cdrom-write
37requires:51requires:
38 device.category == 'CDROM'52 device.category == 'CDROM'
39 optical_drive.cd == 'writable'53 optical_drive.cd == 'writable'
40user: root54_description: Optical write test.
41command: optical_write_test /dev/cdrom55command:
42_description:56 cat <<'EOF' | run_templates -t -s 'udev_resource | filter_templates -w "category=CDROM"'
43 PURPOSE:57 plugin: manual
44 This test will check your system's CD writing capabilities. This test requires a blank CD-R or CD+R. If you do not have a blank disk, skip this test.58 name: optical/cdrom-write_`ls /sys$path/block`
45 STEPS:59 requires: device.path == "$path"
46 1. Insert a blank CD-R or CD+R into your drive60 user: root
47 2. Click "Test" to begin.61 command: optical_write_test /dev/`ls /sys$path/block` | ansi_parser
48 3. When the CD tray ejects the media after burning, close it (DO NOT remove the disk, it is needed for the second portion of the test). Note, you must close the drive within 5 minutes or the test will time out.62 description:
49 VERIFICATION:63 PURPOSE:
50 This test should automatically select "Yes" if it passes, "No" if it fails.64 This test will check your system's $product CD writing capabilities. This test requires a blank CD-R or CD+R. If you do not have a blank disk, skip this test.
65 STEPS:
66 1. Insert a blank CD-R or CD+R into your drive
67 2. Click "Test" to begin.
68 3. When the CD tray ejects the media after burning, close it (DO NOT remove the disk, it is needed for the second portion of the test). Note, you must close the drive within 5 minutes or the test will time out.
69 EOF
5170
52plugin: shell71plugin: local
53name: optical/cdrom-write-automated72name: optical/cdrom-write-automated
54user: root
55requires:73requires:
56 device.category == 'CDROM'74 device.category == 'CDROM'
57 optical_drive.cd == 'writable'75 optical_drive.cd == 'writable'
58command: optical_write_test /dev/cdrom76command:
59_description:77 cat <<'EOF' | run_templates -t -s 'udev_resource | filter_templates -w "category=CDROM"'
60 This is an automated version of optical/cdrom-write. It assumes you inserted a blank CD-R or CD+R disk before starting testing. You must watch for the tray opening. The test will attempt to close the tray and continue testing, however this is not possible in all optical drives, thus you may need to push the tray or disk back in manually to continue the test. This test has a 5 minute timeout to allow for the tester to catch this.78 plugin: shell
79 name: optical/cdrom-write-automated_`ls /sys$path/block`
80 requires: device.path == "$path"
81 user: root
82 command: optical_write_test /dev/`ls /sys$path/block` | ansi_parser
83 description:
84 This is an automated version of optical/cdrom-write. It assumes you have already inserted a data CD into your optical drive prior to running Checkbox.
85 EOF
6186
62plugin: manual87plugin: manual
63name: optical/cdrom-audio-playback88name: optical/cdrom-audio-playback
@@ -78,32 +103,45 @@
78 VERIFICATION:103 VERIFICATION:
79 Did all the steps work?104 Did all the steps work?
80105
81plugin: manual106plugin: local
82name: optical/dvd-write107name: optical/dvd-write
83user: root
84requires:108requires:
85 device.category == 'CDROM'109 device.category == 'CDROM'
86 optical_drive.dvd == 'writable'110 optical_drive.dvd == 'writable'
87command: optical_write_test /dev/cdrom111_description: Optical write test.
88_description:112command:
89 PURPOSE:113 cat <<'EOF' | run_templates -t -s 'udev_resource | filter_templates -w "category=CDROM"'
90 This test will check your system's DVD writing capabilities. This test requires a blank DVD-R or DVD+R. If you do not have a blank DVD disk, skip this test.114 plugin: manual
91 STEPS:115 name: optical/dvd-write_`ls /sys$path/block`
92 1. Enter a blank DVD-R or DVD+R into your drive116 requires: device.path == "$path"
93 2. Click "Test" to begin.117 user: root
94 3. When the CD tray ejects the media after burning, close it (DO NOT remove the disk, it is needed for the second portion of the test). Note, you must close the drive within 5 minutes or the test will time out.118 command: optical_write_test /dev/`ls /sys$path/block` | ansi_parser
95 VERIFICATION:119 description:
96 This test should automatically select "Yes" if it passes, "No" if it fails.120 PURPOSE:
121 This test will check your system's $product writing capabilities. This test requires a blank DVD-R or DVD+R. If you do not have a blank DVD disk, skip this test.
122 STEPS:
123 1. Enter a blank DVD-R or DVD+R into your drive
124 2. Click "Test" to begin.
125 3. When the CD tray ejects the media after burning, close it (DO NOT remove the disk, it is needed for the second portion of the test). Note, you must close the drive within 5 minutes or the test will time out.
126 VERIFICATION:
127 This test should automatically select "Yes" if it passes, "No" if it fails.
128 EOF
97129
98plugin: shell130plugin: local
99name: optical/dvd-write-automated131name: optical/dvd-write-automated
100user: root
101requires:132requires:
102 device.category == 'CDROM'133 device.category == 'CDROM'
103 optical_drive.dvd == 'writable'134 optical_drive.dvd == 'writable'
104command: optical_write_test /dev/cdrom135command:
105_description:136 cat <<'EOF' | run_templates -t -s 'udev_resource | filter_templates -w "category=CDROM"'
106 This is an automated version of optical/dvd-write. It assumes you inserted a blank DVD-R or DVD+R before starting testing. You must watch for the tray opening. The test will attempt to close the tray and continue testing, however this is not possible in all optical drives, thus you may need to push the tray or disk back in manually to continue the test. This test has a 5 minute timeout to allow for the tester to catch this.137 plugin: shell
138 name: optical/dvd-write-automated_`ls /sys$path/block`
139 requires: device.path == "$path"
140 user: root
141 command: optical_write_test /dev/`ls /sys$path/block` | ansi_parser
142 description:
143 This is an automated version of optical/dvd-write. It assumes you have already inserted a data CD into your optical drive prior to running Checkbox.
144 EOF
107145
108plugin: manual146plugin: manual
109name: optical/dvd_movie_playback147name: optical/dvd_movie_playback
110148
=== modified file 'jobs/resource.txt.in'
--- jobs/resource.txt.in 2012-07-17 16:27:55 +0000
+++ jobs/resource.txt.in 2012-10-05 14:06:24 +0000
@@ -76,4 +76,4 @@
7676
77name: display77name: display
78plugin: resource78plugin: resource
79command: for display in `xrandr | grep connected | awk '{print $1}' | grep -o ^[A-Z]* | sort | uniq`; do echo "$display: supported"; done79command: display_resource
8080
=== modified file 'jobs/usb.txt.in'
--- jobs/usb.txt.in 2012-08-06 20:24:04 +0000
+++ jobs/usb.txt.in 2012-10-05 14:06:24 +0000
@@ -7,9 +7,7 @@
7plugin: manual7plugin: manual
8name: usb/disk_detect8name: usb/disk_detect
9depends: usb/detect9depends: usb/detect
10requires:10requires: package.name == 'linux'
11 package.name == 'linux'
12 package.name == 'udisks'
13command: removable_storage_test -l usb11command: removable_storage_test -l usb
14_description:12_description:
15 PURPOSE:13 PURPOSE:
@@ -52,9 +50,7 @@
52plugin: manual50plugin: manual
53name: usb/insert51name: usb/insert
54depends: usb/detect52depends: usb/detect
55requires:53requires: package.name == 'linux'
56 package.name == 'linux'
57 package.name == 'udisks'
58command: removable_storage_watcher insert usb54command: removable_storage_watcher insert usb
59_description:55_description:
60 PURPOSE:56 PURPOSE:
@@ -70,10 +66,8 @@
7066
71plugin: manual67plugin: manual
72name: usb/remove68name: usb/remove
73depends: usb/storage-automated69depends: usb/insert
74requires:70requires: package.name == 'linux'
75 package.name == 'linux'
76 package.name == 'udisks'
77command: removable_storage_watcher remove usb71command: removable_storage_watcher remove usb
78_description:72_description:
79 PURPOSE:73 PURPOSE:
@@ -88,9 +82,7 @@
8882
89plugin: manual83plugin: manual
90name: usb/storage-transfer84name: usb/storage-transfer
91requires:85requires: package.name == 'linux'
92 package.name == 'linux'
93 package.name == 'udisks'
94depends: usb/insert86depends: usb/insert
95command: removable_storage_test usb87command: removable_storage_test usb
96_description:88_description:
@@ -106,10 +98,8 @@
10698
107plugin: shell99plugin: shell
108name: usb/storage-automated100name: usb/storage-automated
109requires:
110 package.name == 'linux'
111 package.name == 'udisks'
112depends: usb/insert101depends: usb/insert
102requires: package.name == 'linux'
113command: removable_storage_test usb103command: removable_storage_test usb
114_description:104_description:
115 This test is automated and executes after the usb/insert test is run.105 This test is automated and executes after the usb/insert test is run.
@@ -117,9 +107,7 @@
117plugin: shell107plugin: shell
118name: usb/storage-preinserted108name: usb/storage-preinserted
119user: root109user: root
120requires:110requires: package.name == 'linux'
121 package.name == 'linux'
122 package.name == 'udisks'
123command: removable_storage_test -l usb && removable_storage_test usb111command: removable_storage_test -l usb && removable_storage_test usb
124_description:112_description:
125 This is an automated version of usb/storage-automated and assumes that the113 This is an automated version of usb/storage-automated and assumes that the
126114
=== modified file 'jobs/wireless.txt.in'
--- jobs/wireless.txt.in 2012-07-17 16:27:55 +0000
+++ jobs/wireless.txt.in 2012-10-05 14:06:24 +0000
@@ -1,8 +1,22 @@
1plugin: shell1plugin: shell
2name: wireless/wireless_scanning2name: wireless/wireless_scanning
3user: root3requires:
4requires: package.name == 'wireless-tools'4 package.name == 'network-manager'
5command: rfkill unblock wlan wifi; network_wireless_test5 device.category == 'WIRELESS'
6command:
7 rfkill unblock wlan wifi
8 if rfkill list wlan wifi | grep -q 'Hard blocked: yes'; then
9 echo "Hard block is applied to WiFi device. Please remove and retest."
10 exit 1
11 fi
12 wireless_networks=`nmcli -f SSID dev wifi list`
13 if [ `echo "$wireless_networks" | wc -l` -gt 1 ]; then
14 echo "Wireless networks discovered: "
15 echo "$wireless_networks"
16 exit 0
17 fi
18 echo "No wireless networks discovered."
19 exit 1
6_description: Wireless scanning test. It scans and reports on discovered APs.20_description: Wireless scanning test. It scans and reports on discovered APs.
721
8plugin: manual22plugin: manual
923
=== removed file 'plugins/apport_prompt.py'
--- plugins/apport_prompt.py 2012-08-06 20:24:04 +0000
+++ plugins/apport_prompt.py 1970-01-01 00:00:00 +0000
@@ -1,280 +0,0 @@
1#
2# This file is part of Checkbox.
3#
4# Copyright 2008 Canonical Ltd.
5#
6# Checkbox is free software: you can redistribute it and/or modify
7# it under the terms of the GNU General Public License as published by
8# the Free Software Foundation, either version 3 of the License, or
9# (at your option) any later version.
10#
11# Checkbox is distributed in the hope that it will be useful,
12# but WITHOUT ANY WARRANTY; without even the implied warranty of
13# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14# GNU General Public License for more details.
15#
16# You should have received a copy of the GNU General Public License
17# along with Checkbox. If not, see <http://www.gnu.org/licenses/>.
18#
19import logging
20
21from subprocess import check_output
22
23from gettext import gettext as _
24
25from checkbox.job import FAIL
26from checkbox.plugin import Plugin
27from checkbox.properties import Bool, Path, String
28from checkbox.reactor import StopAllException
29
30
31class DummyUserInterface:
32 pass
33
34try:
35 from apport.ui import UserInterface
36 from apport.crashdb import get_crashdb
37except:
38 UserInterface = DummyUserInterface
39
40
41CATEGORY_TO_PACKAGE = {
42 "SOUND": "alsa-base"}
43
44CATEGORY_TO_SYMPTOM = {
45 "VIDEO": "display",
46 "DISK": "storage"}
47
48
49class ApportOptions:
50
51 def __init__(self, test, device, package, symptom):
52 self.test = test
53 self.device = device
54 self.package = package
55 self.symptom = symptom
56 self.pid = None
57 self.save = False
58 self.tag = '' #Additional tags to add to reports filed
59 #through this tool
60
61
62class ApportUserInterface(UserInterface):
63
64 def __init__(self, interface, options):
65 self.interface = interface
66 self.options = options
67 self.report = None
68 self.report_file = None
69 self.cur_package = None
70
71 # ImportError raised during package upgrade
72 self.crashdb = get_crashdb(None)
73
74 def ui_info_message(self, title, text):
75 self.interface.show_info(text, ["close"])
76
77 def ui_error_message(self, title, text):
78 self.interface.show_progress_stop()
79 self.interface.show_error(text)
80
81 def ui_start_info_collection_progress(self):
82 self.interface.show_progress_start(
83 _("Collecting information about this test.\n"
84 "This might take a few minutes."))
85
86 def ui_pulse_info_collection_progress(self):
87 self.interface.show_progress_pulse()
88
89 def ui_stop_info_collection_progress(self):
90 # tags
91 if "Tags" in self.report:
92 tags = self.report["Tags"].split(" ")
93 else:
94 tags = []
95
96 tags.append("checkbox-bug")
97 if self.options.device:
98 tags.append(self.options.device)
99
100 self.report["Tags"] = " ".join(tags)
101
102 # checkbox
103 test = self.options.test
104 self.report["CheckboxTest"] = test["name"]
105 if test.get("description"):
106 self.report["CheckboxDescription"] = test["description"]
107 if test.get("data"):
108 self.report["CheckboxData"] = test["data"]
109 if test.get("command"):
110 self.report["CheckboxCommand"] = test["command"]
111 if test.get("environ"):
112 self.report["CheckboxEnvironment"] = test["environ"]
113
114 self.interface.show_progress_stop()
115
116 def ui_start_upload_progress(self):
117 self.interface.show_progress_start(
118 _("Collected information is being sent for bug tracking.\n"
119 "This might take a few minutes."))
120
121 def ui_set_upload_progress(self, progress):
122 self.interface.show_progress_pulse()
123
124 def ui_stop_upload_progress(self):
125 self.interface.show_progress_stop()
126
127 def ui_present_report_details(self, *args):
128 return dict(report=1)
129
130 def ui_question_choice(self, text, options, multiple):
131 self.interface.show_progress_stop()
132
133 if multiple:
134 results = self.interface.show_check(text, options)
135 else:
136 results = [self.interface.show_radio(text, options)]
137
138 return [options.index(r) for r in results]
139
140 def ui_question_yesno(self, text):
141 self.interface.show_progress_stop()
142 result = self.interface.show_radio(text, ["Yes", "No"])
143 return result == "Yes"
144
145 def open_url(self, url):
146 self.interface.show_url(url)
147
148
149class ApportPrompt(Plugin):
150
151 # Default configuration filename
152 default_filename = Path(default="/etc/default/apport")
153
154 # Default enabled state
155 default_enabled = Bool(required=False)
156
157 # Default package if none is detected
158 default_package = String(required=False)
159
160 # Filename where Submission ID is cached
161 submission_filename = Path(default="%(checkbox_data)s/submission")
162
163 # Filename where System ID is cached
164 system_filename = Path(default="%(checkbox_data)s/system")
165
166 def register(self, manager):
167 super(ApportPrompt, self).register(manager)
168
169 self._submission_id = None
170 self._system_id = None
171
172 for (rt, rh) in [
173 ("exchange-success", self.exchange_success),
174 ("report-submission_id", self.report_submission_id),
175 ("report-system_id", self.report_system_id)]:
176 self._manager.reactor.call_on(rt, rh)
177
178 if not isinstance(ApportUserInterface, DummyUserInterface):
179 self._manager.reactor.call_on("gather", self.gather)
180 self._manager.reactor.call_on("prompt-test", self.prompt_test, 100)
181
182 def gather(self):
183 if self.default_enabled is None:
184 value = check_output("unset enabled && . %s && echo ${enabled}"
185 % self.default_filename, shell=True, universal_newlines=True)
186 self.default_enabled = value.strip() == "1"
187
188 def prompt_test(self, interface, test):
189 if not self.default_enabled:
190 return
191
192 if test["status"] != FAIL:
193 return
194
195 device = None
196 package = None
197 symptom = None
198
199 # Give lowest priority to required packages
200 for resource in test.get("resources", []):
201 if "version" in resource:
202 package = resource["name"]
203 break
204
205 # Give highest priority to required devices
206 for resource in test.get("resources", []):
207 if "bus" in resource:
208 category = resource["category"]
209 if category in CATEGORY_TO_PACKAGE:
210 package = CATEGORY_TO_PACKAGE[category]
211 break
212
213 if category in CATEGORY_TO_SYMPTOM:
214 symptom = CATEGORY_TO_SYMPTOM[category]
215 break
216
217 # Default to configuration
218 if not package:
219 package = self.default_package
220
221 # Do not report a bug if no package nor symptom is defined
222 if not package and not symptom:
223 return
224
225 if test.get("suite"):
226 failed_test_message = _("Test %(name)s failed.") % {
227 'name': test["name"]}
228 else:
229 failed_test_message = _("Test %s failed.") % test["name"]
230 failed_test_message += "\n" + _("Do you want to report a bug?")
231
232 response = interface.show_info(failed_test_message,
233 ["yes", "no"], "no")
234 if response == "no":
235 return
236
237 # Determine corresponding device
238 for resource in test.get("resources", []):
239 if "bus" in resource:
240 device = resource["category"].lower()
241 break
242
243 try:
244 options = ApportOptions(test, device, package, symptom)
245 apport_interface = ApportUserInterface(interface, options)
246 except ImportError as e:
247 interface.show_error(_("Is a package upgrade in process? Error: %s") % e)
248 return
249
250 try:
251 if symptom and hasattr(apport_interface, "run_symptom"):
252 apport_interface.run_symptom()
253 else:
254 apport_interface.run_report_bug()
255 except SystemExit as e:
256 # In case of error, show_error already have been called
257 raise StopAllException
258
259 def exchange_success(self, response):
260 for message, filename in [
261 (self._submission_id, self.submission_filename),
262 (self._system_id, self.system_filename)]:
263 try:
264 file = open(filename, "w")
265 try:
266 file.write(message)
267 finally:
268 file.close()
269 except IOError as e:
270 logging.info("Failed to write to file '%s': %d %s",
271 filename, e.errno, e.strerror)
272
273 def report_submission_id(self, submission_id):
274 self._submission_id = submission_id
275
276 def report_system_id(self, system_id):
277 self._system_id = system_id
278
279
280factory = ApportPrompt
2810
=== modified file 'plugins/backend_info.py'
--- plugins/backend_info.py 2012-06-26 16:07:04 +0000
+++ plugins/backend_info.py 2012-10-05 14:06:24 +0000
@@ -26,11 +26,12 @@
26from checkbox.lib.fifo import FifoReader, FifoWriter, create_fifo26from checkbox.lib.fifo import FifoReader, FifoWriter, create_fifo
2727
28from checkbox.plugin import Plugin28from checkbox.plugin import Plugin
29from checkbox.properties import Path, Float 29from checkbox.properties import Path, Float
30from checkbox.job import FAIL30from checkbox.job import FAIL
3131
32from gettext import gettext as _32from gettext import gettext as _
3333
34
34class BackendInfo(Plugin):35class BackendInfo(Plugin):
3536
36 # how long to wait for I/O from/to the backend before the call returns.37 # how long to wait for I/O from/to the backend before the call returns.
@@ -39,6 +40,37 @@
3940
40 command = Path(default="%(checkbox_share)s/backend")41 command = Path(default="%(checkbox_share)s/backend")
4142
43 next_sequence = 0
44 expected_sequence = 0
45
46 def write_to_parent(self, object):
47 message = (self.next_sequence, object,)
48 logging.debug("Sending message with sequence number %s to backend" %
49 self.next_sequence)
50 self.parent_writer.write_object(message)
51 self.expected_sequence = self.next_sequence
52 self.next_sequence += 1
53
54 def read_from_parent(self):
55 correct_sequence = False
56 while not correct_sequence:
57 ro = self.parent_reader.read_object()
58 if ro:
59 sequence, result = ro
60 logging.debug("Expecting sequence number %s from backend, "
61 "got sequence number %s" %
62 (self.expected_sequence, sequence))
63 if (self.expected_sequence == sequence):
64 correct_sequence = True
65 else:
66 logging.warning("Backend sent wrong sequence number, "
67 "Discarding message and re-reading")
68 else:
69 #If we timed out, just return nothing, the rest of
70 #the code knows how to handle this.
71 return ro
72 return result
73
42 def register(self, manager):74 def register(self, manager):
43 super(BackendInfo, self).register(manager)75 super(BackendInfo, self).register(manager)
4476
@@ -57,7 +89,10 @@
5789
58 def get_root_command(self, *args):90 def get_root_command(self, *args):
59 uid = os.getuid()91 uid = os.getuid()
60 password_text = _("SYSTEM TESTING: Please enter your password. Some tests require root access to run properly. Your password will never be stored and will never be submitted with test results.")92 password_text = _("SYSTEM TESTING: Please enter your password. "
93 "Some tests require root access to run properly. "
94 "Your password will never be stored and will never "
95 "be submitted with test results.")
61 password_prompt = _("PASSWORD: ")96 password_prompt = _("PASSWORD: ")
62 if uid == 0:97 if uid == 0:
63 prefix = []98 prefix = []
@@ -88,31 +123,35 @@
88 def ping_backend(self):123 def ping_backend(self):
89 if not self.parent_reader or not self.parent_writer:124 if not self.parent_reader or not self.parent_writer:
90 return False125 return False
91 self.parent_writer.write_object("ping")126 self.write_to_parent("ping")
92 result = self.parent_reader.read_object()127 result = self.read_from_parent()
93 return result == "pong"128 return result == "pong"
94129
95
96 def gather(self):130 def gather(self):
97 self.directory = mkdtemp(prefix="checkbox")131 self.directory = mkdtemp(prefix="checkbox")
98 child_input = create_fifo(os.path.join(self.directory, "input"), 0o600)132 child_input = create_fifo(os.path.join(self.directory, "input"),
99 child_output = create_fifo(os.path.join(self.directory, "output"), 0o600)133 0o600)
134 child_output = create_fifo(os.path.join(self.directory, "output"),
135 0o600)
100136
101 self.backend_is_alive = False137 self.backend_is_alive = False
102 for attempt in range(1,4):138 for attempt in range(1, 4):
103 self.spawn_backend(child_input, child_output)139 self.spawn_backend(child_input, child_output)
104 #Only returns if I'm still the parent, so I can do parent stuff here140 #Only returns if I'm still the parent,
141 #so I can do parent stuff here
105 self.parent_writer = FifoWriter(child_input, timeout=self.timeout)142 self.parent_writer = FifoWriter(child_input, timeout=self.timeout)
106 self.parent_reader = FifoReader(child_output, timeout=self.timeout)143 self.parent_reader = FifoReader(child_output,
144 timeout=self.timeout)
107 if self.ping_backend():145 if self.ping_backend():
108 logging.debug("Backend responded, continuing execution.")146 logging.debug("Backend responded, continuing execution.")
109 self.backend_is_alive = True147 self.backend_is_alive = True
110 break148 break
111 else:149 else:
112 logging.debug("Backend didn't respond, trying to create again.")150 logging.debug("Backend didn't respond, "
151 "trying to create again.")
113152
114 if not self.backend_is_alive: 153 if not self.backend_is_alive:
115 logging.warning("Privileged backend not responding. " + 154 logging.warning("Privileged backend not responding. " +
116 "jobs specifying user will not be run")155 "jobs specifying user will not be run")
117156
118 def message_exec(self, message):157 def message_exec(self, message):
@@ -120,20 +159,20 @@
120 if "environ" in message:159 if "environ" in message:
121 #Prepare variables to be "exported" from my environment160 #Prepare variables to be "exported" from my environment
122 #to the backend's.161 #to the backend's.
123 backend_environ=["%s=%s" % (key, os.environ[key])162 backend_environ = ["%s=%s" % (key, os.environ[key])
124 for key in message["environ"] 163 for key in message["environ"]
125 if key in os.environ]164 if key in os.environ]
126 message=dict(message) #so as to not wreck the165 message = dict(message) # so as to not wreck the
127 #original message166 # original message
128 message["environ"]=backend_environ167 message["environ"] = backend_environ
129168
130 if (self.backend_is_alive and not self.ping_backend()):169 if (self.backend_is_alive and not self.ping_backend()):
131 self.backend_is_alive = False170 self.backend_is_alive = False
132171
133 if self.backend_is_alive:172 if self.backend_is_alive:
134 self.parent_writer.write_object(message)173 self.write_to_parent(message)
135 while True:174 while True:
136 result = self.parent_reader.read_object()175 result = self.read_from_parent()
137 if result:176 if result:
138 break177 break
139 else:178 else:
@@ -145,7 +184,7 @@
145 self._manager.reactor.fire("message-result", *result)184 self._manager.reactor.fire("message-result", *result)
146185
147 def stop(self):186 def stop(self):
148 self.parent_writer.write_object("stop")187 self.write_to_parent("stop")
149 self.parent_writer.close()188 self.parent_writer.close()
150 self.parent_reader.close()189 self.parent_reader.close()
151 shutil.rmtree(self.directory)190 shutil.rmtree(self.directory)
152191
=== modified file 'plugins/suites_prompt.py'
--- plugins/suites_prompt.py 2012-08-20 18:13:17 +0000
+++ plugins/suites_prompt.py 2012-10-05 14:06:24 +0000
@@ -114,9 +114,16 @@
114 self.store.add_pending_offset(offset)114 self.store.add_pending_offset(offset)
115 tests = dict([(m["name"], m) for m in messages115 tests = dict([(m["name"], m) for m in messages
116 if m.get("type") in ("test", "metric")])116 if m.get("type") in ("test", "metric")])
117
118 def walk_dependencies(job, all_dependencies):
119 for dependency in resolver.get_dependencies(job)[:-1]:
120 walk_dependencies(dependency, all_dependencies)
121 all_dependencies.append(job)
122
117 for job in resolver.get_dependents():123 for job in resolver.get_dependents():
118 suboptions = options124 suboptions = options
119 dependencies = resolver.get_dependencies(job)125 dependencies = []
126 walk_dependencies(job, dependencies)
120 for dependency in dependencies:127 for dependency in dependencies:
121 if dependency in tests:128 if dependency in tests:
122 value = tests[dependency]["status"]129 value = tests[dependency]["status"]
123130
=== modified file 'po/POTFILES.in'
--- po/POTFILES.in 2012-07-17 16:27:55 +0000
+++ po/POTFILES.in 2012-10-05 14:06:24 +0000
@@ -47,7 +47,6 @@
47checkbox_urwid/urwid_interface.py47checkbox_urwid/urwid_interface.py
48checkbox_gtk/gtk_interface.py48checkbox_gtk/gtk_interface.py
49checkbox/user_interface.py49checkbox/user_interface.py
50plugins/apport_prompt.py
51plugins/final_prompt.py50plugins/final_prompt.py
52plugins/gather_prompt.py51plugins/gather_prompt.py
53plugins/intro_prompt.py52plugins/intro_prompt.py
5453
=== modified file 'po/ar.po'
--- po/ar.po 2012-09-26 16:10:55 +0000
+++ po/ar.po 2012-10-05 14:06:24 +0000
@@ -8,14 +8,14 @@
8"Project-Id-Version: checkbox\n"8"Project-Id-Version: checkbox\n"
9"Report-Msgid-Bugs-To: \n"9"Report-Msgid-Bugs-To: \n"
10"POT-Creation-Date: 2012-07-12 16:08-0400\n"10"POT-Creation-Date: 2012-07-12 16:08-0400\n"
11"PO-Revision-Date: 2012-08-23 12:49+0000\n"11"PO-Revision-Date: 2012-09-19 00:27+0000\n"
12"Last-Translator: Ibrahim Saed <ibraheem5000@gmail.com>\n"12"Last-Translator: Ibrahim Saed <ibraheem5000@gmail.com>\n"
13"Language-Team: Arabic <ar@li.org>\n"13"Language-Team: Arabic <ar@li.org>\n"
14"MIME-Version: 1.0\n"14"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"16"Content-Transfer-Encoding: 8bit\n"
17"X-Launchpad-Export-Date: 2012-09-11 04:32+0000\n"17"X-Launchpad-Export-Date: 2012-09-20 04:32+0000\n"
18"X-Generator: Launchpad (build 15924)\n"18"X-Generator: Launchpad (build 15985)\n"
1919
20#. Title of the user interface20#. Title of the user interface
21#: ../gtk/checkbox-gtk.ui.h:1 ../qt/checkbox-qt.desktop.in.h:121#: ../gtk/checkbox-gtk.ui.h:1 ../qt/checkbox-qt.desktop.in.h:1
@@ -3348,7 +3348,7 @@
33483348
3349#: ../checkbox_urwid/urwid_interface.py:127 ../qt/frontend/ui_qtfront.h:6373349#: ../checkbox_urwid/urwid_interface.py:127 ../qt/frontend/ui_qtfront.h:637
3350msgid "Continue"3350msgid "Continue"
3351msgstr ""3351msgstr "تابع"
33523352
3353#: ../checkbox_urwid/urwid_interface.py:2203353#: ../checkbox_urwid/urwid_interface.py:220
3354#: ../checkbox_urwid/urwid_interface.py:2963354#: ../checkbox_urwid/urwid_interface.py:296
@@ -3367,11 +3367,11 @@
3367#. Show buttons3367#. Show buttons
3368#: ../checkbox_urwid/urwid_interface.py:4453368#: ../checkbox_urwid/urwid_interface.py:445
3369msgid "Select All"3369msgid "Select All"
3370msgstr ""3370msgstr "حدّد الكل"
33713371
3372#: ../checkbox_urwid/urwid_interface.py:4463372#: ../checkbox_urwid/urwid_interface.py:446
3373msgid "Deselect All"3373msgid "Deselect All"
3374msgstr ""3374msgstr "أزل تحديد الكل"
33753375
3376#. Show buttons3376#. Show buttons
3377#: ../checkbox_urwid/urwid_interface.py:5673377#: ../checkbox_urwid/urwid_interface.py:567
@@ -3565,13 +3565,14 @@
3565"you plan to participate in Ubuntu Friendly, please, select all tests. You "3565"you plan to participate in Ubuntu Friendly, please, select all tests. You "
3566"can always skip individual tests if you don't have the needed equipment."3566"can always skip individual tests if you don't have the needed equipment."
3567msgstr ""3567msgstr ""
3568"عدم اختيار اختبار ما سيلغي تسليمه إلى مجتمع أبونتو. إذا كان هدفك هو المشاركة "3568"عدم تحديد أحد الاختبارات سيلغي تسليمه إلى مجتمع أبونتو. إذا كان هدفك هو "
3569"في مجتمع أبونتو والمساعدة على تحسين النظام، من فضلك اختر جميع الاختبارات. "3569"المشاركة في مجتمع أبونتو والمساعدة على تحسين النظام، من فضلك حدّد جميع "
3570"يمكنك دائمًا تخطي اختبارات مفردة إذا لم تكن تمتلك المعدات اللازمة."3570"الاختبارات. يمكنك دائمًا تخطي اختبارات مفردة إذا لم تكن تمتلك التجهيزات "
3571"اللازمة."
35713572
3572#: ../plugins/suites_prompt.py:136 ../qt/frontend/ui_qtfront.h:6413573#: ../plugins/suites_prompt.py:136 ../qt/frontend/ui_qtfront.h:641
3573msgid "Choose tests to run on your system:"3574msgid "Choose tests to run on your system:"
3574msgstr ""3575msgstr "حدّد اختبارات لتشغيلها على نظامك:"
35753576
3576#: ../scripts/keyboard_test:223577#: ../scripts/keyboard_test:22
3577msgid "Enter text:\n"3578msgid "Enter text:\n"
@@ -3743,11 +3744,11 @@
37433744
3744#: ../qt/frontend/ui_qtfront.h:6443745#: ../qt/frontend/ui_qtfront.h:644
3745msgid "Select all"3746msgid "Select all"
3746msgstr ""3747msgstr "حدّد الكل"
37473748
3748#: ../qt/frontend/ui_qtfront.h:6453749#: ../qt/frontend/ui_qtfront.h:645
3749msgid "Deselect all"3750msgid "Deselect all"
3750msgstr ""3751msgstr "أزل تحديد الكل"
37513752
3752#: ../qt/frontend/ui_qtfront.h:6463753#: ../qt/frontend/ui_qtfront.h:646
3753msgid "Start testing"3754msgid "Start testing"
37543755
=== modified file 'po/fi.po'
--- po/fi.po 2012-09-26 16:10:55 +0000
+++ po/fi.po 2012-10-05 14:06:24 +0000
@@ -8,14 +8,14 @@
8"Project-Id-Version: checkbox\n"8"Project-Id-Version: checkbox\n"
9"Report-Msgid-Bugs-To: \n"9"Report-Msgid-Bugs-To: \n"
10"POT-Creation-Date: 2012-07-12 16:08-0400\n"10"POT-Creation-Date: 2012-07-12 16:08-0400\n"
11"PO-Revision-Date: 2011-07-19 17:55+0000\n"11"PO-Revision-Date: 2012-09-26 08:04+0000\n"
12"Last-Translator: Heikki Mäntysaari <heikki.mantysaari@linux.fi>\n"12"Last-Translator: sampo555 <Unknown>\n"
13"Language-Team: Finnish <fi@li.org>\n"13"Language-Team: Finnish <fi@li.org>\n"
14"MIME-Version: 1.0\n"14"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"16"Content-Transfer-Encoding: 8bit\n"
17"X-Launchpad-Export-Date: 2012-09-11 04:33+0000\n"17"X-Launchpad-Export-Date: 2012-09-27 04:32+0000\n"
18"X-Generator: Launchpad (build 15924)\n"18"X-Generator: Launchpad (build 16033)\n"
1919
20#. Title of the user interface20#. Title of the user interface
21#: ../gtk/checkbox-gtk.ui.h:1 ../qt/checkbox-qt.desktop.in.h:121#: ../gtk/checkbox-gtk.ui.h:1 ../qt/checkbox-qt.desktop.in.h:1
@@ -106,6 +106,17 @@
106" 1. Do you hear the sound coming out on the corresponding channel?\n"106" 1. Do you hear the sound coming out on the corresponding channel?\n"
107" 2. Did you hear a sound?"107" 2. Did you hear a sound?"
108msgstr ""108msgstr ""
109"TARKOITUS:\n"
110" 1. HDMI-liitännän tarkistaminen\n"
111"SUORITUS:\n"
112" 1. Kiinnitä ulkoinen HDMI-äänilaite\n"
113" 2. Avaa ääniasetukset\n"
114" 3. Siirry Ulostulo-välilehdelle, valitse HDMI ja paina \"Kokeile ääntä\" "
115"testataksesi oikeaa ja vasenta kanavaa\n"
116" 4. Paina testaa\n"
117"VAHVISTUS:\n"
118" 1. Kuulitko ääntä oikeista kanavasta?\n"
119" 2. Kuulitko äänen?"
109120
110#. description121#. description
111#: ../jobs/audio.txt.in:58122#: ../jobs/audio.txt.in:58
@@ -209,11 +220,14 @@
209"this computer's audio subsystem and perform more detailed tests under a "220"this computer's audio subsystem and perform more detailed tests under a "
210"controlled environment."221"controlled environment."
211msgstr ""222msgstr ""
223"Kerää äänijärjestelmän tietoja. Tietoja voidaan käyttää tietokoneen "
224"äänijärjestelmän simulointiin ja tarkempien testien suorittamiseen "
225"hallitussa ympäristössä."
212226
213#. description227#. description
214#: ../jobs/audio.txt.in:143228#: ../jobs/audio.txt.in:143
215msgid "Attaches the audio hardware data collection log to the results."229msgid "Attaches the audio hardware data collection log to the results."
216msgstr ""230msgstr "Liittää äänilaitteiston tietojen keräyslokin tuloksiin."
217231
218#. description232#. description
219#: ../jobs/benchmarks.txt.in:18233#: ../jobs/benchmarks.txt.in:18
@@ -223,22 +237,22 @@
223#. description237#. description
224#: ../jobs/benchmarks.txt.in:41238#: ../jobs/benchmarks.txt.in:41
225msgid "Run Render-Bench XRender/Imlib2 benchmark"239msgid "Run Render-Bench XRender/Imlib2 benchmark"
226msgstr ""240msgstr "Aja Render-Bench XRender/Imlib2 -mittaus"
227241
228#. description242#. description
229#: ../jobs/benchmarks.txt.in:47243#: ../jobs/benchmarks.txt.in:47
230msgid "Run Qgears2 XRender Extension gearsfancy benchmark"244msgid "Run Qgears2 XRender Extension gearsfancy benchmark"
231msgstr ""245msgstr "Aja Qgears2 XRender Extension gearsfancy -mittaus"
232246
233#. description247#. description
234#: ../jobs/benchmarks.txt.in:53248#: ../jobs/benchmarks.txt.in:53
235msgid "Run Qgears2 XRender Extension image scaling benchmark"249msgid "Run Qgears2 XRender Extension image scaling benchmark"
236msgstr ""250msgstr "Aja Qgears2 XRender Extension image scaling -mittaus"
237251
238#. description252#. description
239#: ../jobs/benchmarks.txt.in:59253#: ../jobs/benchmarks.txt.in:59
240msgid "Run Qgears2 OpenGL gearsfancy benchmark"254msgid "Run Qgears2 OpenGL gearsfancy benchmark"
241msgstr ""255msgstr "Aja Qgears2 OpenGL gearsfancy -mittaus"
242256
243#. description257#. description
244#: ../jobs/benchmarks.txt.in:65258#: ../jobs/benchmarks.txt.in:65
@@ -4329,7 +4343,7 @@
4329"Once you are finished running the tests, you can view a summary report for "4343"Once you are finished running the tests, you can view a summary report for "
4330"your system."4344"your system."
4331msgstr ""4345msgstr ""
4332"Tervetuloa Järjestelmän testaukseen!\n"4346"Tervetuloa järjestelmän testaukseen!\n"
4333"\n"4347"\n"
4334"Checkbox tarjoaa testejä, joilla järjestelmän oikeanlainen toimivuus voidaan "4348"Checkbox tarjoaa testejä, joilla järjestelmän oikeanlainen toimivuus voidaan "
4335"varmistaa. Testien suorittamisen jälkeen on mahdollista katsella "4349"varmistaa. Testien suorittamisen jälkeen on mahdollista katsella "
@@ -4409,7 +4423,7 @@
44094423
4410#: ../plugins/launchpad_prompt.py:844424#: ../plugins/launchpad_prompt.py:84
4411msgid "Email"4425msgid "Email"
4412msgstr ""4426msgstr "Sähköposti"
44134427
4414#: ../plugins/launchpad_prompt.py:934428#: ../plugins/launchpad_prompt.py:93
4415msgid "Email address must be in a proper format."4429msgid "Email address must be in a proper format."
@@ -4461,7 +4475,7 @@
44614475
4462#: ../plugins/suites_prompt.py:136 ../qt/frontend/ui_qtfront.h:6414476#: ../plugins/suites_prompt.py:136 ../qt/frontend/ui_qtfront.h:641
4463msgid "Choose tests to run on your system:"4477msgid "Choose tests to run on your system:"
4464msgstr ""4478msgstr "Valitse suoritettavat testit:"
44654479
4466#: ../scripts/keyboard_test:224480#: ../scripts/keyboard_test:22
4467msgid "Enter text:\n"4481msgid "Enter text:\n"
@@ -4633,11 +4647,11 @@
46334647
4634#: ../qt/frontend/ui_qtfront.h:6444648#: ../qt/frontend/ui_qtfront.h:644
4635msgid "Select all"4649msgid "Select all"
4636msgstr ""4650msgstr "Valitse kaikki"
46374651
4638#: ../qt/frontend/ui_qtfront.h:6454652#: ../qt/frontend/ui_qtfront.h:645
4639msgid "Deselect all"4653msgid "Deselect all"
4640msgstr ""4654msgstr "Poista kaikki valinnat"
46414655
4642#: ../qt/frontend/ui_qtfront.h:6464656#: ../qt/frontend/ui_qtfront.h:646
4643msgid "Start testing"4657msgid "Start testing"
46444658
=== modified file 'po/fr.po'
--- po/fr.po 2012-09-26 16:10:55 +0000
+++ po/fr.po 2012-10-05 14:06:24 +0000
@@ -7,14 +7,14 @@
7"Project-Id-Version: checkbox 0.1\n"7"Project-Id-Version: checkbox 0.1\n"
8"Report-Msgid-Bugs-To: \n"8"Report-Msgid-Bugs-To: \n"
9"POT-Creation-Date: 2012-07-12 16:08-0400\n"9"POT-Creation-Date: 2012-07-12 16:08-0400\n"
10"PO-Revision-Date: 2011-08-29 10:42+0000\n"10"PO-Revision-Date: 2012-09-24 20:26+0000\n"
11"Last-Translator: Pierre Slamich <pierre.slamich@gmail.com>\n"11"Last-Translator: Sylvie Gallet <Unknown>\n"
12"Language-Team: French <fr@li.org>\n"12"Language-Team: French <fr@li.org>\n"
13"MIME-Version: 1.0\n"13"MIME-Version: 1.0\n"
14"Content-Type: text/plain; charset=UTF-8\n"14"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Transfer-Encoding: 8bit\n"15"Content-Transfer-Encoding: 8bit\n"
16"X-Launchpad-Export-Date: 2012-09-11 04:33+0000\n"16"X-Launchpad-Export-Date: 2012-09-25 04:32+0000\n"
17"X-Generator: Launchpad (build 15924)\n"17"X-Generator: Launchpad (build 16019)\n"
1818
19#. Title of the user interface19#. Title of the user interface
20#: ../gtk/checkbox-gtk.ui.h:1 ../qt/checkbox-qt.desktop.in.h:120#: ../gtk/checkbox-gtk.ui.h:1 ../qt/checkbox-qt.desktop.in.h:1
@@ -1396,7 +1396,7 @@
1396"BUT :\n"1396"BUT :\n"
1397" Ce test va vérifier le bon fonctionnement de votre clavier\n"1397" Ce test va vérifier le bon fonctionnement de votre clavier\n"
1398"ÉTAPES :\n"1398"ÉTAPES :\n"
1399" 1. Cliquez sur « Test »\n"1399" 1. Cliquez sur « Tester »\n"
1400" 2. Dans la zone de texte, utilisez votre clavier pour y taper quelque "1400" 2. Dans la zone de texte, utilisez votre clavier pour y taper quelque "
1401"chose\n"1401"chose\n"
1402"VÉRIFICATION :\n"1402"VÉRIFICATION :\n"
@@ -1750,7 +1750,7 @@
1750#. description1750#. description
1751#: ../jobs/local.txt.in:2691751#: ../jobs/local.txt.in:269
1752msgid "Sniff Sniffers"1752msgid "Sniff Sniffers"
1753msgstr ""1753msgstr "Flairer les renifleurs"
17541754
1755#. description1755#. description
1756#: ../jobs/mediacard.txt.in:61756#: ../jobs/mediacard.txt.in:6
@@ -1804,7 +1804,7 @@
1804" le retrait de la carte MMC du lecteur de carte du système.\n"1804" le retrait de la carte MMC du lecteur de carte du système.\n"
1805"ÉTAPES :\n"1805"ÉTAPES :\n"
1806" 1. Cliquez sur « Tester » et retirez la carte MMC du lecteur.\n"1806" 1. Cliquez sur « Tester » et retirez la carte MMC du lecteur.\n"
1807" (Note : ce test s'interrompra après 20 secondes.)\n"1807" (Note : ce test s'interrompra après 20 secondes.)\n"
1808"VÉRIFICATION :\n"1808"VÉRIFICATION :\n"
1809" La vérification de ce test est automatisée. Ne changez pas le\n"1809" La vérification de ce test est automatisée. Ne changez pas le\n"
1810" résultat sélectionné automatiquement."1810" résultat sélectionné automatiquement."
@@ -1867,7 +1867,7 @@
1867"été suspendu..\n"1867"été suspendu..\n"
1868"ÉTAPES :\n"1868"ÉTAPES :\n"
1869" 1. Cliquez sur « Tester » et retirez la carte MMC du lecteur.\n"1869" 1. Cliquez sur « Tester » et retirez la carte MMC du lecteur.\n"
1870" (Note : ce test s'interrompra après 20 secondes.)\n"1870" (Note : ce test s'interrompra après 20 secondes.)\n"
1871"VÉRIFICATION :\n"1871"VÉRIFICATION :\n"
1872" La vérification de ce test est automatisée. Ne changez pas le\n"1872" La vérification de ce test est automatisée. Ne changez pas le\n"
1873" résultat sélectionné automatiquement."1873" résultat sélectionné automatiquement."
@@ -1891,7 +1891,7 @@
1891" détecter l'insertion d'une carte Secure Digital (SD).\n"1891" détecter l'insertion d'une carte Secure Digital (SD).\n"
1892"ÉTAPES :\n"1892"ÉTAPES :\n"
1893" 1. Cliquez sur « Tester » et insérez une carte SD dans le lecteur.\n"1893" 1. Cliquez sur « Tester » et insérez une carte SD dans le lecteur.\n"
1894" (Note : ce test s'interrompra après 20 secondes.)\n"1894" (Note : ce test s'interrompra après 20 secondes.)\n"
1895" 2. Ne débranchez pas l'appareil après le test.\n"1895" 2. Ne débranchez pas l'appareil après le test.\n"
1896"VÉRIFICATION :\n"1896"VÉRIFICATION :\n"
1897" La vérification de ce test est automatisée. Ne changez pas le\n"1897" La vérification de ce test est automatisée. Ne changez pas le\n"
@@ -1924,7 +1924,7 @@
1924" le retrait d'une carte SD du lecteur de carte du système.\n"1924" le retrait d'une carte SD du lecteur de carte du système.\n"
1925"ÉTAPES :\n"1925"ÉTAPES :\n"
1926" 1.  Cliquez sur « Tester » et retirez la carte SD du le lecteur.\n"1926" 1.  Cliquez sur « Tester » et retirez la carte SD du le lecteur.\n"
1927" (Note : ce test s'interrompra après 20 secondes.)\n"1927" (Note : ce test s'interrompra après 20 secondes.)\n"
1928"VÉRIFICATION :\n"1928"VÉRIFICATION :\n"
1929" La vérification de ce test est automatisée. Ne changez pas le\n"1929" La vérification de ce test est automatisée. Ne changez pas le\n"
1930" résultat sélectionné automatiquement."1930" résultat sélectionné automatiquement."
@@ -1949,7 +1949,7 @@
1949" l'insertion d'une carte SD card après que le système ait été suspendu.\n"1949" l'insertion d'une carte SD card après que le système ait été suspendu.\n"
1950"ÉTAPES :\n"1950"ÉTAPES :\n"
1951" 1.  Cliquez sur « Tester » et insérez une carte SD dans le lecteur.\n"1951" 1.  Cliquez sur « Tester » et insérez une carte SD dans le lecteur.\n"
1952" (Note : ce test s'interrompra après 20 secondes.)\n"1952" (Note : ce test s'interrompra après 20 secondes.)\n"
1953" 2. Ne débranchez pas l'appareil après le test.\n"1953" 2. Ne débranchez pas l'appareil après le test.\n"
1954"VÉRIFICATION :\n"1954"VÉRIFICATION :\n"
1955" La vérification de ce test est automatisée. Ne changez pas le\n"1955" La vérification de ce test est automatisée. Ne changez pas le\n"
@@ -1986,7 +1986,7 @@
1986"ait été suspendu..\n"1986"ait été suspendu..\n"
1987"ÉTAPES :\n"1987"ÉTAPES :\n"
1988" 1.  Cliquez sur « Tester » et retirez la carte SD du le lecteur.\n"1988" 1.  Cliquez sur « Tester » et retirez la carte SD du le lecteur.\n"
1989" (Note : ce test s'interrompra après 20 secondes.)\n"1989" (Note : ce test s'interrompra après 20 secondes.)\n"
1990"VÉRIFICATION :\n"1990"VÉRIFICATION :\n"
1991" La vérification de ce test est automatisée. Ne changez pas le\n"1991" La vérification de ce test est automatisée. Ne changez pas le\n"
1992" résultat sélectionné automatiquement."1992" résultat sélectionné automatiquement."
@@ -2011,7 +2011,7 @@
2011" détecter l'insertion d'une carte Secure Digital High-Capacity (SDHC).\n"2011" détecter l'insertion d'une carte Secure Digital High-Capacity (SDHC).\n"
2012"ÉTAPES :\n"2012"ÉTAPES :\n"
2013" 1.  Cliquez sur « Tester » et insérez une carte SDHC dans le lecteur.\n"2013" 1.  Cliquez sur « Tester » et insérez une carte SDHC dans le lecteur.\n"
2014" (Note : ce test s'interrompra après 20 secondes.)\n"2014" (Note : ce test s'interrompra après 20 secondes.)\n"
2015" 2. Ne débranchez pas l'appareil après le test.\n"2015" 2. Ne débranchez pas l'appareil après le test.\n"
2016"VÉRIFICATION :\n"2016"VÉRIFICATION :\n"
2017" La vérification de ce test est automatisée. Ne changez pas le\n"2017" La vérification de ce test est automatisée. Ne changez pas le\n"
@@ -2044,7 +2044,7 @@
2044" le retrait d'une carte SDHC du lecteur de carte du système.\n"2044" le retrait d'une carte SDHC du lecteur de carte du système.\n"
2045"ÉTAPES :\n"2045"ÉTAPES :\n"
2046" 1.  Cliquez sur « Tester » et retirez la carte SDHC du le lecteur.\n"2046" 1.  Cliquez sur « Tester » et retirez la carte SDHC du le lecteur.\n"
2047" (Note : ce test s'interrompra après 20 secondes.)\n"2047" (Note : ce test s'interrompra après 20 secondes.)\n"
2048"VÉRIFICATION :\n"2048"VÉRIFICATION :\n"
2049" La vérification de ce test est automatisée. Ne changez pas le\n"2049" La vérification de ce test est automatisée. Ne changez pas le\n"
2050" résultat sélectionné automatiquement."2050" résultat sélectionné automatiquement."
@@ -2070,7 +2070,7 @@
2070" l'insertion d'une carte SDHC après que le système ait été suspendu.\n"2070" l'insertion d'une carte SDHC après que le système ait été suspendu.\n"
2071"ÉTAPES :\n"2071"ÉTAPES :\n"
2072" 1.  Cliquez sur « Tester » et insérez une carte SDHC dans le lecteur.\n"2072" 1.  Cliquez sur « Tester » et insérez une carte SDHC dans le lecteur.\n"
2073" (Note : ce test s'interrompra après 20 secondes.)\n"2073" (Note : ce test s'interrompra après 20 secondes.)\n"
2074" 2. Ne débranchez pas l'appareil après le test.\n"2074" 2. Ne débranchez pas l'appareil après le test.\n"
2075"VÉRIFICATION :\n"2075"VÉRIFICATION :\n"
2076" La vérification de ce test est automatisée. Ne changez pas le\n"2076" La vérification de ce test est automatisée. Ne changez pas le\n"
@@ -2107,7 +2107,7 @@
2107"été suspendu.\n"2107"été suspendu.\n"
2108"ÉTAPES :\n"2108"ÉTAPES :\n"
2109" 1.  Cliquez sur « Tester » et retirez la carte SDHC du le lecteur.\n"2109" 1.  Cliquez sur « Tester » et retirez la carte SDHC du le lecteur.\n"
2110" (Note : ce test s'interrompra après 20 secondes.)\n"2110" (Note : ce test s'interrompra après 20 secondes.)\n"
2111"VÉRIFICATION :\n"2111"VÉRIFICATION :\n"
2112" La vérification de ce test est automatisée. Ne changez pas le\n"2112" La vérification de ce test est automatisée. Ne changez pas le\n"
2113" résultat sélectionné automatiquement."2113" résultat sélectionné automatiquement."
@@ -2131,7 +2131,7 @@
2131" détecter l'insertion d'une carte Compact Flash (CF).\n"2131" détecter l'insertion d'une carte Compact Flash (CF).\n"
2132"ÉTAPES :\n"2132"ÉTAPES :\n"
2133" 1.  Cliquez sur « Tester » et insérez une carte CF dans le lecteur.\n"2133" 1.  Cliquez sur « Tester » et insérez une carte CF dans le lecteur.\n"
2134" (Note : ce test s'interrompra après 20 secondes.)\n"2134" (Note : ce test s'interrompra après 20 secondes.)\n"
2135" 2. Ne débranchez pas l'appareil après le test.\n"2135" 2. Ne débranchez pas l'appareil après le test.\n"
2136"VÉRIFICATION :\n"2136"VÉRIFICATION :\n"
2137" La vérification de ce test est automatisée. Ne changez pas le\n"2137" La vérification de ce test est automatisée. Ne changez pas le\n"
@@ -2164,7 +2164,7 @@
2164" le retrait d'une carte CF du lecteur de carte du système.\n"2164" le retrait d'une carte CF du lecteur de carte du système.\n"
2165"ÉTAPES :\n"2165"ÉTAPES :\n"
2166" 1.  Cliquez sur « Tester » et retirez la carte CF du le lecteur.\n"2166" 1.  Cliquez sur « Tester » et retirez la carte CF du le lecteur.\n"
2167" (Note : ce test s'interrompra après 20 secondes.)\n"2167" (Note : ce test s'interrompra après 20 secondes.)\n"
2168"VÉRIFICATION :\n"2168"VÉRIFICATION :\n"
2169" La vérification de ce test est automatisée. Ne changez pas le\n"2169" La vérification de ce test est automatisée. Ne changez pas le\n"
2170" résultat sélectionné automatiquement."2170" résultat sélectionné automatiquement."
@@ -2189,7 +2189,7 @@
2189" l'insertion d'une carte CF après que le système ait été suspendu.\n"2189" l'insertion d'une carte CF après que le système ait été suspendu.\n"
2190"ÉTAPES :\n"2190"ÉTAPES :\n"
2191" 1.  Cliquez sur « Tester » et insérez une carte CF le lecteur.\n"2191" 1.  Cliquez sur « Tester » et insérez une carte CF le lecteur.\n"
2192" (Note : ce test s'interrompra après 20 secondes.)\n"2192" (Note : ce test s'interrompra après 20 secondes.)\n"
2193" 2. Ne débranchez pas l'appareil après le test.\n"2193" 2. Ne débranchez pas l'appareil après le test.\n"
2194"VÉRIFICATION :\n"2194"VÉRIFICATION :\n"
2195" La vérification de ce test est automatisée. Ne changez pas le\n"2195" La vérification de ce test est automatisée. Ne changez pas le\n"
@@ -2226,7 +2226,7 @@
2226"été suspendu..\n"2226"été suspendu..\n"
2227"ÉTAPES :\n"2227"ÉTAPES :\n"
2228" 1.  Cliquez sur « Tester » et retirez la carte CF du le lecteur.\n"2228" 1.  Cliquez sur « Tester » et retirez la carte CF du le lecteur.\n"
2229" (Note : ce test s'interrompra après 20 secondes.)\n"2229" (Note : ce test s'interrompra après 20 secondes.)\n"
2230"VÉRIFICATION :\n"2230"VÉRIFICATION :\n"
2231" La vérification de ce test est automatisée. Ne changez pas le\n"2231" La vérification de ce test est automatisée. Ne changez pas le\n"
2232" résultat sélectionné automatiquement."2232" résultat sélectionné automatiquement."
@@ -2264,7 +2264,7 @@
2264"ÉTAPES :\n"2264"ÉTAPES :\n"
2265" 1. Informations sur le testeur\n"2265" 1. Informations sur le testeur\n"
2266" 2. Veuillez entrer les informations suivantes dans les zones de "2266" 2. Veuillez entrer les informations suivantes dans les zones de "
2267"commentaires :\n"2267"commentaires :\n"
2268" a. Nom\n"2268" a. Nom\n"
2269" b. Adresse de courrier électronique\n"2269" b. Adresse de courrier électronique\n"
2270" c. La raison de l'exécution de ce test\n"2270" c. La raison de l'exécution de ce test\n"
@@ -2530,7 +2530,7 @@
2530" Ce test va vérifier votre connexion filaire\n"2530" Ce test va vérifier votre connexion filaire\n"
2531"ÉTAPES :\n"2531"ÉTAPES :\n"
2532" 1. Cliquez sur l'icône Réseau dans le panneau supérieur\n"2532" 1. Cliquez sur l'icône Réseau dans le panneau supérieur\n"
2533" 2. Sélectionnez un réseau en-dessous de la section \"Réseau filaire\"\n"2533" 2. Sélectionnez un réseau en-dessous de la section « Réseau filaire »\n"
2534" 3. Cliquez sur « Tester » pour vérifier qu'il est possible d'établir une "2534" 3. Cliquez sur « Tester » pour vérifier qu'il est possible d'établir une "
2535"connexion HTTP\n"2535"connexion HTTP\n"
2536"VÉRIFICATION :\n"2536"VÉRIFICATION :\n"
@@ -2559,9 +2559,9 @@
2559"ÉTAPES :\n"2559"ÉTAPES :\n"
2560" 1. Connectez la ligne téléphonique à l'ordinateur\n"2560" 1. Connectez la ligne téléphonique à l'ordinateur\n"
2561" 2. Cliquez sur l'icône Réseau dans le panneau supérieur.\n"2561" 2. Cliquez sur l'icône Réseau dans le panneau supérieur.\n"
2562" 3. Sélectionnez \"Modification des connexions\"\n"2562" 3. Sélectionnez « Modification des connexions »\n"
2563" 4. Sélectionnez l'onglet \"DSL\"\n"2563" 4. Sélectionnez l'onglet « DSL »\n"
2564" 5. Cliquez sur le bouton \"Ajouter\"\n"2564" 5. Cliquez sur le bouton « Ajouter »\n"
2565" 6. Configurer les paramètres de connexion correctement\n"2565" 6. Configurer les paramètres de connexion correctement\n"
2566" 7. Cliquez sur « Tester » pour vérifier qu'il est possible d'établir une "2566" 7. Cliquez sur « Tester » pour vérifier qu'il est possible d'établir une "
2567"connexion HTTP\n"2567"connexion HTTP\n"
@@ -2654,8 +2654,8 @@
2654"fermer en toute sécurité ou ignorer cette fenêtre.\n"2654"fermer en toute sécurité ou ignorer cette fenêtre.\n"
2655" 3.  Cliquez sur « Tester » pour démarrer le test.\n"2655" 3.  Cliquez sur « Tester » pour démarrer le test.\n"
2656"VÉRIFICATION :\n"2656"VÉRIFICATION :\n"
2657" Ce test devrait sélectionner automatiquement \"Oui\" s'il réussit, "2657" Ce test devrait sélectionner automatiquement « Oui » s'il réussit, "
2658"\"Non\" s'il échoue."2658"« Non » s'il échoue."
26592659
2660#. description2660#. description
2661#: ../jobs/optical.txt.in:422661#: ../jobs/optical.txt.in:42
@@ -2673,6 +2673,19 @@
2673" This test should automatically select \"Yes\" if it passes, \"No\" if it "2673" This test should automatically select \"Yes\" if it passes, \"No\" if it "
2674"fails."2674"fails."
2675msgstr ""2675msgstr ""
2676"BUT :\n"
2677" Ce test va vérifier la capacité d'écriture du graveur de CD. Ce test "
2678"requiert un CD-R vierge. Si vous n'en possédez pas, passez ce test.\n"
2679"ÉTAPES :\n"
2680" 1. Insérez un CD-R vierge dans votre lecteur.\n"
2681" 2. Cliquez sur \"Tester\" pour démarrer la gravure.\n"
2682" 3. Lorsque le système éjecte le CD après la gravure, refermez-le "
2683"(N'ENLEVEZ PAS le disque, il est nécessaire pour la seconde partie du test). "
2684"(Note : Si le CD n'est pas inséré dans les 10 secondes, le test sera "
2685"annulé.)\n"
2686"VÉRIFICATION :\n"
2687" Le test devrait sélectionner automatiquement \"Oui\" s'il réussit, ou "
2688"\"Non\" s'il échoue."
26762689
2677#. description2690#. description
2678#: ../jobs/optical.txt.in:652691#: ../jobs/optical.txt.in:65
@@ -2700,11 +2713,11 @@
2700" 2. Une fois le CD détecté, lancez le lecteur de musique.\n"2713" 2. Une fois le CD détecté, lancez le lecteur de musique.\n"
2701" 3. Localisez le CD dans la fenêtre du lecteur de musique.\n"2714" 3. Localisez le CD dans la fenêtre du lecteur de musique.\n"
2702" 4. Sélectionnez le CD dans le lecteur de musique.\n"2715" 4. Sélectionnez le CD dans le lecteur de musique.\n"
2703" 5. Cliquez sur le bouton \"Lecture\" pour écouter la musique à partir du "2716" 5. Cliquez sur le bouton « Lecture » pour écouter la musique à partir du "
2704"CD.\n"2717"CD.\n"
2705" 6. Arrêtez la lecture après quelques instants d'écoute.\n"2718" 6. Arrêtez la lecture après quelques instants d'écoute.\n"
2706" 7. Faites un clic droit sur l'icône du CD et cliquez sur \"Éjecter le "2719" 7. Faites un clic droit sur l'icône du CD et cliquez sur « Éjecter le "
2707"disque\".\n"2720"disque ».\n"
2708" 8. Le CD devrait s'éjecter.\n"2721" 8. Le CD devrait s'éjecter.\n"
2709" 9. Fermez le lecteur de musique.\n"2722" 9. Fermez le lecteur de musique.\n"
2710"VÉRIFICATION :\n"2723"VÉRIFICATION :\n"
@@ -2726,6 +2739,19 @@
2726" This test should automatically select \"Yes\" if it passes, \"No\" if it "2739" This test should automatically select \"Yes\" if it passes, \"No\" if it "
2727"fails."2740"fails."
2728msgstr ""2741msgstr ""
2742"BUT :\n"
2743" Ce test va vérifier la capacité d'écriture du graveur de DVD. Ce test "
2744"requiert un DVD-R vierge. Si vous n'en possédez pas, passez ce test.\n"
2745"DÉMARCHE :\n"
2746" 1. Insérez un DVD-R vierge dans votre lecteur.\n"
2747" 2. Cliquez sur \"Tester\" pour démarrer la gravure.\n"
2748" 3. Lorsque le graveur éjecte le DVD après la gravure, refermez-le "
2749"(N'ENLEVEZ PAS le disque, il est nécessaire pour la seconde partie du test.) "
2750"Note : Si le DVD n'est pas inséré dans les 10 secondes, le test sera "
2751"annulé.\n"
2752"VÉRIFICATION :\n"
2753" Le test devrait sélectionner automatiquement \"Oui\" s'il réussit, ou "
2754"\"Non\" s'il échoue."
27292755
2730#. description2756#. description
2731#: ../jobs/optical.txt.in:1112757#: ../jobs/optical.txt.in:111
@@ -2746,7 +2772,7 @@
2746" Did all the steps work?"2772" Did all the steps work?"
2747msgstr ""2773msgstr ""
2748"BUT :\n"2774"BUT :\n"
2749" Ce test va vérifier la capacité de lecture de DVD vidéo. Note : "2775" Ce test va vérifier la capacité de lecture de DVD vidéo. Note : "
2750"l'installation de logiciels non-libres (codecs, lecteurs, etc) peut être "2776"l'installation de logiciels non-libres (codecs, lecteurs, etc) peut être "
2751"nécessaire avant d'effectuer le test.\n"2777"nécessaire avant d'effectuer le test.\n"
2752"ÉTAPES :\n"2778"ÉTAPES :\n"
@@ -2820,10 +2846,10 @@
2820"l'horloge système.\n"2846"l'horloge système.\n"
2821"ÉTAPES :\n"2847"ÉTAPES :\n"
2822" 1. Cliquez sur « Tester » et vérifiez que l'horloge avance d'une heure.\n"2848" 1. Cliquez sur « Tester » et vérifiez que l'horloge avance d'une heure.\n"
2823" (Note : L'horloge peut mettre presque une minute pour "2849" (Note : L'horloge peut mettre presque une minute pour "
2824"s'actualiser.)\n"2850"s'actualiser.)\n"
2825" 2. Faites un clic droit sur l'horloge et cliquez sur \"Réglages de la "2851" 2. Faites un clic droit sur l'horloge et cliquez sur « Réglages de la "
2826"date et de l'heure...\"\n"2852"date et de l'heure... »\n"
2827" 3. Vérifiez que l'horloge est en réglage manuel.\n"2853" 3. Vérifiez que l'horloge est en réglage manuel.\n"
2828" 4. Reculez l'horloge d'une heure.\n"2854" 4. Reculez l'horloge d'une heure.\n"
2829" 5. Fermez la fenêtre et redémarrez l'ordinateur.\n"2855" 5. Fermez la fenêtre et redémarrez l'ordinateur.\n"
@@ -2851,8 +2877,8 @@
2851"menu du bureau.\n"2877"menu du bureau.\n"
2852"ÉTAPES :\n"2878"ÉTAPES :\n"
2853" 1. Cliquez sur l'icône Engrenage dans le coin supérieur droit de l'écran "2879" 1. Cliquez sur l'icône Engrenage dans le coin supérieur droit de l'écran "
2854"et cliquez sur \"Éteindre\".\n"2880"et cliquez sur « Éteindre ».\n"
2855" 2. Cliquez sur le bouton \"Redémarrer\" à gauche de la boîte de dialogue "2881" 2. Cliquez sur le bouton « Redémarrer » à gauche de la boîte de dialogue "
2856"de fermeture.\n"2882"de fermeture.\n"
2857" 3. Après le redémarrage, relancez le Test Système. Il devrait reprendre "2883" 3. Après le redémarrage, relancez le Test Système. Il devrait reprendre "
2858"à cet endroit.\n"2884"à cet endroit.\n"
@@ -2900,14 +2926,14 @@
2900"ÉTAPES :\n"2926"ÉTAPES :\n"
2901" 1. Assurez-vous qu'une imprimante soit disponible sur votre réseau.\n"2927" 1. Assurez-vous qu'une imprimante soit disponible sur votre réseau.\n"
2902" 2. Cliquez sur l'icône Engrenage dans le coin supérieur droit de votre "2928" 2. Cliquez sur l'icône Engrenage dans le coin supérieur droit de votre "
2903"écran puis cliquez sur \"Imprimantes\".\n"2929"écran puis cliquez sur « Imprimantes ».\n"
2904" 3. Si l'imprimante n'est pas répertoriée, cliquez sur \"Ajouter\".\n"2930" 3. Si l'imprimante n'est pas répertoriée, cliquez sur « Ajouter ».\n"
2905" 4. L'imprimante devrait être détectée et les paramètres de configuration "2931" 4. L'imprimante devrait être détectée et les paramètres de configuration "
2906"devraient s'afficher.\n"2932"devraient s'afficher.\n"
2907" 5. Imprimez une page de test.\n"2933" 5. Imprimez une page de test.\n"
2908"VÉRIFICATION :\n"2934"VÉRIFICATION :\n"
2909" Êtes-vous parvenu à imprimer une page de test sur l'imprimante en réseau "2935" Êtes-vous parvenu à imprimer une page de test sur l'imprimante en "
2910"?"2936"réseau ?"
29112937
2912#. description2938#. description
2913#: ../jobs/peripheral.txt.in:182939#: ../jobs/peripheral.txt.in:18
@@ -2941,8 +2967,8 @@
2941" 6. Configurez les paramètres de connexion correctement\n"2967" 6. Configurez les paramètres de connexion correctement\n"
2942" 7. Une notification à l'écran devrait confirmer que la connexion a été "2968" 7. Une notification à l'écran devrait confirmer que la connexion a été "
2943"établie\n"2969"établie\n"
2944" 8. Sélectionnez Test pour vérifier qu'il est possible d'établir une "2970" 8. Sélectionnez « Tester » pour vérifier qu'il est possible d'établir "
2945"connexion HTTP\n"2971"une connexion HTTP\n"
2946"VÉRIFICATION :\n"2972"VÉRIFICATION :\n"
2947" La connexion a-t-elle été établie correctement ?"2973" La connexion a-t-elle été établie correctement ?"
29482974
@@ -2998,16 +3024,16 @@
2998" Ce test va vérifier la capacité du système de s'éteindre et de "3024" Ce test va vérifier la capacité du système de s'éteindre et de "
2999"redémarrer.\n"3025"redémarrer.\n"
3000"ÉTAPES :\n"3026"ÉTAPES :\n"
3001" 1. Sélectionnez \"Test\" pour démarrer.\n"3027" 1. Sélectionnez « Tester » pour démarrer.\n"
3002" 2. L'ordinateur devrait s'éteindre.\n"3028" 2. L'ordinateur devrait s'éteindre.\n"
3003" 3. Rallumez l'ordinateur.\n"3029" 3. Rallumez l'ordinateur.\n"
3004" 4. Après le démarrage, attendez le message du test vous informant que le "3030" 4. Après le démarrage, attendez le message du test vous informant que le "
3005"test est terminé.\n"3031"test est terminé.\n"
3006" 5. Lorsque le test est terminé, redémarrez Checkbox et sélectionnez Ré-"3032" 5. Lorsque le test est terminé, redémarrez Checkbox et sélectionnez « Ré-"
3007"exécuter quand cela est proposé\n"3033"exécuter » quand cela est proposé\n"
3008"VÉRIFICATION :\n"3034"VÉRIFICATION :\n"
3009" Si l'ordinateur s'éteint et redémarre correctement, sélectionnez Oui "3035" Si l'ordinateur s'éteint et redémarre correctement, sélectionnez « Oui » "
3010"puis Suivant."3036"puis « Suivant »."
30113037
3012#. description3038#. description
3013#: ../jobs/power-management.txt.in:543039#: ../jobs/power-management.txt.in:54
@@ -3036,14 +3062,15 @@
3036"BUT :\n"3062"BUT :\n"
3037" Ce test va vérifier la capacité du système à redémarrer proprement.\n"3063" Ce test va vérifier la capacité du système à redémarrer proprement.\n"
3038"ÉTAPES :\n"3064"ÉTAPES :\n"
3039" 1. Sélectionnez \"Test\" pour démarrer.\n"3065" 1. Sélectionnez « Tester » pour démarrer.\n"
3040" 2. L'ordinateur devrait redémarrer.\n"3066" 2. L'ordinateur devrait redémarrer.\n"
3041" 3. Après le redémarrage, attendez le message du test vous informant que "3067" 3. Après le redémarrage, attendez le message du test vous informant que "
3042"le test est terminé.\n"3068"le test est terminé.\n"
3043" 4. Lorsque le test est terminé, redémarrez Checkbox et sélectionnez Ré-"3069" 4. Lorsque le test est terminé, redémarrez Checkbox et sélectionnez « Ré-"
3044"exécuter quand cela est proposé\n"3070"exécuter » quand cela est proposé\n"
3045"VÉRIFICATION :\n"3071"VÉRIFICATION :\n"
3046" Si l'ordinateur redémarre correctement, sélectionnez Oui puis Suivant."3072" Si l'ordinateur redémarre correctement, sélectionnez « Oui«  puis "
3073"« Suivant »."
30473074
3048#. description3075#. description
3049#: ../jobs/power-management.txt.in:783076#: ../jobs/power-management.txt.in:78
@@ -3087,7 +3114,7 @@
3087" Ce test va vérifier les capteurs du couvercle de votre ordinateur "3114" Ce test va vérifier les capteurs du couvercle de votre ordinateur "
3088"portable\n"3115"portable\n"
3089"ÉTAPES :\n"3116"ÉTAPES :\n"
3090" 1. Cliquez \"Test\"\n"3117" 1. Cliquez sur « Tester »\n"
3091" 2. Rabattez et rouvrez le couvercle de votre ordinateur portable\n"3118" 2. Rabattez et rouvrez le couvercle de votre ordinateur portable\n"
3092"VÉRIFICATION :\n"3119"VÉRIFICATION :\n"
3093" Est-ce que l'écran s'est éteint quand le couvercle était fermé ?"3120" Est-ce que l'écran s'est éteint quand le couvercle était fermé ?"
@@ -3109,7 +3136,7 @@
3109" Ce test va vérifier les capteurs du couvercle de votre ordinateur "3136" Ce test va vérifier les capteurs du couvercle de votre ordinateur "
3110"portable\n"3137"portable\n"
3111"ÉTAPES :\n"3138"ÉTAPES :\n"
3112" 1. Cliquez \"Test\"\n"3139" 1. Cliquez sur « Tester »\n"
3113" 2. Rabattez le couvercle\n"3140" 2. Rabattez le couvercle\n"
3114" 3. Laissez le couvercle fermé 5 secondes\n"3141" 3. Laissez le couvercle fermé 5 secondes\n"
3115" 4. Ouvrez le couvercle de votre ordinateur portable\n"3142" 4. Ouvrez le couvercle de votre ordinateur portable\n"
@@ -3318,7 +3345,7 @@
3318"BUT :\n"3345"BUT :\n"
3319" Ce test va vérifier la mise en veille et la sortie de veille\n"3346" Ce test va vérifier la mise en veille et la sortie de veille\n"
3320"ÉTAPES :\n"3347"ÉTAPES :\n"
3321" 1. Cliquez sur « Oui » et votre système se mettra en veille pendant "3348" 1. Cliquez sur « Tester » et votre système se mettra en veille pendant "
3322"environ 30 - 60 secondes\n"3349"environ 30 - 60 secondes\n"
3323" 2. Si votre système ne se réveille pas de lui-même après 60 secondes, "3350" 2. Si votre système ne se réveille pas de lui-même après 60 secondes, "
3324"veuillez appuyer momentanément sur le bouton de mise en marche pour "3351"veuillez appuyer momentanément sur le bouton de mise en marche pour "
@@ -3707,7 +3734,7 @@
3707" Ce test va vérifier votre connexion USB.\n"3734" Ce test va vérifier votre connexion USB.\n"
3708"ÉTAPES :\n"3735"ÉTAPES :\n"
3709" 1. Brancher un clavier USB sur l'ordinateur.\n"3736" 1. Brancher un clavier USB sur l'ordinateur.\n"
3710" 2. Cliquer \"Test\" et taper du texte.\n"3737" 2. Cliquer sur « Tester » et taper du texte.\n"
3711"VÉRIFICATION :\n"3738"VÉRIFICATION :\n"
3712" Le clavier fonctionne-t-il ?"3739" Le clavier fonctionne-t-il ?"
37133740
@@ -3748,9 +3775,9 @@
3748" Ce test va vérifier que le système détecte correctement l'insertion\n"3775" Ce test va vérifier que le système détecte correctement l'insertion\n"
3749" d'un périphérique de stockage USB\n"3776" d'un périphérique de stockage USB\n"
3750"ÉTAPES :\n"3777"ÉTAPES :\n"
3751" 1. Cliquez sur « Test » et insérez un périphérique de stockage USB "3778" 1. Cliquez sur « Tester » et insérez un périphérique de stockage USB "
3752"(mémoire flash USB \"pen-drive\"/disque dur).\n"3779"(mémoire flash USB \"pen-drive\"/disque dur).\n"
3753" Note : ce test s'interrompra après 20 secondes).\n"3780" Note : ce test s'interrompra après 20 secondes).\n"
3754" 2. Ne débranchez pas le périphérique après le test.\n"3781" 2. Ne débranchez pas le périphérique après le test.\n"
3755"VÉRIFICATION :\n"3782"VÉRIFICATION :\n"
3756" La vérification de ce test est automatisée. Ne modifiez pas le\n"3783" La vérification de ce test est automatisée. Ne modifiez pas le\n"
@@ -3773,8 +3800,8 @@
3773" Ce test va vérifier que le système détecte correctement le retrait\n"3800" Ce test va vérifier que le système détecte correctement le retrait\n"
3774" d'un périphérique de stockage USB\n"3801" d'un périphérique de stockage USB\n"
3775"ÉTAPES :\n"3802"ÉTAPES :\n"
3776" 1. Cliquez \"Test\" et retirez le périphérique USB.\n"3803" 1. Cliquez sur « Tester » et retirez le périphérique USB.\n"
3777" (Note : ce test s'interrompra après 20 secondes.)\n"3804" (Note : ce test s'interrompra après 20 secondes.)\n"
3778"VÉRIFICATION :\n"3805"VÉRIFICATION :\n"
3779" La vérification de ce test est automatisée. Ne modifiez pas le\n"3806" La vérification de ce test est automatisée. Ne modifiez pas le\n"
3780" résultat sélectionné automatiquement."3807" résultat sélectionné automatiquement."
@@ -3797,7 +3824,7 @@
3797"ÉTAPES :\n"3824"ÉTAPES :\n"
3798" 1. Branchez un disque dur USB ou une clé USB sur l'ordinateur.\n"3825" 1. Branchez un disque dur USB ou une clé USB sur l'ordinateur.\n"
3799" 2. Une icône devrait apparaître sur le lanceur d'application.\n"3826" 2. Une icône devrait apparaître sur le lanceur d'application.\n"
3800" 3. Cliquez \"Test\" pour démarrer le test.\n"3827" 3. Cliquez sur « Tester » pour démarrer le test.\n"
3801"VÉRIFICATION :\n"3828"VÉRIFICATION :\n"
3802" La vérification de ce test est automatisée. Ne modifiez pas le\n"3829" La vérification de ce test est automatisée. Ne modifiez pas le\n"
3803" résultat sélectionné automatiquement."3830" résultat sélectionné automatiquement."
@@ -3922,17 +3949,16 @@
3922"dossier.\n"3949"dossier.\n"
3923"ÉTAPES :\n"3950"ÉTAPES :\n"
3924" 1. Cliquez sur « Tester » pour lancer le gestionnaire de fichiers.\n"3951" 1. Cliquez sur « Tester » pour lancer le gestionnaire de fichiers.\n"
3925" 2. Faites un clic droit sur le dossier \"Test Folder\" et cliquez sur "3952" 2. Faites un clic droit sur le dossier Test Folder et cliquez sur Copier.\n"
3926"Copier.\n"
3927" 3. Faites un clic droit dans la partie blanche de la fenêtre et cliquez sur "3953" 3. Faites un clic droit dans la partie blanche de la fenêtre et cliquez sur "
3928"Coller.\n"3954"Coller.\n"
3929" 4. Faites un clic droit sur le dossier \"Test Folder(copie)\" et cliquez "3955" 4. Faites un clic droit sur le dossier Test Folder(copie) et cliquez sur "
3930"sur Renommer.\n"3956"Renommer.\n"
3931" 5. Saisissez le nom \"Test Data\" dans le champ de saisie et appuyez sur "3957" 5. Saisissez le nom Test Data dans le champ de saisie et appuyez sur "
3932"Entrée.\n"3958"Entrée.\n"
3933" 6. Fermez le gestionnaire de fichiers.\n"3959" 6. Fermez le gestionnaire de fichiers.\n"
3934"VÉRIFICATION :\n"3960"VÉRIFICATION :\n"
3935" Avez-vous maintenant un dossier appelé \"Test Data\" ?"3961" Avez-vous maintenant un dossier appelé Test Data ?"
39363962
3937#. description3963#. description
3938#: ../jobs/user_apps.txt.in:543964#: ../jobs/user_apps.txt.in:54
@@ -3955,14 +3981,12 @@
3955"dossier.\n"3981"dossier.\n"
3956"ÉTAPES :\n"3982"ÉTAPES :\n"
3957" 1. Cliquez sur « Tester » pour lancer le gestionnaire de fichiers.\n"3983" 1. Cliquez sur « Tester » pour lancer le gestionnaire de fichiers.\n"
3958" 2. Cliquez et déplacez le dossier \"Test Data\" sur l'icône \"Test "3984" 2. Cliquez et déplacez le dossier Test Data sur l'icône Test Folder.\n"
3959"Folder\".\n"
3960" 3. Relâchez le bouton.\n"3985" 3. Relâchez le bouton.\n"
3961" 4. Double cliquez sur le dossier \"Test Folder\" pour l'ouvrir.\n"3986" 4. Double cliquez sur le dossier Test Folder pour l'ouvrir.\n"
3962" 5. Fermez le gestionnaire de fichiers.\n"3987" 5. Fermez le gestionnaire de fichiers.\n"
3963"VÉRIFICATION :\n"3988"VÉRIFICATION :\n"
3964" Le dossier \"Test Data\" a-t-il bien été déplacé dans le dossier \"Test "3989" Le dossier Test Data a-t-il bien été déplacé dans le dossier Test Folder ?"
3965"Folder\" ?"
39663990
3967#. description3991#. description
3968#: ../jobs/user_apps.txt.in:703992#: ../jobs/user_apps.txt.in:70
@@ -3985,11 +4009,11 @@
3985" 1. Cliquez sur « Tester » pour lancer le gestionnaire de fichiers.\n"4009" 1. Cliquez sur « Tester » pour lancer le gestionnaire de fichiers.\n"
3986" 2. Faites un clic droit dans la partie blanche et cliquez sur Créer un "4010" 2. Faites un clic droit dans la partie blanche et cliquez sur Créer un "
3987"nouveau document -> document vide.\n"4011"nouveau document -> document vide.\n"
3988" 3. Saisissez le nom \"Test File 1\" dans le champ de saisie et appuyez sur "4012" 3. Saisissez le nom Test File 1 dans le champ de saisie et appuyez sur "
3989"Entrée.\n"4013"Entrée.\n"
3990" 4. Fermez le gestionnaire de fichiers.\n"4014" 4. Fermez le gestionnaire de fichiers.\n"
3991"VÉRIFICATION :\n"4015"VÉRIFICATION :\n"
3992" Avez-vous maintenant un fichier \"Test File 1\" ?"4016" Avez-vous maintenant un fichier Test File 1 ?"
39934017
3994#. description4018#. description
3995#: ../jobs/user_apps.txt.in:854019#: ../jobs/user_apps.txt.in:85
@@ -4011,17 +4035,16 @@
4011"fichier.\n"4035"fichier.\n"
4012"ÉTAPES :\n"4036"ÉTAPES :\n"
4013" 1. Cliquez sur « Tester » pour lancer le gestionnaire de fichiers.\n"4037" 1. Cliquez sur « Tester » pour lancer le gestionnaire de fichiers.\n"
4014" 2. Faites un clic droit sur le fichier \"Test File 1\" et cliquez sur "4038" 2. Faites un clic droit sur le fichier Test File 1 et cliquez sur Copier.\n"
4015"Copier.\n"
4016" 3. Faites un clic droit dans la partie blanche de la fenêtre et cliquez sur "4039" 3. Faites un clic droit dans la partie blanche de la fenêtre et cliquez sur "
4017"Coller.\n"4040"Coller.\n"
4018" 4. Faites un clic droit sur le fichier \"Test File 1(copie)\" et cliquez "4041" 4. Faites un clic droit sur le fichier Test File 1(copie) et cliquez sur "
4019"sur Renommer.\n"4042"Renommer.\n"
4020" 5. Saisissez le nom \"Test File 2\" dans le champ de saisie et appuyez sur "4043" 5. Saisissez le nom Test File 2 dans le champ de saisie et appuyez sur "
4021"Entrée.\n"4044"Entrée.\n"
4022" 6. Fermez le gestionnaire de fichiers.\n"4045" 6. Fermez le gestionnaire de fichiers.\n"
4023"VÉRIFICATION :\n"4046"VÉRIFICATION :\n"
4024" Avez-vous maintenant un fichier appelé \"Test File 2\" ?"4047" Avez-vous maintenant un fichier appelé Test File 2 ?"
40254048
4026#. description4049#. description
4027#: ../jobs/user_apps.txt.in:1024050#: ../jobs/user_apps.txt.in:102
@@ -4043,14 +4066,13 @@
4043"fichier.\n"4066"fichier.\n"
4044"ÉTAPES :\n"4067"ÉTAPES :\n"
4045" 1. Cliquez sur « Tester » pour lancer le gestionnaire de fichiers.\n"4068" 1. Cliquez sur « Tester » pour lancer le gestionnaire de fichiers.\n"
4046" 2. Cliquez et déplacez le fichier \"Test File 2\" sur l'icône du dossier "4069" 2. Cliquez et déplacez le fichier Test File 2 sur l'icône du dossier Test "
4047"\"Test Data\".\n"4070"Data.\n"
4048" 3. Relâchez le bouton.\n"4071" 3. Relâchez le bouton.\n"
4049" 4. Double cliquez sur le dossier \"Test Data\" pour l'ouvrir.\n"4072" 4. Double cliquez sur le dossier Test Data pour l'ouvrir.\n"
4050" 5. Fermez le gestionnaire de fichiers.\n"4073" 5. Fermez le gestionnaire de fichiers.\n"
4051"VÉRIFICATION :\n"4074"VÉRIFICATION :\n"
4052" Le fichier \"Test File 2\" a-t-il bien été déplacé dans le dossier \"Test "4075" Le fichier Test File 2 a-t-il bien été déplacé dans le dossier Test Data ?"
4053"Data\" ?"
40544076
4055#. description4077#. description
4056#: ../jobs/user_apps.txt.in:1184078#: ../jobs/user_apps.txt.in:118
@@ -4070,12 +4092,12 @@
4070"fichier.\n"4092"fichier.\n"
4071"ÉTAPES :\n"4093"ÉTAPES :\n"
4072" 1. Cliquez sur « Tester » pour lancer le gestionnaire de fichiers.\n"4094" 1. Cliquez sur « Tester » pour lancer le gestionnaire de fichiers.\n"
4073" 2. Faites un clic droit sur le fichier \"Test File 1\" et cliquez sur "4095" 2. Faites un clic droit sur le fichier Test File 1 et cliquez sur Mettre à "
4074"Mettre à la corbeille.\n"4096"la corbeille.\n"
4075" 3. Vérifiez que \"Test File 1\" a bien été supprimé.\n"4097" 3. Vérifiez que Test File 1 a bien été supprimé.\n"
4076" 4. Fermez le gestionnaire de fichiers.\n"4098" 4. Fermez le gestionnaire de fichiers.\n"
4077"VÉRIFICATION :\n"4099"VÉRIFICATION :\n"
4078" \"Test File 1\" a-t-il bien disparu ?"4100" Test File 1 a-t-il bien disparu ?"
40794101
4080#. description4102#. description
4081#: ../jobs/user_apps.txt.in:1334103#: ../jobs/user_apps.txt.in:133
@@ -4096,12 +4118,12 @@
4096"dossier.\n"4118"dossier.\n"
4097"ÉTAPES :\n"4119"ÉTAPES :\n"
4098" 1. Cliquez sur « Tester » pour lancer le gestionnaire de fichiers.\n"4120" 1. Cliquez sur « Tester » pour lancer le gestionnaire de fichiers.\n"
4099" 2. Faites un clic droit sur le dossier \"Test Folder\" et cliquez sur "4121" 2. Faites un clic droit sur le dossier Test Folder et cliquez sur Mettre à "
4100"Mettre à la corbeille.\n"4122"la corbeille.\n"
4101" 3. Vérifiez que \"Test Folder\" a bien été supprimé.\n"4123" 3. Vérifiez que Test Folder a bien été supprimé.\n"
4102" 4. Fermez le gestionnaire de fichiers.\n"4124" 4. Fermez le gestionnaire de fichiers.\n"
4103"VÉRIFICATION :\n"4125"VÉRIFICATION :\n"
4104" \"Test Folder\" a-t-il bien été supprimé ?"4126" Test Folder a-t-il bien été supprimé ?"
41054127
4106#. description4128#. description
4107#: ../jobs/user_apps.txt.in:2074129#: ../jobs/user_apps.txt.in:207
@@ -4141,7 +4163,7 @@
4141"BUT :\n"4163"BUT :\n"
4142" Ce test va vérifier que Firefox peut exécuter une applet java dans une page "4164" Ce test va vérifier que Firefox peut exécuter une applet java dans une page "
4143"web.\n"4165"web.\n"
4144" Note : ceci peut nécessiter l'installation de logiciels supplémentaires "4166" Note : ceci peut nécessiter l'installation de logiciels supplémentaires "
4145"pour réussir.\n"4167"pour réussir.\n"
4146"ÉTAPES :\n"4168"ÉTAPES :\n"
4147" 1. Choisissez « Tester » pour lancer Firefox avec la page de test Java, et "4169" 1. Choisissez « Tester » pour lancer Firefox avec la page de test Java, et "
@@ -4162,8 +4184,8 @@
4162" Did you see the text?"4184" Did you see the text?"
4163msgstr ""4185msgstr ""
4164"BUT :\n"4186"BUT :\n"
4165" Ce test va vérifier que Firefox peut exécuter des applications Flash. Note "4187" Ce test va vérifier que Firefox peut exécuter des applications Flash. "
4166": ceci\n"4188"Note : ceci\n"
4167" peut nécessiter l'installation de logiciels supplémentaires pour réussir.\n"4189" peut nécessiter l'installation de logiciels supplémentaires pour réussir.\n"
4168"ÉTAPES :\n"4190"ÉTAPES :\n"
4169" 1. Choisissez « Tester » pour lancer Firefox et voir un test Flash.\n"4191" 1. Choisissez « Tester » pour lancer Firefox et voir un test Flash.\n"
@@ -4457,7 +4479,7 @@
4457"BUT :\n"4479"BUT :\n"
4458"Ce test vérifie si gcalctool (Calculatrice) fonctionne.\n"4480"Ce test vérifie si gcalctool (Calculatrice) fonctionne.\n"
4459"ÉTAPES :\n"4481"ÉTAPES :\n"
4460" Cliquez sur « Tester » pour ouvrir la calculatrice et faites :\n"4482" Cliquez sur « Tester » pour ouvrir la calculatrice et faites :\n"
4461" 1. Couper\n"4483" 1. Couper\n"
4462" 2. Copier\n"4484" 2. Copier\n"
4463" 3. Coller\n"4485" 3. Coller\n"
@@ -4500,11 +4522,11 @@
4500"BUT:\n"4522"BUT:\n"
4501" Ce test vérifie que gedit fonctionne.\n"4523" Ce test vérifie que gedit fonctionne.\n"
4502"ÉTAPES:\n"4524"ÉTAPES:\n"
4503" 1. Cliquez sur le bouton \"Test\" pour ouvrir gedit, et ré-ouvrez le "4525" 1. Cliquez sur « Tester » pour ouvrir gedit, et ré-ouvrez le fichier que "
4504"fichier que vous avez créé précédemment.\n"4526"vous avez créé précédemment.\n"
4505" 2. Modifiez puis enregistrez le fichier, puis fermez gedit.\n"4527" 2. Modifiez puis enregistrez le fichier, puis fermez gedit.\n"
4506"VÉRIFICATION:\n"4528"VÉRIFICATION:\n"
4507" Cela a t-il fonctionné comme prévu?"4529" Cela a t-il fonctionné comme prévu ?"
45084530
4509#. description4531#. description
4510#: ../jobs/user_apps.txt.in:4974532#: ../jobs/user_apps.txt.in:497
@@ -4523,7 +4545,7 @@
4523"Ce test vérifie si le terminal GNOME fonctionne.\n"4545"Ce test vérifie si le terminal GNOME fonctionne.\n"
4524"ÉTAPES :\n"4546"ÉTAPES :\n"
4525" 1. Cliquez sur « Tester » pour ouvrir le terminal.\n"4547" 1. Cliquez sur « Tester » pour ouvrir le terminal.\n"
4526" 2. Tapez 'ls' et appuyez sur Entrée. Vous devriez voir une liste de "4548" 2. Tapez « ls » et appuyez sur Entrée. Vous devriez voir une liste de "
4527"fichiers et dossiers de votre dossier personnel.\n"4549"fichiers et dossiers de votre dossier personnel.\n"
4528" 3. Fermez la fenêtre du terminal.\n"4550" 3. Fermez la fenêtre du terminal.\n"
4529"VÉRIFICATION :\n"4551"VÉRIFICATION :\n"
@@ -4553,7 +4575,7 @@
4553" Ce test va vérifier votre connexion sans fil.\n"4575" Ce test va vérifier votre connexion sans fil.\n"
4554"ÉTAPES :\n"4576"ÉTAPES :\n"
4555" 1. Cliquez sur l'icône Réseau du tableau de bord..\n"4577" 1. Cliquez sur l'icône Réseau du tableau de bord..\n"
4556" 2. Sélectionnez un réseau dans la section 'Réseaux sans fil'.\n"4578" 2. Sélectionnez un réseau dans la section « Réseaux sans fil ».\n"
4557" 3. Cliquez sur « Tester » pour vérifier que vous pouvez établir une "4579" 3. Cliquez sur « Tester » pour vérifier que vous pouvez établir une "
4558"connexion HTTP.\n"4580"connexion HTTP.\n"
4559"VÉRIFICATION :\n"4581"VÉRIFICATION :\n"
@@ -4762,7 +4784,7 @@
47624784
4763#: ../checkbox_cli/cli_interface.py:1274785#: ../checkbox_cli/cli_interface.py:127
4764msgid "Press any key to continue..."4786msgid "Press any key to continue..."
4765msgstr "Appuyez sur une touche pour continuer..."4787msgstr "Appuyez sur une touche pour continuer…"
47664788
4767#: ../checkbox_cli/cli_interface.py:136 ../checkbox_cli/cli_interface.py:2354789#: ../checkbox_cli/cli_interface.py:136 ../checkbox_cli/cli_interface.py:235
4768#, python-format4790#, python-format
@@ -4776,7 +4798,7 @@
47764798
4777#: ../checkbox_cli/cli_interface.py:3684799#: ../checkbox_cli/cli_interface.py:368
4778msgid "Combine with character above to expand node"4800msgid "Combine with character above to expand node"
4779msgstr ""4801msgstr "Combiner avec le caractère ci-dessus pour développer le nœud"
47804802
4781#: ../checkbox_cli/cli_interface.py:4174803#: ../checkbox_cli/cli_interface.py:417
4782msgid "test"4804msgid "test"
@@ -4884,7 +4906,7 @@
4884#: ../plugins/apport_prompt.py:2474906#: ../plugins/apport_prompt.py:247
4885#, python-format4907#, python-format
4886msgid "Is a package upgrade in process? Error: %s"4908msgid "Is a package upgrade in process? Error: %s"
4887msgstr "Une mise à jour de paquet est-elle en cours ? Erreur : %s"4909msgstr "Une mise à niveau de paquet est-elle en cours ? Erreur : %s"
48884910
4889#: ../plugins/final_prompt.py:334911#: ../plugins/final_prompt.py:33
4890msgid "Successfully finished testing!"4912msgid "Successfully finished testing!"
@@ -4964,7 +4986,7 @@
49644986
4965#: ../plugins/launchpad_prompt.py:994987#: ../plugins/launchpad_prompt.py:99
4966msgid "Exchanging information with the server..."4988msgid "Exchanging information with the server..."
4967msgstr "Échange d'informations avec le serveur..."4989msgstr "Échange d'informations avec le serveur…"
49684990
4969#: ../plugins/launchpad_report.py:1674991#: ../plugins/launchpad_report.py:167
4970msgid ""4992msgid ""
@@ -5014,7 +5036,7 @@
50145036
5015#: ../plugins/suites_prompt.py:136 ../qt/frontend/ui_qtfront.h:6415037#: ../plugins/suites_prompt.py:136 ../qt/frontend/ui_qtfront.h:641
5016msgid "Choose tests to run on your system:"5038msgid "Choose tests to run on your system:"
5017msgstr "Sélectionnez les tests à exécuter sur votre système :"5039msgstr "Sélectionnez les tests à exécuter sur votre système :"
50185040
5019#: ../scripts/keyboard_test:225041#: ../scripts/keyboard_test:22
5020msgid "Enter text:\n"5042msgid "Enter text:\n"
@@ -5030,7 +5052,7 @@
50305052
5031#: ../scripts/internet_test:2145053#: ../scripts/internet_test:214
5032msgid "Connection established lost a packet"5054msgid "Connection established lost a packet"
5033msgstr "Connexion établie avec perte d'un paquet"5055msgstr "La connexion établie a perdu un paquet"
50345056
5035#: ../scripts/internet_test:2175057#: ../scripts/internet_test:217
5036msgid "Internet connection fully established"5058msgid "Internet connection fully established"
@@ -5050,7 +5072,7 @@
50505072
5051#: ../qt/frontend/qtfront.cpp:825073#: ../qt/frontend/qtfront.cpp:82
5052msgid "CPU Test"5074msgid "CPU Test"
5053msgstr "Test micropresseur"5075msgstr "Test microprocesseur"
50545076
5055#: ../qt/frontend/qtfront.cpp:835077#: ../qt/frontend/qtfront.cpp:83
5056msgid "Disk Test"5078msgid "Disk Test"
@@ -5162,7 +5184,7 @@
51625184
5163#: ../qt/frontend/ui_qtfront.h:6015185#: ../qt/frontend/ui_qtfront.h:601
5164msgid "OK"5186msgid "OK"
5165msgstr ""5187msgstr "OK"
51665188
5167#: ../qt/frontend/ui_qtfront.h:6025189#: ../qt/frontend/ui_qtfront.h:602
5168msgid "Don't show me this message in the future"5190msgid "Don't show me this message in the future"
51695191
=== modified file 'po/pt_BR.po'
--- po/pt_BR.po 2012-09-26 16:10:55 +0000
+++ po/pt_BR.po 2012-10-05 14:06:24 +0000
@@ -8,20 +8,20 @@
8"Project-Id-Version: checkbox\n"8"Project-Id-Version: checkbox\n"
9"Report-Msgid-Bugs-To: \n"9"Report-Msgid-Bugs-To: \n"
10"POT-Creation-Date: 2012-07-12 16:08-0400\n"10"POT-Creation-Date: 2012-07-12 16:08-0400\n"
11"PO-Revision-Date: 2012-04-10 03:27+0000\n"11"PO-Revision-Date: 2012-09-12 17:48+0000\n"
12"Last-Translator: Neliton Pereira Jr. <nelitonpjr@gmail.com>\n"12"Last-Translator: Tiago Hillebrandt <tiagohillebrandt@gmail.com>\n"
13"Language-Team: Brazilian Portuguese <pt_BR@li.org>\n"13"Language-Team: Brazilian Portuguese <pt_BR@li.org>\n"
14"MIME-Version: 1.0\n"14"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"16"Content-Transfer-Encoding: 8bit\n"
17"X-Launchpad-Export-Date: 2012-09-11 04:36+0000\n"17"X-Launchpad-Export-Date: 2012-09-13 04:34+0000\n"
18"X-Generator: Launchpad (build 15924)\n"18"X-Generator: Launchpad (build 15944)\n"
1919
20#. Title of the user interface20#. Title of the user interface
21#: ../gtk/checkbox-gtk.ui.h:1 ../qt/checkbox-qt.desktop.in.h:121#: ../gtk/checkbox-gtk.ui.h:1 ../qt/checkbox-qt.desktop.in.h:1
22#: ../plugins/user_interface.py:4322#: ../plugins/user_interface.py:43
23msgid "System Testing"23msgid "System Testing"
24msgstr "Testes do sistema"24msgstr "Teste do sistema"
2525
26#: ../gtk/checkbox-gtk.ui.h:2 ../checkbox_gtk/gtk_interface.py:56126#: ../gtk/checkbox-gtk.ui.h:2 ../checkbox_gtk/gtk_interface.py:561
27msgid "_Test"27msgid "_Test"
2828
=== removed file 'qt/checkbox-qt.ui'
--- qt/checkbox-qt.ui 2012-06-22 17:04:14 +0000
+++ qt/checkbox-qt.ui 1970-01-01 00:00:00 +0000
@@ -1,935 +0,0 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<ui version="4.0">
3 <class>main</class>
4 <widget class="QWidget" name="main">
5 <property name="geometry">
6 <rect>
7 <x>0</x>
8 <y>0</y>
9 <width>640</width>
10 <height>443</height>
11 </rect>
12 </property>
13 <property name="sizePolicy">
14 <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
15 <horstretch>0</horstretch>
16 <verstretch>0</verstretch>
17 </sizepolicy>
18 </property>
19 <property name="windowTitle">
20 <string>Form</string>
21 </property>
22 <layout class="QHBoxLayout" name="horizontalLayout">
23 <property name="spacing">
24 <number>0</number>
25 </property>
26 <property name="margin">
27 <number>0</number>
28 </property>
29 <item>
30 <widget class="QTabWidget" name="tabWidget">
31 <property name="currentIndex">
32 <number>0</number>
33 </property>
34 <widget class="QWidget" name="tabWelcome">
35 <attribute name="title">
36 <string>Tab 1</string>
37 </attribute>
38 <layout class="QHBoxLayout" name="horizontalLayout_5">
39 <property name="spacing">
40 <number>0</number>
41 </property>
42 <property name="margin">
43 <number>0</number>
44 </property>
45 <item>
46 <layout class="QVBoxLayout" name="verticalLayout_5">
47 <property name="spacing">
48 <number>0</number>
49 </property>
50 <item>
51 <widget class="QWidget" name="welcomeTop" native="true">
52 <property name="sizePolicy">
53 <sizepolicy hsizetype="Preferred" vsizetype="Maximum">
54 <horstretch>0</horstretch>
55 <verstretch>0</verstretch>
56 </sizepolicy>
57 </property>
58 <property name="minimumSize">
59 <size>
60 <width>0</width>
61 <height>100</height>
62 </size>
63 </property>
64 <layout class="QVBoxLayout" name="verticalLayout_6">
65 <property name="spacing">
66 <number>0</number>
67 </property>
68 <property name="margin">
69 <number>0</number>
70 </property>
71 <item>
72 <layout class="QHBoxLayout" name="horizontalLayout_4">
73 <property name="spacing">
74 <number>0</number>
75 </property>
76 <item>
77 <widget class="QWidget" name="welcomeTopImage" native="true">
78 <property name="sizePolicy">
79 <sizepolicy hsizetype="Maximum" vsizetype="Preferred">
80 <horstretch>0</horstretch>
81 <verstretch>0</verstretch>
82 </sizepolicy>
83 </property>
84 <property name="minimumSize">
85 <size>
86 <width>120</width>
87 <height>0</height>
88 </size>
89 </property>
90 </widget>
91 </item>
92 <item>
93 <widget class="QWidget" name="welcomeTopText" native="true">
94 <widget class="QLabel" name="welcomeLabel">
95 <property name="geometry">
96 <rect>
97 <x>30</x>
98 <y>20</y>
99 <width>330</width>
100 <height>51</height>
101 </rect>
102 </property>
103 <property name="font">
104 <font>
105 <family>Ubuntu</family>
106 <pointsize>21</pointsize>
107 </font>
108 </property>
109 <property name="text">
110 <string>Ubuntu System Testing</string>
111 </property>
112 </widget>
113 </widget>
114 </item>
115 </layout>
116 </item>
117 </layout>
118 </widget>
119 </item>
120 <item>
121 <widget class="QWidget" name="welcomeBottom" native="true">
122 <property name="sizePolicy">
123 <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
124 <horstretch>0</horstretch>
125 <verstretch>0</verstretch>
126 </sizepolicy>
127 </property>
128 <property name="minimumSize">
129 <size>
130 <width>0</width>
131 <height>0</height>
132 </size>
133 </property>
134 <widget class="QTextEdit" name="welcomeTextBox">
135 <property name="geometry">
136 <rect>
137 <x>30</x>
138 <y>40</y>
139 <width>571</width>
140 <height>181</height>
141 </rect>
142 </property>
143 <property name="frameShape">
144 <enum>QFrame::NoFrame</enum>
145 </property>
146 <property name="frameShadow">
147 <enum>QFrame::Plain</enum>
148 </property>
149 <property name="readOnly">
150 <bool>true</bool>
151 </property>
152 </widget>
153 <widget class="QPushButton" name="friendlyTestsButton">
154 <property name="geometry">
155 <rect>
156 <x>30</x>
157 <y>230</y>
158 <width>571</width>
159 <height>31</height>
160 </rect>
161 </property>
162 <property name="font">
163 <font>
164 <pointsize>9</pointsize>
165 </font>
166 </property>
167 <property name="text">
168 <string>Ok</string>
169 </property>
170 </widget>
171 <widget class="QCheckBox" name="checkBox">
172 <property name="geometry">
173 <rect>
174 <x>330</x>
175 <y>280</y>
176 <width>281</width>
177 <height>20</height>
178 </rect>
179 </property>
180 <property name="font">
181 <font>
182 <family>Ubuntu</family>
183 </font>
184 </property>
185 <property name="text">
186 <string>Don't show me this message in the future</string>
187 </property>
188 </widget>
189 </widget>
190 </item>
191 </layout>
192 </item>
193 </layout>
194 </widget>
195 <widget class="QWidget" name="tabMain">
196 <attribute name="title">
197 <string>Tab 2</string>
198 </attribute>
199 <layout class="QHBoxLayout" name="horizontalLayout_7">
200 <property name="spacing">
201 <number>0</number>
202 </property>
203 <property name="margin">
204 <number>0</number>
205 </property>
206 <item>
207 <layout class="QVBoxLayout" name="verticalLayout_7">
208 <property name="spacing">
209 <number>0</number>
210 </property>
211 <item>
212 <widget class="QWidget" name="mainTop" native="true">
213 <property name="sizePolicy">
214 <sizepolicy hsizetype="Preferred" vsizetype="Maximum">
215 <horstretch>0</horstretch>
216 <verstretch>0</verstretch>
217 </sizepolicy>
218 </property>
219 <property name="minimumSize">
220 <size>
221 <width>0</width>
222 <height>89</height>
223 </size>
224 </property>
225 <property name="styleSheet">
226 <string notr="true">background-color: #C2C7CB;</string>
227 </property>
228 <widget class="QProgressBar" name="progressBar">
229 <property name="geometry">
230 <rect>
231 <x>50</x>
232 <y>40</y>
233 <width>191</width>
234 <height>16</height>
235 </rect>
236 </property>
237 <property name="sizePolicy">
238 <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
239 <horstretch>0</horstretch>
240 <verstretch>0</verstretch>
241 </sizepolicy>
242 </property>
243 <property name="autoFillBackground">
244 <bool>false</bool>
245 </property>
246 <property name="styleSheet">
247 <string notr="true"> QProgressBar {
248 border: 0px solid grey;
249 border-radius: 0px;
250 background: #FFFFFF;
251 }
252
253 QProgressBar::chunk {
254 background-color: #ed7341;
255 width: 20px;
256 }</string>
257 </property>
258 <property name="value">
259 <number>50</number>
260 </property>
261 <property name="invertedAppearance">
262 <bool>false</bool>
263 </property>
264 <property name="format">
265 <string/>
266 </property>
267 </widget>
268 <widget class="QLabel" name="progressLabel">
269 <property name="geometry">
270 <rect>
271 <x>50</x>
272 <y>20</y>
273 <width>241</width>
274 <height>17</height>
275 </rect>
276 </property>
277 <property name="font">
278 <font>
279 <family>Ubuntu</family>
280 <pointsize>9</pointsize>
281 </font>
282 </property>
283 <property name="text">
284 <string>10 tests completed out of 30 (30%)</string>
285 </property>
286 </widget>
287 </widget>
288 </item>
289 <item>
290 <widget class="QTabWidget" name="testsTab">
291 <property name="sizePolicy">
292 <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
293 <horstretch>0</horstretch>
294 <verstretch>0</verstretch>
295 </sizepolicy>
296 </property>
297 <property name="minimumSize">
298 <size>
299 <width>0</width>
300 <height>0</height>
301 </size>
302 </property>
303 <property name="styleSheet">
304 <string notr="true"> QTabWidget::pane#testsTab { /* The tab widget frame */
305 border-top: 10 solid #C2C7CB;
306 position: absolute;
307 top: -1.2em;
308 }
309
310QTabWidget::tab-bar#testsTab {
311 alignment: center;
312 }
313
314 /* Style the tab using the tab sub-control. Note that
315 it reads QTabBar _not_ QTabWidget */
316 QTabBar::tab {
317 background: #FFFFFF;
318 border: 1px solid #000000;
319 border-bottom-color: #000000; /* same as the pane color */
320 min-width: 8ex;
321 padding: 0px;
322 }
323
324 QTabBar::tab:selected {
325 background: #C2C7CB;
326 border-color: #000000;
327 border-bottom-color: #000000; /* same as pane color */
328 }</string>
329 </property>
330 <property name="currentIndex">
331 <number>1</number>
332 </property>
333 <widget class="QWidget" name="welcome">
334 <property name="font">
335 <font>
336 <pointsize>11</pointsize>
337 </font>
338 </property>
339 <attribute name="title">
340 <string> Welcome </string>
341 </attribute>
342 </widget>
343 <widget class="QWidget" name="testSelection">
344 <property name="font">
345 <font>
346 <pointsize>11</pointsize>
347 </font>
348 </property>
349 <attribute name="title">
350 <string> Selection </string>
351 </attribute>
352 <widget class="QLabel" name="label">
353 <property name="geometry">
354 <rect>
355 <x>50</x>
356 <y>20</y>
357 <width>401</width>
358 <height>16</height>
359 </rect>
360 </property>
361 <property name="text">
362 <string>Choose tests to run on your system:</string>
363 </property>
364 </widget>
365 <widget class="Line" name="line">
366 <property name="geometry">
367 <rect>
368 <x>40</x>
369 <y>60</y>
370 <width>571</width>
371 <height>16</height>
372 </rect>
373 </property>
374 <property name="orientation">
375 <enum>Qt::Horizontal</enum>
376 </property>
377 </widget>
378 <widget class="Line" name="line_2">
379 <property name="geometry">
380 <rect>
381 <x>410</x>
382 <y>40</y>
383 <width>20</width>
384 <height>211</height>
385 </rect>
386 </property>
387 <property name="orientation">
388 <enum>Qt::Vertical</enum>
389 </property>
390 </widget>
391 <widget class="QLabel" name="label_2">
392 <property name="geometry">
393 <rect>
394 <x>40</x>
395 <y>48</y>
396 <width>101</width>
397 <height>17</height>
398 </rect>
399 </property>
400 <property name="text">
401 <string>Components</string>
402 </property>
403 </widget>
404 <widget class="QLabel" name="label_3">
405 <property name="geometry">
406 <rect>
407 <x>470</x>
408 <y>46</y>
409 <width>67</width>
410 <height>17</height>
411 </rect>
412 </property>
413 <property name="text">
414 <string>Status</string>
415 </property>
416 </widget>
417 <widget class="QListView" name="listView">
418 <property name="geometry">
419 <rect>
420 <x>430</x>
421 <y>80</y>
422 <width>181</width>
423 <height>171</height>
424 </rect>
425 </property>
426 <property name="frameShape">
427 <enum>QFrame::NoFrame</enum>
428 </property>
429 </widget>
430 <widget class="QTreeView" name="treeView">
431 <property name="geometry">
432 <rect>
433 <x>50</x>
434 <y>80</y>
435 <width>351</width>
436 <height>171</height>
437 </rect>
438 </property>
439 <property name="frameShape">
440 <enum>QFrame::NoFrame</enum>
441 </property>
442 <property name="showDropIndicator" stdset="0">
443 <bool>false</bool>
444 </property>
445 <property name="allColumnsShowFocus">
446 <bool>false</bool>
447 </property>
448 <attribute name="headerVisible">
449 <bool>false</bool>
450 </attribute>
451 </widget>
452 <widget class="QPushButton" name="buttonStartTesting">
453 <property name="enabled">
454 <bool>false</bool>
455 </property>
456 <property name="geometry">
457 <rect>
458 <x>430</x>
459 <y>260</y>
460 <width>181</width>
461 <height>27</height>
462 </rect>
463 </property>
464 <property name="text">
465 <string>Start testing</string>
466 </property>
467 </widget>
468 </widget>
469 <widget class="QWidget" name="testing">
470 <property name="font">
471 <font>
472 <pointsize>11</pointsize>
473 </font>
474 </property>
475 <attribute name="title">
476 <string> Run </string>
477 </attribute>
478 <layout class="QHBoxLayout" name="horizontalLayout_2">
479 <property name="spacing">
480 <number>0</number>
481 </property>
482 <property name="margin">
483 <number>0</number>
484 </property>
485 <item>
486 <layout class="QVBoxLayout" name="verticalLayout">
487 <property name="spacing">
488 <number>0</number>
489 </property>
490 <item>
491 <widget class="QTabWidget" name="radioTestTab">
492 <property name="currentIndex">
493 <number>0</number>
494 </property>
495 <widget class="QWidget" name="tab">
496 <attribute name="title">
497 <string>Tab 1</string>
498 </attribute>
499 <layout class="QVBoxLayout" name="verticalLayout_3">
500 <property name="spacing">
501 <number>0</number>
502 </property>
503 <property name="margin">
504 <number>0</number>
505 </property>
506 <item>
507 <layout class="QVBoxLayout" name="verticalLayout_2">
508 <property name="spacing">
509 <number>0</number>
510 </property>
511 <item>
512 <widget class="QWidget" name="widget_2" native="true">
513 <property name="sizePolicy">
514 <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
515 <horstretch>0</horstretch>
516 <verstretch>0</verstretch>
517 </sizepolicy>
518 </property>
519 <property name="minimumSize">
520 <size>
521 <width>0</width>
522 <height>56</height>
523 </size>
524 </property>
525 <widget class="QLabel" name="testTypeLabel">
526 <property name="geometry">
527 <rect>
528 <x>20</x>
529 <y>10</y>
530 <width>291</width>
531 <height>31</height>
532 </rect>
533 </property>
534 <property name="font">
535 <font>
536 <family>Ubuntu</family>
537 <pointsize>17</pointsize>
538 </font>
539 </property>
540 <property name="text">
541 <string>TextLabel</string>
542 </property>
543 </widget>
544 <widget class="QLabel" name="purposeLabel">
545 <property name="geometry">
546 <rect>
547 <x>30</x>
548 <y>40</y>
549 <width>571</width>
550 <height>16</height>
551 </rect>
552 </property>
553 <property name="font">
554 <font>
555 <family>Ubuntu</family>
556 <pointsize>8</pointsize>
557 <weight>50</weight>
558 <bold>false</bold>
559 <kerning>false</kerning>
560 </font>
561 </property>
562 <property name="text">
563 <string>TextLabel</string>
564 </property>
565 </widget>
566 </widget>
567 </item>
568 <item>
569 <widget class="QWidget" name="widget_3" native="true">
570 <layout class="QHBoxLayout" name="horizontalLayout_6">
571 <property name="spacing">
572 <number>0</number>
573 </property>
574 <property name="margin">
575 <number>0</number>
576 </property>
577 <item>
578 <layout class="QHBoxLayout" name="horizontalLayout_3">
579 <property name="spacing">
580 <number>0</number>
581 </property>
582 <item>
583 <widget class="QWidget" name="widget_5" native="true">
584 <property name="sizePolicy">
585 <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
586 <horstretch>0</horstretch>
587 <verstretch>0</verstretch>
588 </sizepolicy>
589 </property>
590 <layout class="QHBoxLayout" name="horizontalLayout_8">
591 <property name="spacing">
592 <number>0</number>
593 </property>
594 <property name="margin">
595 <number>0</number>
596 </property>
597 <item>
598 <widget class="QScrollArea" name="scrollArea">
599 <property name="sizePolicy">
600 <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
601 <horstretch>0</horstretch>
602 <verstretch>0</verstretch>
603 </sizepolicy>
604 </property>
605 <property name="frameShape">
606 <enum>QFrame::NoFrame</enum>
607 </property>
608 <property name="frameShadow">
609 <enum>QFrame::Plain</enum>
610 </property>
611 <property name="lineWidth">
612 <number>0</number>
613 </property>
614 <property name="verticalScrollBarPolicy">
615 <enum>Qt::ScrollBarAsNeeded</enum>
616 </property>
617 <property name="horizontalScrollBarPolicy">
618 <enum>Qt::ScrollBarAsNeeded</enum>
619 </property>
620 <property name="widgetResizable">
621 <bool>true</bool>
622 </property>
623 <widget class="QWidget" name="scrollAreaWidgetContents">
624 <property name="geometry">
625 <rect>
626 <x>0</x>
627 <y>0</y>
628 <width>474</width>
629 <height>193</height>
630 </rect>
631 </property>
632 <layout class="QVBoxLayout" name="verticalLayout_9">
633 <property name="spacing">
634 <number>0</number>
635 </property>
636 <property name="sizeConstraint">
637 <enum>QLayout::SetDefaultConstraint</enum>
638 </property>
639 <property name="margin">
640 <number>0</number>
641 </property>
642 <item>
643 <widget class="QFrame" name="stepsFrame">
644 <property name="sizePolicy">
645 <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
646 <horstretch>0</horstretch>
647 <verstretch>0</verstretch>
648 </sizepolicy>
649 </property>
650 <property name="minimumSize">
651 <size>
652 <width>0</width>
653 <height>178</height>
654 </size>
655 </property>
656 <property name="sizeIncrement">
657 <size>
658 <width>0</width>
659 <height>0</height>
660 </size>
661 </property>
662 <property name="frameShape">
663 <enum>QFrame::NoFrame</enum>
664 </property>
665 <property name="frameShadow">
666 <enum>QFrame::Plain</enum>
667 </property>
668 <property name="lineWidth">
669 <number>0</number>
670 </property>
671 </widget>
672 </item>
673 </layout>
674 </widget>
675 </widget>
676 </item>
677 </layout>
678 </widget>
679 </item>
680 <item>
681 <widget class="QWidget" name="widget_4" native="true">
682 <property name="sizePolicy">
683 <sizepolicy hsizetype="Fixed" vsizetype="Preferred">
684 <horstretch>0</horstretch>
685 <verstretch>0</verstretch>
686 </sizepolicy>
687 </property>
688 <property name="minimumSize">
689 <size>
690 <width>150</width>
691 <height>0</height>
692 </size>
693 </property>
694 <widget class="QPushButton" name="testTestButton">
695 <property name="geometry">
696 <rect>
697 <x>30</x>
698 <y>70</y>
699 <width>80</width>
700 <height>25</height>
701 </rect>
702 </property>
703 <property name="text">
704 <string>Test</string>
705 </property>
706 </widget>
707 <widget class="QPushButton" name="yesTestButton">
708 <property name="geometry">
709 <rect>
710 <x>30</x>
711 <y>110</y>
712 <width>80</width>
713 <height>25</height>
714 </rect>
715 </property>
716 <property name="text">
717 <string>Yes</string>
718 </property>
719 </widget>
720 <widget class="QPushButton" name="noTestButton">
721 <property name="geometry">
722 <rect>
723 <x>30</x>
724 <y>150</y>
725 <width>80</width>
726 <height>25</height>
727 </rect>
728 </property>
729 <property name="text">
730 <string>No</string>
731 </property>
732 </widget>
733 </widget>
734 </item>
735 </layout>
736 </item>
737 </layout>
738 </widget>
739 </item>
740 </layout>
741 </item>
742 </layout>
743 </widget>
744 <widget class="QWidget" name="tab_2">
745 <attribute name="title">
746 <string>Tab 2</string>
747 </attribute>
748 </widget>
749 </widget>
750 </item>
751 <item>
752 <widget class="QWidget" name="nextPrevButtons" native="true">
753 <property name="sizePolicy">
754 <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
755 <horstretch>0</horstretch>
756 <verstretch>0</verstretch>
757 </sizepolicy>
758 </property>
759 <property name="minimumSize">
760 <size>
761 <width>0</width>
762 <height>46</height>
763 </size>
764 </property>
765 <widget class="QPushButton" name="nextTestButton">
766 <property name="geometry">
767 <rect>
768 <x>520</x>
769 <y>10</y>
770 <width>80</width>
771 <height>25</height>
772 </rect>
773 </property>
774 <property name="text">
775 <string>Next</string>
776 </property>
777 </widget>
778 <widget class="QPushButton" name="previousTestButton">
779 <property name="geometry">
780 <rect>
781 <x>420</x>
782 <y>10</y>
783 <width>80</width>
784 <height>25</height>
785 </rect>
786 </property>
787 <property name="text">
788 <string>Previous</string>
789 </property>
790 </widget>
791 </widget>
792 </item>
793 </layout>
794 </item>
795 </layout>
796 </widget>
797 <widget class="QWidget" name="submitResults">
798 <property name="font">
799 <font>
800 <pointsize>11</pointsize>
801 </font>
802 </property>
803 <attribute name="title">
804 <string> Results </string>
805 </attribute>
806 <widget class="QLabel" name="label_4">
807 <property name="geometry">
808 <rect>
809 <x>30</x>
810 <y>20</y>
811 <width>571</width>
812 <height>41</height>
813 </rect>
814 </property>
815 <property name="font">
816 <font>
817 <pointsize>10</pointsize>
818 <weight>50</weight>
819 <bold>false</bold>
820 <kerning>true</kerning>
821 </font>
822 </property>
823 <property name="text">
824 <string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
825&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
826p, li { white-space: pre-wrap; }
827&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Ubuntu'; font-size:10pt; font-weight:400; font-style:normal;&quot;&gt;
828&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; color:#000000;&quot;&gt;Please enter the e-mail address associated with your Launchpad account &#40;if applicable&#41;&lt;/span&gt;&lt;/p&gt;
829&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; color:#000000;&quot;&gt;and click the Submit Results button to submit these test results to Ubuntu Friendly.&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
830 </property>
831 <property name="scaledContents">
832 <bool>false</bool>
833 </property>
834 <property name="alignment">
835 <set>Qt::AlignCenter</set>
836 </property>
837 <property name="wordWrap">
838 <bool>false</bool>
839 </property>
840 </widget>
841 <widget class="QPushButton" name="buttonViewResults">
842 <property name="geometry">
843 <rect>
844 <x>90</x>
845 <y>80</y>
846 <width>461</width>
847 <height>27</height>
848 </rect>
849 </property>
850 <property name="text">
851 <string>View results</string>
852 </property>
853 </widget>
854 <widget class="QPushButton" name="buttonSubmitResults">
855 <property name="geometry">
856 <rect>
857 <x>90</x>
858 <y>120</y>
859 <width>461</width>
860 <height>27</height>
861 </rect>
862 </property>
863 <property name="text">
864 <string>Submit results</string>
865 </property>
866 </widget>
867 <widget class="QGroupBox" name="groupBox">
868 <property name="geometry">
869 <rect>
870 <x>90</x>
871 <y>180</y>
872 <width>461</width>
873 <height>61</height>
874 </rect>
875 </property>
876 <property name="font">
877 <font>
878 <pointsize>10</pointsize>
879 </font>
880 </property>
881 <property name="title">
882 <string>Personal details</string>
883 </property>
884 <property name="flat">
885 <bool>false</bool>
886 </property>
887 <property name="checkable">
888 <bool>false</bool>
889 </property>
890 <widget class="QLineEdit" name="lineEditEmailAddress">
891 <property name="geometry">
892 <rect>
893 <x>110</x>
894 <y>24</y>
895 <width>201</width>
896 <height>27</height>
897 </rect>
898 </property>
899 <property name="text">
900 <string/>
901 </property>
902 </widget>
903 <widget class="QLabel" name="label_5">
904 <property name="geometry">
905 <rect>
906 <x>10</x>
907 <y>30</y>
908 <width>101</width>
909 <height>17</height>
910 </rect>
911 </property>
912 <property name="font">
913 <font>
914 <pointsize>10</pointsize>
915 </font>
916 </property>
917 <property name="text">
918 <string>Email:</string>
919 </property>
920 </widget>
921 </widget>
922 </widget>
923 </widget>
924 </item>
925 </layout>
926 </item>
927 </layout>
928 </widget>
929 </widget>
930 </item>
931 </layout>
932 </widget>
933 <resources/>
934 <connections/>
935</ui>
9360
=== modified file 'qt/frontend/qtfront.cpp'
--- qt/frontend/qtfront.cpp 2012-08-30 19:51:51 +0000
+++ qt/frontend/qtfront.cpp 2012-10-05 14:06:24 +0000
@@ -56,7 +56,7 @@
56 ui->radioTestTab->setVisible(false);56 ui->radioTestTab->setVisible(false);
57 ui->nextPrevButtons->setVisible(false);57 ui->nextPrevButtons->setVisible(false);
58 ui->treeView->verticalScrollBar()->setTracking(true);58 ui->treeView->verticalScrollBar()->setTracking(true);
59 connect(ui->friendlyTestsButton, SIGNAL(clicked()), this, SLOT(onFullTestsClicked()));59 connect(ui->continueButton, SIGNAL(clicked()), this, SLOT(onFullTestsClicked()));
60 connect(ui->deselectAllButton, SIGNAL(clicked()), this, SLOT(onDeselectAllClicked()));60 connect(ui->deselectAllButton, SIGNAL(clicked()), this, SLOT(onDeselectAllClicked()));
61 connect(ui->selectAllButton, SIGNAL(clicked()), this, SLOT(onSelectAllClicked()));61 connect(ui->selectAllButton, SIGNAL(clicked()), this, SLOT(onSelectAllClicked()));
62 connect(ui->buttonStartTesting, SIGNAL(clicked()), this, SLOT(onStartTestsClicked()));62 connect(ui->buttonStartTesting, SIGNAL(clicked()), this, SLOT(onStartTestsClicked()));
@@ -70,6 +70,7 @@
70 connect(ui->treeView, SIGNAL(expanded(QModelIndex)), this, SLOT(onJobItemChanged(QModelIndex)));70 connect(ui->treeView, SIGNAL(expanded(QModelIndex)), this, SLOT(onJobItemChanged(QModelIndex)));
71 connect(ui->treeView, SIGNAL(clicked(QModelIndex)), this, SLOT(onTestSelectionChanged()));71 connect(ui->treeView, SIGNAL(clicked(QModelIndex)), this, SLOT(onTestSelectionChanged()));
72 connect(this, SIGNAL(testSelectionChanged()), this, SLOT(onTestSelectionChanged()));72 connect(this, SIGNAL(testSelectionChanged()), this, SLOT(onTestSelectionChanged()));
73 ui->continueButton->setFocus();
73 ui->stepsFrame->setFixedHeight(0);74 ui->stepsFrame->setFixedHeight(0);
74 ui->buttonSubmitResults->setEnabled(false);75 ui->buttonSubmitResults->setEnabled(false);
75 ui->submissionDataLineEdit->setEnabled(false);76 ui->submissionDataLineEdit->setEnabled(false);
7677
=== modified file 'qt/frontend/qtfront.ui'
--- qt/frontend/qtfront.ui 2012-09-26 16:10:55 +0000
+++ qt/frontend/qtfront.ui 2012-10-05 14:06:24 +0000
@@ -56,7 +56,7 @@
56 <attribute name="title">56 <attribute name="title">
57 <string>Tab 1</string>57 <string>Tab 1</string>
58 </attribute>58 </attribute>
59 <layout class="QHBoxLayout" name="horizontalLayout_2">59 <layout class="QHBoxLayout" name="horizontalLayout_Welcome">
60 <property name="spacing">60 <property name="spacing">
61 <number>0</number>61 <number>0</number>
62 </property>62 </property>
@@ -64,7 +64,7 @@
64 <number>0</number>64 <number>0</number>
65 </property>65 </property>
66 <item>66 <item>
67 <layout class="QVBoxLayout" name="verticalLayout_2">67 <layout class="QVBoxLayout" name="verticalLayout_Welcome">
68 <property name="spacing">68 <property name="spacing">
69 <number>0</number>69 <number>0</number>
70 </property>70 </property>
@@ -187,7 +187,7 @@
187 <bool>true</bool>187 <bool>true</bool>
188 </property>188 </property>
189 </widget>189 </widget>
190 <widget class="QPushButton" name="friendlyTestsButton">190 <widget class="QPushButton" name="continueButton">
191 <property name="geometry">191 <property name="geometry">
192 <rect>192 <rect>
193 <x>20</x>193 <x>20</x>
@@ -204,6 +204,9 @@
204 <property name="text">204 <property name="text">
205 <string>Continue</string>205 <string>Continue</string>
206 </property>206 </property>
207 <property name="default">
208 <bool>true</bool>
209 </property>
207 </widget>210 </widget>
208 <widget class="Line" name="line_3">211 <widget class="Line" name="line_3">
209 <property name="geometry">212 <property name="geometry">
@@ -745,7 +748,7 @@
745 </property>748 </property>
746 </widget>749 </widget>
747 </widget>750 </widget>
748 <widget class="QWidget" name="layoutWidget">751 <widget class="QWidget" name="mainTestLayoutWidget">
749 <property name="geometry">752 <property name="geometry">
750 <rect>753 <rect>
751 <x>10</x>754 <x>10</x>
@@ -774,7 +777,7 @@
774 </item>777 </item>
775 </layout>778 </layout>
776 </widget>779 </widget>
777 <widget class="QWidget" name="layoutWidget">780 <widget class="QWidget" name="testLayoutWidget">
778 <property name="geometry">781 <property name="geometry">
779 <rect>782 <rect>
780 <x>9</x>783 <x>9</x>
781784
=== added file 'scripts/display_resource'
--- scripts/display_resource 1970-01-01 00:00:00 +0000
+++ scripts/display_resource 2012-10-05 14:06:24 +0000
@@ -0,0 +1,84 @@
1#!/usr/bin/python3
2
3import re
4import sys
5import subprocess
6
7CONNECTOR_RE = re.compile(
8 r"\n(?P<Name>[\w\-]+)"
9 r"(?:\s+.*?"
10 r"SignalFormat:\s+(?P<SignalFormat>[\w\-_]+)\s+.*?"
11 r"ConnectorType:\s+(?P<ConnectorType>[\w\-_]+))?", re.S)
12SVIDEO_RE = re.compile(r"s\-?video|din|cv", re.I)
13DP_RE = re.compile(r"dp|displayport", re.I)
14
15
16def main():
17 try:
18 xrandr_output = subprocess.check_output(
19 ["xrandr", "-q", "--verbose"], universal_newlines=True)
20 except subprocess.CalledProcessError:
21 return 0
22
23 xrandr_output = "\n" + ''.join(xrandr_output.splitlines(True)[1:])
24 supported_connections = dict()
25
26 for m in CONNECTOR_RE.finditer(xrandr_output):
27 name = m.group('Name').lower()
28 signal_format = connector_type = '' # RandR 1.3 only
29 if m.group('SignalFormat'):
30 signal_format = m.group('SignalFormat').lower()
31 if m.group('ConnectorType'):
32 connector_type = m.group('ConnectorType').lower()
33
34 if name.startswith('vga'):
35 supported_connections['vga'] = 'supported'
36
37 elif name.startswith('dvi'):
38 supported_connections['dvi'] = 'supported'
39
40 elif DP_RE.match(name):
41 # HDMI uses TMDS links, DisplayPort (DP) uses LVDS pairs (lanes)
42 # to transmit micro data packets.
43 # Reported by NVIDIA proprietary drivers (version >= 302.17)
44 if signal_format == 'tmds':
45 supported_connections['hdmi'] = 'supported'
46 else:
47 supported_connections['dp'] = 'supported'
48
49 elif name.startswith('hdmi'):
50 supported_connections['hdmi'] = 'supported'
51
52 elif SVIDEO_RE.match(name):
53 supported_connections['svideo'] = 'supported'
54
55 elif name.startswith('rca'):
56 supported_connections['rca'] = 'supported'
57
58 elif name.startswith('tv'):
59 if SVIDEO_RE.match(signal_format):
60 supported_connections['svideo'] = 'supported'
61 else:
62 supported_connections['tv'] = 'supported'
63
64 # ATI/AMD proprietary FGLRX graphics driver codenames:
65 elif name.startswith('crt') or name.startswith('dfp'):
66 if connector_type.startswith('dvi'):
67 supported_connections['dvi'] = 'supported'
68 elif connector_type.startswith('vga'):
69 supported_connections['vga'] = 'supported'
70 elif DP_RE.match(connector_type) and DP_RE.match(signal_format):
71 supported_connections['dp'] = 'supported'
72 else:
73 # HDMI ports may appear as unknown
74 # (for both signal format and connector type).
75 supported_connections['hdmi'] = 'supported'
76
77 for connector in supported_connections.keys():
78 print("%s: supported" % connector)
79
80 return 0
81
82
83if __name__ == "__main__":
84 sys.exit(main())
085
=== modified file 'scripts/graphics_driver'
--- scripts/graphics_driver 2012-09-26 16:10:55 +0000
+++ scripts/graphics_driver 2012-10-05 14:06:24 +0000
@@ -38,19 +38,20 @@
38import sys38import sys
39import os39import os
4040
41from subprocess import Popen, PIPE41from subprocess import Popen, PIPE, check_output, CalledProcessError
42
4243
43class XorgLog(object):44class XorgLog(object):
4445
45 def __init__(self, logfile=None):46 def __init__(self, logfile=None):
46 self.modules = [ ]47 self.modules = []
47 self.errors = [ ]48 self.errors = []
48 self.warnings = [ ]49 self.warnings = []
49 self.info = [ ]50 self.info = []
50 self.notimpl = [ ]51 self.notimpl = []
51 self.notices = [ ]52 self.notices = []
52 self.cards = [ ]53 self.cards = []
53 self.displays = { }54 self.displays = {}
54 self.xserver_version = None55 self.xserver_version = None
55 self.boot_time = None56 self.boot_time = None
56 self.boot_logfile = None57 self.boot_logfile = None
@@ -78,7 +79,8 @@
78 self.modules.append(module)79 self.modules.append(module)
79 gathering_module = False80 gathering_module = False
80 module = None81 module = None
81 m = re.search('\(II\) Loading.*modules\/drivers\/(.+)_drv\.so', line)82 m = re.search(
83 '\(II\) Loading.*modules\/drivers\/(.+)_drv\.so', line)
82 if m:84 if m:
83 found_ddx = True85 found_ddx = True
84 m = re.search(r'\(II\) Module (\w+):', line)86 m = re.search(r'\(II\) Module (\w+):', line)
@@ -96,26 +98,38 @@
96 gathering_module = True98 gathering_module = True
9799
98 if gathering_module:100 if gathering_module:
99 m = re.search(r'vendor="(.*:?)"', line)101 m = re.search(r'vendor="(.*:?)"', line)
100 if m:102 if m:
101 module['vendor'] = m.group(1)103 module['vendor'] = m.group(1)
102104
103 m = re.search(r'module version = (.*)', line)105 m = re.search(r'module version = (.*)', line)
104 if m:106 if m:
105 module['version'] = m.group(1)107 module['version'] = m.group(1)
106108
107 m = re.search(r'class: (.*)', line)109 if module['name'] == 'nvidia':
108 if m:110 try:
109 module['class'] = m.group(1)111 version = check_output(
110112 "nvidia-settings -v",
111 m = re.search(r'ABI class:\s+(.*:?), version\s+(.*:?)', line)113 shell=True,
112 if m:114 universal_newlines=True)
113 if m.group(1)[:5] == "X.Org":115 m = re.search(r'.*version\s+([0-9\.]+).*', version)
114 module['abi_name'] = m.group(1)[6:]116 if m:
115 else:117 module['version'] = m.group(1)
116 module['abi_name'] = m.group(1)118 except CalledProcessError:
117 module['abi_version'] = m.group(2)119 pass
118 continue120
121 m = re.search(r'class: (.*)', line)
122 if m:
123 module['class'] = m.group(1)
124
125 m = re.search(r'ABI class:\s+(.*:?), version\s+(.*:?)', line)
126 if m:
127 if m.group(1)[:5] == "X.Org":
128 module['abi_name'] = m.group(1)[6:]
129 else:
130 module['abi_name'] = m.group(1)
131 module['abi_version'] = m.group(2)
132 continue
119133
120 # General details134 # General details
121 m = re.search(r'Current Operating System: (.*)$', line)135 m = re.search(r'Current Operating System: (.*)$', line)
@@ -163,19 +177,29 @@
163 display = {'Output': display_name}177 display = {'Output': display_name}
164 continue178 continue
165179
166 m = re.search(r'\(II\) (.*)\(\d+\): Assigned Display Device: (.*)$', line)180 m = re.search(
167 if m:181 r'\(II\) (.*)\(\d+\): Assigned Display Device: (.*)$', line)
168 self.displays[display_name] = display182 if m:
169 self.video_driver = m.group(1)183 self.displays[display_name] = display
170 display_name = m.group(2)184 self.video_driver = m.group(1)
171 display = {'Output': display_name}185 display_name = m.group(2)
172 continue186 display = {'Output': display_name}
173187 continue
174 m = re.search(r'Manufacturer: (.*) *Model: (.*) *Serial#: (.*)', line)188
189 m = re.search(r'\(II\) (.*)\(\d+\): Setting mode "(.*?):', line)
190 if m:
191 self.displays[display_name] = display
192 self.video_driver = m.group(1)
193 display_name = m.group(2)
194 display = {'Output': display_name}
195 continue
196
197 m = re.search(
198 r'Manufacturer: (.*) *Model: (.*) *Serial#: (.*)', line)
175 if m:199 if m:
176 display['display manufacturer'] = m.group(1)200 display['display manufacturer'] = m.group(1)
177 display['display model'] = m.group(2)201 display['display model'] = m.group(2)
178 display['display serial no.'] = m.group(3)202 display['display serial no.'] = m.group(3)
179203
180 m = re.search(r'EDID Version: (.*)', line)204 m = re.search(r'EDID Version: (.*)', line)
181 if m:205 if m:
@@ -186,15 +210,18 @@
186 display['vendor'] = m.group(1)210 display['vendor'] = m.group(1)
187 display['product id'] = m.group(2)211 display['product id'] = m.group(2)
188212
189 m = re.search(r'Max Image Size \[(.*)\]: *horiz.: (.*) *vert.: (.*)', line)213 m = re.search(
214 r'Max Image Size \[(.*)\]: *horiz.: (.*) *vert.: (.*)', line)
190 if m:215 if m:
191 display['size max horizontal'] = "%s %s" %(m.group(2), m.group(1))216 display['size max horizontal'] = "%s %s" % (
192 display['size max vertical'] = "%s %s" %(m.group(3), m.group(1))217 m.group(2), m.group(1))
218 display['size max vertical'] = "%s %s" % (
219 m.group(3), m.group(1))
193220
194 m = re.search(r'Image Size: *(.*) x (.*) (.*)', line)221 m = re.search(r'Image Size: *(.*) x (.*) (.*)', line)
195 if m:222 if m:
196 display['size horizontal'] = "%s %s" %(m.group(1), m.group(3))223 display['size horizontal'] = "%s %s" % (m.group(1), m.group(3))
197 display['size vertical'] = "%s %s" %(m.group(2), m.group(3))224 display['size vertical'] = "%s %s" % (m.group(2), m.group(3))
198225
199 m = re.search(r'(.*) is preferred mode', line)226 m = re.search(r'(.*) is preferred mode', line)
200 if m:227 if m:
@@ -202,7 +229,7 @@
202229
203 m = re.search(r'Modeline \"(\d+)x(\d+)\"x([0-9\.]+) *(.*)$', line)230 m = re.search(r'Modeline \"(\d+)x(\d+)\"x([0-9\.]+) *(.*)$', line)
204 if m:231 if m:
205 key = "mode %sx%s@%s" %(m.group(1), m.group(2), m.group(3))232 key = "mode %sx%s@%s" % (m.group(1), m.group(2), m.group(3))
206 display[key] = m.group(4)233 display[key] = m.group(4)
207 continue234 continue
208235
@@ -244,9 +271,10 @@
244 ])271 ])
245 return [err for err in self.warnings if err not in excludes]272 return [err for err in self.warnings if err not in excludes]
246273
274
247def get_driver_info(xlog):275def get_driver_info(xlog):
248 '''Return the running driver and version'''276 '''Return the running driver and version'''
249 print('-'*13,'VIDEO DRIVER INFORMATION','-'*13)277 print('-' * 13, 'VIDEO DRIVER INFORMATION', '-' * 13)
250 if xlog.video_driver:278 if xlog.video_driver:
251 for module in xlog.modules:279 for module in xlog.modules:
252 if module['name'] == xlog.video_driver.lower():280 if module['name'] == xlog.video_driver.lower():
@@ -259,9 +287,11 @@
259 file=sys.stderr)287 file=sys.stderr)
260 return 1288 return 1
261289
290
262def is_laptop():291def is_laptop():
263 return os.path.isdir('/proc/acpi/button/lid')292 return os.path.isdir('/proc/acpi/button/lid')
264293
294
265def hybrid_graphics_check(xlog):295def hybrid_graphics_check(xlog):
266 '''Check for Hybrid Graphics'''296 '''Check for Hybrid Graphics'''
267 card_id1 = re.compile('.*0300: *(.+):(.+) \(.+\)')297 card_id1 = re.compile('.*0300: *(.+):(.+) \(.+\)')
@@ -289,14 +319,14 @@
289 id = id1 + ':' + id2319 id = id1 + ':' + id2
290 cards.append(id)320 cards.append(id)
291321
292 print('-'*13,'HYBRID GRAPHICS CHECK','-'*16)322 print('-' * 13, 'HYBRID GRAPHICS CHECK', '-' * 16)
293 for card in cards:323 for card in cards:
294 formatted_name = cards_dict.get(card.split(':')[0], 'Unknown')324 formatted_name = cards_dict.get(card.split(':')[0], 'Unknown')
295 formatted_cards.append(formatted_name)325 formatted_cards.append(formatted_name)
296 print('Graphics Chipset: %s (%s)' % (formatted_name, card))326 print('Graphics Chipset: %s (%s)' % (formatted_name, card))
297327
298 for module in xlog.modules:328 for module in xlog.modules:
299 if module['ddx'] == True and module['name'] not in drivers:329 if module['ddx'] and module['name'] not in drivers:
300 drivers.append(module['name'])330 drivers.append(module['name'])
301 print('Loaded DDX Drivers: %s' %331 print('Loaded DDX Drivers: %s' %
302 ', '.join(drivers))332 ', '.join(drivers))
@@ -310,6 +340,7 @@
310340
311 return 0341 return 0
312342
343
313def main():344def main():
314 xlog = XorgLog("/var/log/Xorg.0.log")345 xlog = XorgLog("/var/log/Xorg.0.log")
315 results = []346 results = []
316347
=== modified file 'scripts/network_info'
--- scripts/network_info 2012-06-22 17:04:14 +0000
+++ scripts/network_info 2012-10-05 14:06:24 +0000
@@ -19,7 +19,13 @@
19def get_connected(interface):19def get_connected(interface):
20 STATUS = ('No', 'Yes')20 STATUS = ('No', 'Yes')
21 carrier_file = os.path.join(SYS_PATH, interface, 'carrier')21 carrier_file = os.path.join(SYS_PATH, interface, 'carrier')
22 carrier = int(_read_file(carrier_file))22
23 carrier = 0
24 try:
25 carrier = int(_read_file(carrier_file))
26 except IOError:
27 pass
28
23 return STATUS[carrier]29 return STATUS[carrier]
2430
2531
@@ -34,7 +40,14 @@
3440
35def get_mac_address(interface):41def get_mac_address(interface):
36 address_file = os.path.join(SYS_PATH, interface, 'address')42 address_file = os.path.join(SYS_PATH, interface, 'address')
37 return _read_file(address_file)43
44 address = ''
45 try:
46 address = _read_file(address_file)
47 except IOError:
48 pass
49
50 return address
3851
3952
40def main(args):53def main(args):
4154
=== removed file 'scripts/network_wireless_test'
--- scripts/network_wireless_test 2011-07-01 11:37:27 +0000
+++ scripts/network_wireless_test 1970-01-01 00:00:00 +0000
@@ -1,25 +0,0 @@
1#! /bin/sh
2
3#assume that the test fail at the beginning
4found=0
5
6iw_inter=`iwconfig 2>/dev/null | grep "^[^ ]" | awk '{print $1}'`
7if [ -z "$iw_inter" ]; then
8 echo "No wireless device found"
9 exit 0
10fi
11for dev in $iw_inter ; do
12 iw_net=`iwlist $dev scan 2>/dev/null | grep "ESSID:"`
13 if [ ! -z "$iw_net" ] ; then
14 echo "Wireless network found on "$dev
15 cat << EOF
16$iw_net
17EOF
18 found=`expr $found + 1`
19 else
20 echo "No wireless network found on "$dev
21 fi
22done
23if [ $found -eq 0 ]; then
24 exit 1
25fi
260
=== modified file 'scripts/optical_write_test'
--- scripts/optical_write_test 2012-08-20 18:13:17 +0000
+++ scripts/optical_write_test 2012-10-05 14:06:24 +0000
@@ -68,14 +68,14 @@
68 while true; do68 while true; do
69 sleep $INTERVAL69 sleep $INTERVAL
70 SLEEP_COUNT=`expr $SLEEP_COUNT + $INTERVAL`70 SLEEP_COUNT=`expr $SLEEP_COUNT + $INTERVAL`
71 71
72 mount $OPTICAL_DRIVE 2>&1 |egrep -q "already mounted"72 mount $OPTICAL_DRIVE 2>&1 |egrep -q "already mounted"
73 rt=$?73 rt=$?
74 if [ $rt -eq 0 ]; then74 if [ $rt -eq 0 ]; then
75 echo "Drive appears to be mounted now"75 echo "Drive appears to be mounted now"
76 break76 break
77 fi77 fi
78 78
79 # If they exceed the timeout limit, make a best effort to load the tray79 # If they exceed the timeout limit, make a best effort to load the tray
80 # in the next steps80 # in the next steps
81 if [ $SLEEP_COUNT -ge $TIMEOUT ]; then81 if [ $SLEEP_COUNT -ge $TIMEOUT ]; then
@@ -84,7 +84,6 @@
84 fi84 fi
85 done85 done
8686
87
88 echo "Deleting original data files ..."87 echo "Deleting original data files ..."
89 rm -rf $SAMPLE_FILE88 rm -rf $SAMPLE_FILE
90 if [ ! -z "$(mount | grep $OPTICAL_DRIVE)" ]; then89 if [ ! -z "$(mount | grep $OPTICAL_DRIVE)" ]; then
@@ -131,7 +130,7 @@
131 OPTICAL_DRIVE=$(readlink -f $1)130 OPTICAL_DRIVE=$(readlink -f $1)
132else131else
133 OPTICAL_DRIVE='/dev/sr0'132 OPTICAL_DRIVE='/dev/sr0'
134fi 133fi
135134
136create_working_dirs || failed "Failed to create working directories"135create_working_dirs || failed "Failed to create working directories"
137get_sample_data || failed "Failed to copy sample data"136get_sample_data || failed "Failed to copy sample data"
138137
=== modified file 'setup.py'
--- setup.py 2012-07-17 16:27:55 +0000
+++ setup.py 2012-10-05 14:06:24 +0000
@@ -212,7 +212,7 @@
212This project provides an extensible interface for system testing.212This project provides an extensible interface for system testing.
213""",213""",
214 data_files = [214 data_files = [
215 ("lib/checkbox/qt/", ["qt/checkbox-qt.ui", "qt/*.png", "qt/frontend/checkbox-qt-service"]),215 ("lib/checkbox/qt/", ["qt/frontend/checkbox-qt-service"]),
216 ("share/checkbox/", ["backend", "run"]),216 ("share/checkbox/", ["backend", "run"]),
217 ("share/checkbox/data/audio/", ["data/audio/*"]), 217 ("share/checkbox/data/audio/", ["data/audio/*"]),
218 ("share/checkbox/data/documents/", ["data/documents/*"]), 218 ("share/checkbox/data/documents/", ["data/documents/*"]),

Subscribers

People subscribed via source and target branches