1
TOS Arno Puder
TOS Arno Puder 1 Objectives Explain the TOS testing system - - PowerPoint PPT Presentation
TOS Arno Puder 1 Objectives Explain the TOS testing system Explain some debugging techniques when a program error typically crashes the whole system Explain symbolic debugging of TOS 2 Test Cases TOS comes with many test cases
1
TOS Arno Puder
2
3
5
typing: cd ~/tos make tests
./run-ttc.sh
test_mem_1)
Bochs.
which succeeded.
8
10
12
that particular assignment.
tos/test/messages.html explains all the error codes.
test case to understand what it is doing. Note that some helper code is located in ~/tos/test/common.c
implementation is bug free (testing vs. verification)
employ a debugging technique explained on the following slides.
fail tomorrow due to some changes you made (called a regression)
13
crashes.
causes the crash.
program:
statement_1; statement_1; statement_1; statement_2; statement_2; statement_2; Crash_causing_statement; while(1); Crash_causing_statement; statement_3; Crash_causing_statement; while(1); statement_4 statement_3; statement_3; while(1); statement_4; statement_4;
System crashes System does not crash System crashes
14
15
certain program location.
given.
don’t have to implement it).
assertions once you have implemented this basic output function.
~/tos/include/assert.h
16
17
18
19
20
Linux ddd Bochs TOS
ddd) to connect.
remote-controls the execution of TOS.
tos-debug.img in order to extract the symbol table.
21
22
Note: all the above commands need to be run in the ‘tos’ directory.