shlab测试笔记
shlab測試筆記
- 1.常用指令
- 1.1 使用測試文件測試tshref
- 1.2 使用測試文件測試tsh
- 1.3 使用命令行測試tsh/tshref
- 1.4 測試文件提到的信號轉(zhuǎn)化為鍵盤輸入
- 2. 測試文件
- 2.1 trace.01
- 2.1.1 測試目的
- 2.1.2使用命令行測試
- 2.2 trace.02
- 2.2.1 測試目的
- 2.2.2使用命令行測試
- 2.3 trace.03
- 2.3.1 測試目的
- 2.3.2 使用命令行測試
- 2.4 trace.04
- 2.4.1 測試目的
- 2.4.2 使用命令行測試
- 2.5 trace.05
- 2.5.1 測試目的
- 2.5.2 使用命令行測試
- 2.6 trace.06
- 2.6.1 測試目的
- 2.6.2 使用命令行測試
- 2.7 trace.07
- 2.7.1 測試目的
- 2.7.2 使用命令行測試
- 2.8 trace.08
- 2.8.1 測試目的
- 2.8.2 使用命令行測試
- 2.9 trace.09
- 2.9.1 測試目的
- 2.9.2 使用命令行測試
- 2.10 trace.10
- 2.10.1 測試目的
- 2.10.2 使用命令行測試
- 2.11 trace.11
- 2.11.1 測試目的
- 2.11.2 使用命令行測試
- 2.12 trace.12
- 2.12.1 測試目的
- 2.12.2 使用命令行測試
- 2.13 trace.13
- 2.13.1 測試目的
- 2.13.2 使用命令行測試
- 2.14 trace.14
- 2.14.1 測試目的
- 2.14.2 使用命令行測試
- 2.15 trace.15
- 2.15.1 測試目的
- 2.15.2 使用命令行測試
- 2.16 trace.16
- 2.16.1 測試目的
- 2.16.2 使用命令行測試
- 3. 驗收提問的問題
記錄每個測試文件的測試目的和怎樣使用命令行完成該測試內(nèi)容。
1.常用指令
1.1 使用測試文件測試tshref
make rtest011.2 使用測試文件測試tsh
make test011.3 使用命令行測試tsh/tshref
1.3.1 測試tsh
./tsh1.3.2測試tshref
./tshref1.4 測試文件提到的信號轉(zhuǎn)化為鍵盤輸入
2. 測試文件
在這個模塊中,所有的測試對象都是tshref,如果想測試tsh,只需要對照前面寫的指令修改即可。
2.1 trace.01
2.1.1 測試目的
測試讀取EOF指令
2.1.2使用命令行測試
進(jìn)入tshref
傳入EOF信號
Ctrl+d(類似于ctrl+c是復(fù)制快捷鍵,ctrl+d相當(dāng)于傳入一個EOF信號)
測試結(jié)果
2.2 trace.02
2.2.1 測試目的
測試quit指令
2.2.2使用命令行測試
2.3 trace.03
2.3.1 測試目的
測試能否運行一個前臺作業(yè)
2.3.2 使用命令行測試
2.4 trace.04
2.4.1 測試目的
測試能否運行一個后臺作業(yè)
2.4.2 使用命令行測試
2.5 trace.05
2.5.1 測試目的
測試jobs指令(打印所有后臺作業(yè))
2.5.2 使用命令行測試
運行tshref
./tshref運行一條后臺作業(yè)
./myspin 45 &再次運行一條后臺作業(yè)
./myspin 56 &輸入jobs指令,打印所有后臺作業(yè)(只會打印正在運行的后臺作業(yè),如果運行的后臺作業(yè)睡眠時間設(shè)置的很短,可能在執(zhí)行jobs指令時已經(jīng)將后臺作業(yè)執(zhí)行完畢,此時已經(jīng)完成的后臺作業(yè)不會出現(xiàn)在jobs打印的后臺作業(yè)列表中)
2.6 trace.06
2.6.1 測試目的
向前臺作業(yè)發(fā)送SIGINT信號
2.6.2 使用命令行測試
2.7 trace.07
2.7.1 測試目的
只向前臺作業(yè)發(fā)送信號SIGINT
2.7.2 使用命令行測試
2.8 trace.08
2.8.1 測試目的
只向前臺作業(yè)發(fā)送信號SIGINT
2.8.2 使用命令行測試
同2.7.2
2.9 trace.09
2.9.1 測試目的
測試指令bg(重新啟動停止運行的作業(yè)并在后臺運行)
2.9.2 使用命令行測試
2.10 trace.10
2.10.1 測試目的
測試指令fg(重啟已經(jīng)被停止的進(jìn)程并在前臺運行)
2.10.2 使用命令行測試
運行tshref
執(zhí)行前臺作業(yè)
./myspin 7在前臺作業(yè)執(zhí)行完之前,鍵入ctrl+z停止作業(yè)執(zhí)行
輸入指令fg+進(jìn)程號
fg %1或者
fg 2488結(jié)果顯示已經(jīng)被停止的進(jìn)程被重啟并在前臺執(zhí)行
2.11 trace.11
2.11.1 測試目的
向前臺進(jìn)程組中所有進(jìn)程發(fā)送SIGINT信號
2.11.2 使用命令行測試
2.12 trace.12
2.12.1 測試目的
向前臺進(jìn)程組中所有進(jìn)程發(fā)送SIGTSTP信號
2.12.2 使用命令行測試
2.13 trace.13
2.13.1 測試目的
重啟進(jìn)程組中所有被停止的進(jìn)程
2.13.2 使用命令行測試
2.14 trace.14
2.14.1 測試目的
測試簡單的錯誤處理(處理方式:不執(zhí)行錯誤指令,并打印“指令錯誤”)
2.14.2 使用命令行測試
2.15 trace.15
2.15.1 測試目的
發(fā)送信號到進(jìn)程的混合命令
2.15.2 使用命令行測試
2.16 trace.16
2.16.1 測試目的
測試shell能否處理來自其他進(jìn)程的SIGINT信號和SIGTSTP信號
2.16.2 使用命令行測試
3. 驗收提問的問題
使用一個while循環(huán),如果不是前臺作業(yè)則死等,是前臺作業(yè)則跳出循環(huán)。
第一個參數(shù)pid是要等待的進(jìn)程號,如果pid=-1則不等待指定的進(jìn)程號,只要有一個進(jìn)程結(jié)束就結(jié)束等待;
第二個參數(shù)status,如果不為空則將子進(jìn)程的中止?fàn)顟B(tài)存入status指向的位置,如果為空則表示父進(jìn)程不關(guān)心子進(jìn)程;
第三個參數(shù)options標(biāo)識要等待的子進(jìn)程的狀態(tài);
總結(jié)
- 上一篇: 软件工程导论个人项目 -- 中小学数学卷
- 下一篇: 使用remix和matemask部署智能