VirtualBox

source: vbox/trunk/src/VBox/ValidationKit/docs/VBoxValidationKitReadMe.html@ 52776

最後變更 在這個檔案從52776是 52776,由 vboxsync 提交於 10 年 前

fix OSE

  • 屬性 svn:eol-style 設為 native
  • 屬性 svn:keywords 設為 Author Date Id Revision
檔案大小: 12.4 KB
 
1<?xml version="1.0" encoding="utf-8" ?>
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4<head>
5<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
6<meta name="generator" content="Docutils 0.10: http://docutils.sourceforge.net/" />
7<title>The VirtualBox Validation Kit</title>
8<style type="text/css">
9
10/*
11:Author: David Goodger ([email protected])
12:Id: $Id: VBoxValidationKitReadMe.html 52776 2014-09-17 14:51:43Z vboxsync $
13:Copyright: This stylesheet has been placed in the public domain.
14
15Default cascading style sheet for the HTML output of Docutils.
16
17See http://docutils.sf.net/docs/howto/html-stylesheets.html for how to
18customize this style sheet.
19*/
20
21/* used to remove borders from tables and images */
22.borderless, table.borderless td, table.borderless th {
23 border: 0 }
24
25table.borderless td, table.borderless th {
26 /* Override padding for "table.docutils td" with "! important".
27 The right padding separates the table cells. */
28 padding: 0 0.5em 0 0 ! important }
29
30.first {
31 /* Override more specific margin styles with "! important". */
32 margin-top: 0 ! important }
33
34.last, .with-subtitle {
35 margin-bottom: 0 ! important }
36
37.hidden {
38 display: none }
39
40a.toc-backref {
41 text-decoration: none ;
42 color: black }
43
44blockquote.epigraph {
45 margin: 2em 5em ; }
46
47dl.docutils dd {
48 margin-bottom: 0.5em }
49
50object[type="image/svg+xml"], object[type="application/x-shockwave-flash"] {
51 overflow: hidden;
52}
53
54/* Uncomment (and remove this text!) to get bold-faced definition list terms
55dl.docutils dt {
56 font-weight: bold }
57*/
58
59div.abstract {
60 margin: 2em 5em }
61
62div.abstract p.topic-title {
63 font-weight: bold ;
64 text-align: center }
65
66div.admonition, div.attention, div.caution, div.danger, div.error,
67div.hint, div.important, div.note, div.tip, div.warning {
68 margin: 2em ;
69 border: medium outset ;
70 padding: 1em }
71
72div.admonition p.admonition-title, div.hint p.admonition-title,
73div.important p.admonition-title, div.note p.admonition-title,
74div.tip p.admonition-title {
75 font-weight: bold ;
76 font-family: sans-serif }
77
78div.attention p.admonition-title, div.caution p.admonition-title,
79div.danger p.admonition-title, div.error p.admonition-title,
80div.warning p.admonition-title, .code .error {
81 color: red ;
82 font-weight: bold ;
83 font-family: sans-serif }
84
85/* Uncomment (and remove this text!) to get reduced vertical space in
86 compound paragraphs.
87div.compound .compound-first, div.compound .compound-middle {
88 margin-bottom: 0.5em }
89
90div.compound .compound-last, div.compound .compound-middle {
91 margin-top: 0.5em }
92*/
93
94div.dedication {
95 margin: 2em 5em ;
96 text-align: center ;
97 font-style: italic }
98
99div.dedication p.topic-title {
100 font-weight: bold ;
101 font-style: normal }
102
103div.figure {
104 margin-left: 2em ;
105 margin-right: 2em }
106
107div.footer, div.header {
108 clear: both;
109 font-size: smaller }
110
111div.line-block {
112 display: block ;
113 margin-top: 1em ;
114 margin-bottom: 1em }
115
116div.line-block div.line-block {
117 margin-top: 0 ;
118 margin-bottom: 0 ;
119 margin-left: 1.5em }
120
121div.sidebar {
122 margin: 0 0 0.5em 1em ;
123 border: medium outset ;
124 padding: 1em ;
125 background-color: #ffffee ;
126 width: 40% ;
127 float: right ;
128 clear: right }
129
130div.sidebar p.rubric {
131 font-family: sans-serif ;
132 font-size: medium }
133
134div.system-messages {
135 margin: 5em }
136
137div.system-messages h1 {
138 color: red }
139
140div.system-message {
141 border: medium outset ;
142 padding: 1em }
143
144div.system-message p.system-message-title {
145 color: red ;
146 font-weight: bold }
147
148div.topic {
149 margin: 2em }
150
151h1.section-subtitle, h2.section-subtitle, h3.section-subtitle,
152h4.section-subtitle, h5.section-subtitle, h6.section-subtitle {
153 margin-top: 0.4em }
154
155h1.title {
156 text-align: center }
157
158h2.subtitle {
159 text-align: center }
160
161hr.docutils {
162 width: 75% }
163
164img.align-left, .figure.align-left, object.align-left {
165 clear: left ;
166 float: left ;
167 margin-right: 1em }
168
169img.align-right, .figure.align-right, object.align-right {
170 clear: right ;
171 float: right ;
172 margin-left: 1em }
173
174img.align-center, .figure.align-center, object.align-center {
175 display: block;
176 margin-left: auto;
177 margin-right: auto;
178}
179
180.align-left {
181 text-align: left }
182
183.align-center {
184 clear: both ;
185 text-align: center }
186
187.align-right {
188 text-align: right }
189
190/* reset inner alignment in figures */
191div.align-right {
192 text-align: inherit }
193
194/* div.align-center * { */
195/* text-align: left } */
196
197ol.simple, ul.simple {
198 margin-bottom: 1em }
199
200ol.arabic {
201 list-style: decimal }
202
203ol.loweralpha {
204 list-style: lower-alpha }
205
206ol.upperalpha {
207 list-style: upper-alpha }
208
209ol.lowerroman {
210 list-style: lower-roman }
211
212ol.upperroman {
213 list-style: upper-roman }
214
215p.attribution {
216 text-align: right ;
217 margin-left: 50% }
218
219p.caption {
220 font-style: italic }
221
222p.credits {
223 font-style: italic ;
224 font-size: smaller }
225
226p.label {
227 white-space: nowrap }
228
229p.rubric {
230 font-weight: bold ;
231 font-size: larger ;
232 color: maroon ;
233 text-align: center }
234
235p.sidebar-title {
236 font-family: sans-serif ;
237 font-weight: bold ;
238 font-size: larger }
239
240p.sidebar-subtitle {
241 font-family: sans-serif ;
242 font-weight: bold }
243
244p.topic-title {
245 font-weight: bold }
246
247pre.address {
248 margin-bottom: 0 ;
249 margin-top: 0 ;
250 font: inherit }
251
252pre.literal-block, pre.doctest-block, pre.math, pre.code {
253 margin-left: 2em ;
254 margin-right: 2em }
255
256pre.code .ln { color: grey; } /* line numbers */
257pre.code, code { background-color: #eeeeee }
258pre.code .comment, code .comment { color: #5C6576 }
259pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold }
260pre.code .literal.string, code .literal.string { color: #0C5404 }
261pre.code .name.builtin, code .name.builtin { color: #352B84 }
262pre.code .deleted, code .deleted { background-color: #DEB0A1}
263pre.code .inserted, code .inserted { background-color: #A3D289}
264
265span.classifier {
266 font-family: sans-serif ;
267 font-style: oblique }
268
269span.classifier-delimiter {
270 font-family: sans-serif ;
271 font-weight: bold }
272
273span.interpreted {
274 font-family: sans-serif }
275
276span.option {
277 white-space: nowrap }
278
279span.pre {
280 white-space: pre }
281
282span.problematic {
283 color: red }
284
285span.section-subtitle {
286 /* font-size relative to parent (h1..h6 element) */
287 font-size: 80% }
288
289table.citation {
290 border-left: solid 1px gray;
291 margin-left: 1px }
292
293table.docinfo {
294 margin: 2em 4em }
295
296table.docutils {
297 margin-top: 0.5em ;
298 margin-bottom: 0.5em }
299
300table.footnote {
301 border-left: solid 1px black;
302 margin-left: 1px }
303
304table.docutils td, table.docutils th,
305table.docinfo td, table.docinfo th {
306 padding-left: 0.5em ;
307 padding-right: 0.5em ;
308 vertical-align: top }
309
310table.docutils th.field-name, table.docinfo th.docinfo-name {
311 font-weight: bold ;
312 text-align: left ;
313 white-space: nowrap ;
314 padding-left: 0 }
315
316h1 tt.docutils, h2 tt.docutils, h3 tt.docutils,
317h4 tt.docutils, h5 tt.docutils, h6 tt.docutils {
318 font-size: 100% }
319
320ul.auto-toc {
321 list-style-type: none }
322
323</style>
324</head>
325<body>
326<div class="document" id="the-virtualbox-test-suite">
327<h1 class="title">The VirtualBox Validation Kit</h1>
328
329<div class="section" id="introduction">
330<h1>Introduction</h1>
331<p>The VirtualBox test suite is the new way we're doing automated testing of
332VirtualBox and is still rather incomplete, in fact it will probably always be
333incomplete as there will always be new features and guest OSes to test.</p>
334<p>We're warmly welcoming contributions, new ideas for good tests, and fixes.</p>
335</div>
336<div class="section" id="directory-layout">
337<h1>Directory Layout</h1>
338<dl class="docutils">
339<dt>./docs/</dt>
340<dd><p class="first">The documentation for the test suite mostly lives here, the exception being
341readme.txt files that are better off living near what they concern.</p>
342<p class="last">For a definition of terms used here, see the Definitions / Glossary section
343of ./docs/AutomaticTestingRevamp.txt / ./docs/AutomaticTestingRevamp.html.</p>
344</dd>
345<dt>./testdriver/</dt>
346<dd><p class="first">Python module implementing the base test drivers and supporting stuff.
347The base test driver implementation is found in ./testdriver/base.py while
348the VBox centric specialization is in ./testdriver/vbox.py. Various VBox
349API wrappers that makes things easier to use and glosses over a lot of API
350version differences that live in ./testdriver/vboxwrappers.py.</p>
351<p>Test VM collections are often managed thru ./testdriver/vboxtestvms.py, but
352doesn't necessarily have to be, it's up to the individual test driver.</p>
353<p>For logging, reporting result, uploading useful files and such we have a
354reporter singleton sub-package, ./testdriver/reporter.py. It implements
355both local (for local testing) and remote (for testboxes + test manager)
356reporting.</p>
357<p class="last">There is also a VBoxTXS client implementation in txsclient.py and a stacked
358test driver for installing VBox (vboxinstaller.py). Most test drivers will
359use the TXS client indirectly thru vbox.py methods. The installer driver
360is a special trick for the testbox+testmanager setup.</p>
361</dd>
362<dt>./tests/</dt>
363<dd>The python scripts driving the tests. These are organized by what they
364test and are all derived from the base classes in ./testdriver (mostly from
365vbox.py of course). Most tests use one or more VMs from a standard set of
366preconfigured VMs defined by ./testdriver/vboxtestvms.py (mentioned above),
367though the installation tests used prepared ISOs and floppy images.</dd>
368<dt>./vms/</dt>
369<dd>Text documents describing the preconfigured test VMs defined by
370./testdrive/vboxtestvms.py. This will also contain description of how to
371prepare installation ISOs when we get around to it (soon).</dd>
372<dt>./utils/</dt>
373<dd><p class="first">Test utilities and lower level test programs, compiled from C, C++ and
374Assembly mostly. Generally available for both host and guest, i.e. in the
375zip and on the VBoxValidationKit.iso respectively.</p>
376<p>The Test eXecution Service (VBoxTXS) found in ./utils/TestExecServ is one
377of the more important utilities. It implements a remote execution service
378for running programs/tests inside VMs and on other test boxes. See
379./utils/TestExecServ/vboxtxs-readme.txt for more details.</p>
380<p class="last">A simple network bandwidth and latency test program can be found in
381./utils/network/NetPerf.cpp.</p>
382</dd>
383<dt>./bootsectors/</dt>
384<dd><p class="first">Boot sector test environment. This allows creating floppy images in
385assembly that tests specific CPU or device behaviour. Most tests can be
386put on a USB stick, floppy or similar and booted up on real hardware for
387comparison. All floppy images can be used for manual testing by developers
388and most will be used by test drivers (./tests/<em>/td</em>.py) sooner or later.</p>
389<p class="last">The boot sector environment is heavily bound to yasm and it's ability to
390link binary images for single assembly input units. There is a &quot;library&quot;
391of standard initialization code and runtime code, which include switch to
392all (well V8086 mode is still missing, but we'll get that done eventually)
393processor modes and paging modes. The image specific code is split into
394init/driver code and test template, the latter can be instantiated for each
395process execution+paging mode.</p>
396</dd>
397<dt>./common/</dt>
398<dd>Python package containing common python code.</dd>
399<dt>./testboxscript/</dt>
400<dd>The testbox script. This is installed on testboxes used for automatic
401testing with the testmanager.</dd>
402<dt>./testmanager/</dt>
403<dd>The VirtualBox Test Manager (server side code). This is written in Python
404and currently uses postgresql as database backend for no particular reason
405other than that it was already installed on the server the test manager was
406going to run on. It's relatively generic, though there are of course
407things in there that are of more use when testing VirtualBox than other
408things. A more detailed account (though perhaps a little dated) of the
409test manager can be found in ./docs/AutomaticTestingRevamp.txt and
410./docs/AutomaticTestingRevamp.html.</dd>
411<dt>./testanalysis/</dt>
412<dd>A start a local test result analysis, comparing network test output. We'll
413probably be picking this up again later.</dd>
414<dt>./snippets/</dt>
415<dd>Various code snippets that may be turned into real tests at some point.</dd>
416</dl>
417<table class="docutils field-list" frame="void" rules="none">
418<col class="field-name" />
419<col class="field-body" />
420<tbody valign="top">
421<tr class="field"><th class="field-name">Status:</th><td class="field-body">$Id: VBoxValidationKitReadMe.html 52776 2014-09-17 14:51:43Z vboxsync $</td>
422</tr>
423<tr class="field"><th class="field-name">Copyright:</th><td class="field-body">Copyright (C) 2010-2014 Oracle Corporation.</td>
424</tr>
425</tbody>
426</table>
427</div>
428</div>
429</body>
430</html>
注意: 瀏覽 TracBrowser 來幫助您使用儲存庫瀏覽器

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette