libbbc.html
3.72 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type"
content="text/html; charset=ISO-8859-1">
<title>iQue@Home and Libbbc Testing</title>
</head>
<body>
<h2 align="center">Libbbc Software Testing</h2>
<div align="center">$Revision: 1.2 $<br>
$Date: 2004/10/19 00:13:56 $<br>
</div>
<br>
<h3>Testing mechanisms</h3>
<i><b>Stress Testing</b></i><br>
<br>
Stress testing should be done on Windows using as many different types of
hardware as possible. Problems have been seen (and fixed) using SiS
USB chipsets and Windows 2000. The following Windows variants are supported:<br>
<ul>
<li>Windows 98SE</li>
<li>Windows 2000</li>
<li>Windows XP</li>
</ul>
Stress testing uses <b><i>emsh</i></b> with command scripts ("run" command)
that do the following loops. Each test should run for 24 hours continuously
with no errors.<br>
<ul>
<li>Store content using a content file of at least 2MB:</li>
<ul>
<li>M deadbeef.app deadbeef</li>
</ul>
<li>Store content and then retrieve it:</li>
<ul>
<li>B</li>
<li>M deadbeef.app deadbeef</li>
<li>U foo.app deadbeef</li>
<li>Q</li>
</ul>
</ul>
The above tests should also be tried on linux using the bbrdb driver, since
that is what the Depot uses. <br>
<br>
<i><b>Functional Testing</b></i><br>
<br>
Use iQue@Home application to list content on the player, download content
and delete content.<br>
On linux, use <i><b>emsh</b></i> with the cartridge emulated as a file on
disk to implement functional tests.<br>
On linux, use "<b><i>sksatest</i></b>" from <b><i>bbapps/emsmon/Tests</i></b>
with both the BB Player and the card reader/writer as a functional test.<br>
<h3>Test cases</h3>
<i><b>BBCVerifySKSA</b></i><br>
<ul>
<li>Test all "force" values</li>
<li>Test that match does nothing</li>
<li>Check links on T1, SA1, T2 and SA2</li>
<li>Check that occurrence of bad blocks (either marked bad beforehand
or incurring a write data error) in any of the following cases does not prevent
SKSA from being laid out correctly:</li>
<ul>
<li>2 in SK (probably fails right now)</li>
<li>1 in T1</li>
<li>1 in T2</li>
<li>both T1 and T2</li>
<li>anywhere in SA1 or SA2<br>
</li>
<li>more than 2 should fail with BBC_CARDFAILED</li>
</ul>
<li>Test SKSA with only SK+T1+SA1 (required by EMS depot)</li>
<li>Test SKSA that matches up to middle of SA1 and middle of SA2</li>
<li>VerifySKSA should still work if Read DBE happens at any point in the
readback case:</li>
<ul>
<li>SK</li>
<li>T1</li>
<li>SA1</li>
<li>T2</li>
<li>SA2</li>
</ul>
</ul>
<i><b>BBCFormat</b></i><br>
<ul>
<li>Read DBE anyplace should not cause failure of format (read DBE should
be ignored)</li>
<li>Check that more than 64 bad blocks causes the format to fail with BBC_CARDFAILED
and that 63 or less is ok (provided that not more than 2 are in the SKSA
area)</li>
<li>Verify that blocks marked bad only in the FAT (as a result of write
errors) are preserved as BAD across a reformat<br>
</li>
</ul>
<i><b>BBCStats</b></i><br>
<ul>
<li>Verify counts of bad blocks, free blocks and allocated blocks.</li>
<li>Add a bad block and check count.</li>
<li>Create file and check that the correct number of blocks switch from
free to allocated.</li>
<li>Delete file and check counts again.</li>
<li>Fill up card and verify that the free count was accurate.</li>
<li>Fill up card and verify that no FAT blocks get damaged (Raymond reports
there is a problem with this. Note that we may need new mechanism added
to emsh in order to access the FAT blocks directly, rather than the copy
in memory.)<br>
</li>
</ul>
<br>
<br>
</body>
</html>