diff --git a/test/issues/1378+1440/C1378.sh b/test/issues/1378+1440/C1378.sh new file mode 100644 index 00000000..c725b318 --- /dev/null +++ b/test/issues/1378+1440/C1378.sh @@ -0,0 +1,20 @@ +#!/bin/sh +USELTP=1 +USEOSTEST=0 + +. ../../common.sh + +################################################################################ +for i in rt_sigtimedwait01:01 kill02:02 kill09:03 kill12:04 llseek01:05 \ + signal01:06 signal02:07 signal03:08 getrusage03:09 write05:10; do + tp=`echo $i|sed 's/:.*//'` + id=`echo $i|sed 's/.*://'` + sudo PATH=$PATH:$LTPBIN $MCEXEC $LTPBIN/$tp 2>&1 | tee $tp.txt + ok=`grep TPASS $tp.txt | wc -l` + ng=`grep TFAIL $tp.txt | wc -l` + if [ $ng = 0 ]; then + echo "*** C1378T$id: $tp PASS ($ok)" + else + echo "*** C1378T$id: $tp FAIL (ok=$ok ng=$ng)" + fi +done diff --git a/test/issues/1378+1440/C1378_arm64.txt b/test/issues/1378+1440/C1378_arm64.txt new file mode 100644 index 00000000..f4ab303b --- /dev/null +++ b/test/issues/1378+1440/C1378_arm64.txt @@ -0,0 +1,146 @@ +Script started on 2020-02-20 01:31:48+00:00 +bash-4.4$ name -m +aarch64 +bash-4.4$ make test +sh ./C1378.sh +mcstop+release.sh ... done +mcreboot.sh -c 2-7,10-15 -m 2G@0 -O ... done +rt_sigtimedwait01 0 TINFO : 0x401bf0, 10 +rt_sigtimedwait01 1 TPASS : Test passed +rt_sigtimedwait01 0 TINFO : 0x401bf0, 10 +rt_sigtimedwait01 2 TPASS : Test passed +rt_sigtimedwait01 0 TINFO : 0x401bf0, 10 +rt_sigtimedwait01 3 TPASS : Test passed +rt_sigtimedwait01 3 TPASS : sigwaitinfo restored the original mask +rt_sigtimedwait01 0 TINFO : 0x401bf0, 10 +rt_sigtimedwait01 4 TPASS : Test passed +rt_sigtimedwait01 0 TINFO : 0x401bf0, 10 +rt_sigtimedwait01 5 TPASS : Test passed +rt_sigtimedwait01 5 TPASS : sigwaitinfo restored the original mask +rt_sigtimedwait01 0 TINFO : 0x401bf0, 10 +rt_sigtimedwait01 6 TPASS : Test passed +rt_sigtimedwait01 0 TINFO : 0x401bf0, 10 +rt_sigtimedwait01 7 TPASS : Test passed +rt_sigtimedwait01 0 TINFO : 0x401bf0, 10 +rt_sigtimedwait01 8 TPASS : Test passed +rt_sigtimedwait01 0 TINFO : 0x401bf0, 0 +rt_sigtimedwait01 9 TPASS : Test passed +rt_sigtimedwait01 0 TINFO : 0x401bf0, 12 +rt_sigtimedwait01 10 TPASS : Test passed +rt_sigtimedwait01 10 TPASS : sigwaitinfo restored the original mask +rt_sigtimedwait01 0 TINFO : 0x401bf0, 12 +rt_sigtimedwait01 11 TPASS : Test passed +rt_sigtimedwait01 0 TINFO : 0x401bf0, 15 +rt_sigtimedwait01 12 TPASS : Test passed +rt_sigtimedwait01 12 TPASS : sigwaitinfo restored the original mask +rt_sigtimedwait01 0 TINFO : 0x401bf0, -1 +rt_sigtimedwait01 13 TPASS : Test passed +rt_sigtimedwait01 13 TPASS : Test passed +rt_sigtimedwait01 13 TPASS : sigwaitinfo restored the original mask +*** C1378T01: rt_sigtimedwait01 PASS (19) +kill02 1 TPASS : The signal was sent to all processes in the process group. +kill02 2 TPASS : The signal was not sent to selective processes that were not in the process group. +*** C1378T02: kill02 PASS (2) +kill09 1 TPASS : kill(1055, SIGKILL) returned 0 +*** C1378T03: kill09 PASS (1) +kill12 1 TPASS : Test passed +*** C1378T04: kill12 PASS (1) +llseek01 1 TPASS : Functionality of llseek() on tmp_file successful +*** C1378T05: llseek01 PASS (1) +signal01 1 TPASS : signal(SIGKILL, 0x1(SIG_IGN)) failed with EINVAL +signal01 0 TINFO : Child process returned TPASS +signal01 1 TPASS : signal(SIGKILL, (nil)(SIG_DFL)) failed with EINVAL +signal01 0 TINFO : Child process returned TPASS +signal01 1 TPASS : signal(SIGKILL, 0x402430(catchsig())) failed with EINVAL +signal01 0 TINFO : Child process returned TPASS +signal01 1 TPASS : Child killed with SIGKILL +signal01 2 TPASS : Child killed with SIGKILL +signal01 3 TPASS : Child killed with SIGKILL +*** C1378T06: signal01 PASS (9) +signal02 1 TPASS : expected failure - errno = 22 - Invalid argument +signal02 2 TPASS : expected failure - errno = 22 - Invalid argument +signal02 3 TPASS : expected failure - errno = 22 - Invalid argument +*** C1378T07: signal02 PASS (3) +signal03 1 TPASS : signal03 call succeeded +signal03 2 TPASS : signal03 call succeeded +signal03 3 TPASS : signal03 call succeeded +signal03 4 TPASS : signal03 call succeeded +signal03 5 TPASS : signal03 call succeeded +signal03 6 TPASS : signal03 call succeeded +signal03 7 TPASS : signal03 call succeeded +signal03 8 TPASS : signal03 call succeeded +signal03 9 TPASS : signal03 call succeeded +signal03 10 TPASS : signal03 call succeeded +signal03 11 TPASS : signal03 call succeeded +signal03 12 TPASS : signal03 call succeeded +signal03 13 TPASS : signal03 call succeeded +signal03 14 TPASS : signal03 call succeeded +signal03 15 TPASS : signal03 call succeeded +signal03 16 TPASS : signal03 call succeeded +signal03 17 TPASS : signal03 call succeeded +signal03 18 TPASS : signal03 call succeeded +signal03 19 TPASS : signal03 call succeeded +signal03 20 TPASS : signal03 call succeeded +signal03 21 TPASS : signal03 call succeeded +signal03 22 TPASS : signal03 call succeeded +signal03 23 TPASS : signal03 call succeeded +signal03 24 TPASS : signal03 call succeeded +signal03 25 TPASS : signal03 call succeeded +signal03 26 TPASS : signal03 call succeeded +signal03 27 TPASS : signal03 call succeeded +signal03 28 TPASS : signal03 call succeeded +signal03 29 TPASS : signal03 call succeeded +signal03 30 TPASS : signal03 call succeeded +*** C1378T08: signal03 PASS (30) +getrusage03 0 TINFO : allocate 100MB +getrusage03 0 TINFO : Testcase #01: fork inherit +getrusage03 0 TINFO : initial.self = 104704 +getrusage03 0 TINFO : child.self = 106880 +getrusage03 1 TPASS : initial.self ~= child.self +getrusage03 0 TINFO : Testcase #02: fork inherit(cont.) +getrusage03 0 TINFO : initial.children = 106880 +getrusage03 2 TPASS : initial.children ~= 100MB +getrusage03 0 TINFO : child.children = 0 +getrusage03 3 TPASS : child.children == 0 +getrusage03 0 TINFO : Testcase #03: fork + malloc +getrusage03 0 TINFO : initial.self = 104704 +getrusage03 0 TINFO : child allocate +50MB +getrusage03 0 TINFO : child.self = 158144 +getrusage03 4 TPASS : initial.self + 50MB ~= child.self +getrusage03 0 TINFO : Testcase #04: grandchild maxrss +getrusage03 0 TINFO : initial.children = 158144 +getrusage03_child 0 TINFO : grandchild allocate 300MB +getrusage03 0 TINFO : post_wait.children = 311616 +getrusage03 5 TPASS : child.children ~= 300MB +getrusage03 0 TINFO : Testcase #05: zombie +getrusage03 0 TINFO : initial.children = 311616 +getrusage03_child 0 TINFO : child allocate 400MB +getrusage03 0 TINFO : pre_wait.children = 311616 +getrusage03 6 TPASS : initial.children ~= pre_wait.children +getrusage03 0 TINFO : post_wait.children = 412800 +getrusage03 7 TPASS : post_wait.children ~= 400MB +getrusage03 0 TINFO : Testcase #06: SIG_IGN +getrusage03 0 TINFO : initial.children = 412800 +getrusage03_child 0 TINFO : child allocate 500MB +getrusage03 0 TINFO : after_zombie.children = 412800 +getrusage03 8 TPASS : initial.children ~= after_zombie.children +getrusage03 0 TINFO : Testcase #07: exec without fork +getrusage03 0 TINFO : initial.self = 104704, initial.children = 412800 +getrusage03_child 0 TINFO : exec.self = 104704, exec.children = 412800 +getrusage03_child 1 TPASS : initial.self ~= exec.self +getrusage03_child 2 TPASS : initial.children ~= exec.children +*** C1378T09: getrusage03 PASS (10) +write05 0 TINFO : Enter Block 1: test with bad fd +write05 1 TPASS : received EBADF as expected. +write05 0 TINFO : Exit Block 1 +write05 0 TINFO : Enter Block 2: test with a bad address +write05 2 TPASS : received EFAULT as expected. +write05 0 TINFO : Exit Block 2 +write05 0 TINFO : Enter Block 3: test with invalid pipe +write05 3 TPASS : received EPIPE as expected. +write05 0 TINFO : Exit Block 3 +*** C1378T10: write05 PASS (3) +bash-4.4$ exit +exit + +Script done on 2020-02-20 01:33:17+00:00 diff --git a/test/issues/1378+1440/C1378_x86_64.txt b/test/issues/1378+1440/C1378_x86_64.txt new file mode 100644 index 00000000..819f2ec6 --- /dev/null +++ b/test/issues/1378+1440/C1378_x86_64.txt @@ -0,0 +1,147 @@ +Script started on Thu Feb 20 10:36:48 2020 +bash-4.2$ uname -m +x86_64 +bash-4.2$ make test +sh ./C1378.sh +mcstop+release.sh ... done +mcreboot.sh -c 1-7,9-15,17-23,25-31 -m 10G@0,10G@1 -r 1-7:0+9-15:8+17-23:16+25-31:24 ... done +rt_sigtimedwait01 0 TINFO : 0x401ba0, 10 +rt_sigtimedwait01 1 TPASS : Test passed +rt_sigtimedwait01 0 TINFO : 0x401ba0, 10 +rt_sigtimedwait01 2 TPASS : Test passed +rt_sigtimedwait01 0 TINFO : 0x401ba0, 10 +rt_sigtimedwait01 3 TPASS : Test passed +rt_sigtimedwait01 3 TPASS : sigwaitinfo restored the original mask +rt_sigtimedwait01 0 TINFO : 0x401ba0, 10 +rt_sigtimedwait01 4 TPASS : Test passed +rt_sigtimedwait01 0 TINFO : 0x401ba0, 10 +rt_sigtimedwait01 5 TPASS : Test passed +rt_sigtimedwait01 5 TPASS : sigwaitinfo restored the original mask +rt_sigtimedwait01 0 TINFO : 0x401ba0, 10 +rt_sigtimedwait01 6 TPASS : Test passed +rt_sigtimedwait01 0 TINFO : 0x401ba0, 10 +rt_sigtimedwait01 7 TPASS : Test passed +rt_sigtimedwait01 0 TINFO : 0x401ba0, 10 +rt_sigtimedwait01 8 TPASS : Test passed +rt_sigtimedwait01 0 TINFO : 0x401ba0, 0 +rt_sigtimedwait01 9 TPASS : Test passed +rt_sigtimedwait01 0 TINFO : 0x401ba0, 12 +rt_sigtimedwait01 10 TPASS : Test passed +rt_sigtimedwait01 10 TPASS : sigwaitinfo restored the original mask +rt_sigtimedwait01 0 TINFO : 0x401ba0, 12 +rt_sigtimedwait01 11 TPASS : Test passed +rt_sigtimedwait01 0 TINFO : 0x401ba0, 15 +rt_sigtimedwait01 12 TPASS : Test passed +rt_sigtimedwait01 12 TPASS : sigwaitinfo restored the original mask +rt_sigtimedwait01 0 TINFO : 0x401ba0, -1 +rt_sigtimedwait01 13 TPASS : Test passed +rt_sigtimedwait01 13 TPASS : Test passed +rt_sigtimedwait01 13 TPASS : sigwaitinfo restored the original mask +*** C1378T01: rt_sigtimedwait01 PASS (19) +kill02 1 TPASS : The signal was sent to all processes in the process group. +kill02 2 TPASS : The signal was not sent to selective processes that were not in the process group. +*** C1378T02: kill02 PASS (2) +kill09 1 TPASS : kill(8015, SIGKILL) returned 0 +*** C1378T03: kill09 PASS (1) +kill12 1 TPASS : Test passed +*** C1378T04: kill12 PASS (1) +llseek01 1 TPASS : Functionality of llseek() on tmp_file successful +*** C1378T05: llseek01 PASS (1) +signal01 1 TPASS : signal(SIGKILL, 0x1(SIG_IGN)) failed with EINVAL +signal01 0 TINFO : Child process returned TPASS +signal01 1 TPASS : signal(SIGKILL, (nil)(SIG_DFL)) failed with EINVAL +signal01 0 TINFO : Child process returned TPASS +signal01 1 TPASS : signal(SIGKILL, 0x4023d0(catchsig())) failed with EINVAL +signal01 0 TINFO : Child process returned TPASS +signal01 1 TPASS : Child killed with SIGKILL +signal01 2 TPASS : Child killed with SIGKILL +signal01 3 TPASS : Child killed with SIGKILL +*** C1378T06: signal01 PASS (9) +signal02 1 TPASS : expected failure - errno = 22 - Invalid argument +signal02 2 TPASS : expected failure - errno = 22 - Invalid argument +signal02 3 TPASS : expected failure - errno = 22 - Invalid argument +*** C1378T07: signal02 PASS (3) +signal03 1 TPASS : signal03 call succeeded +signal03 2 TPASS : signal03 call succeeded +signal03 3 TPASS : signal03 call succeeded +signal03 4 TPASS : signal03 call succeeded +signal03 5 TPASS : signal03 call succeeded +signal03 6 TPASS : signal03 call succeeded +signal03 7 TPASS : signal03 call succeeded +signal03 8 TPASS : signal03 call succeeded +signal03 9 TPASS : signal03 call succeeded +signal03 10 TPASS : signal03 call succeeded +signal03 11 TPASS : signal03 call succeeded +signal03 12 TPASS : signal03 call succeeded +signal03 13 TPASS : signal03 call succeeded +signal03 14 TPASS : signal03 call succeeded +signal03 15 TPASS : signal03 call succeeded +signal03 16 TPASS : signal03 call succeeded +signal03 17 TPASS : signal03 call succeeded +signal03 18 TPASS : signal03 call succeeded +signal03 19 TPASS : signal03 call succeeded +signal03 20 TPASS : signal03 call succeeded +signal03 21 TPASS : signal03 call succeeded +signal03 22 TPASS : signal03 call succeeded +signal03 23 TPASS : signal03 call succeeded +signal03 24 TPASS : signal03 call succeeded +signal03 25 TPASS : signal03 call succeeded +signal03 26 TPASS : signal03 call succeeded +signal03 27 TPASS : signal03 call succeeded +signal03 28 TPASS : signal03 call succeeded +signal03 29 TPASS : signal03 call succeeded +signal03 30 TPASS : signal03 call succeeded +signal03 31 TPASS : signal03 call succeeded +*** C1378T08: signal03 PASS (31) +getrusage03 0 TINFO : allocate 100MB +getrusage03 0 TINFO : Testcase #01: fork inherit +getrusage03 0 TINFO : initial.self = 103344 +getrusage03 0 TINFO : child.self = 105368 +getrusage03 1 TPASS : initial.self ~= child.self +getrusage03 0 TINFO : Testcase #02: fork inherit(cont.) +getrusage03 0 TINFO : initial.children = 105372 +getrusage03 2 TPASS : initial.children ~= 100MB +getrusage03 0 TINFO : child.children = 0 +getrusage03 3 TPASS : child.children == 0 +getrusage03 0 TINFO : Testcase #03: fork + malloc +getrusage03 0 TINFO : initial.self = 103344 +getrusage03 0 TINFO : child allocate +50MB +getrusage03 0 TINFO : child.self = 156572 +getrusage03 4 TPASS : initial.self + 50MB ~= child.self +getrusage03 0 TINFO : Testcase #04: grandchild maxrss +getrusage03 0 TINFO : initial.children = 156572 +getrusage03_child 0 TINFO : grandchild allocate 300MB +getrusage03 0 TINFO : post_wait.children = 310116 +getrusage03 5 TPASS : child.children ~= 300MB +getrusage03 0 TINFO : Testcase #05: zombie +getrusage03 0 TINFO : initial.children = 310116 +getrusage03_child 0 TINFO : child allocate 400MB +getrusage03 0 TINFO : pre_wait.children = 310116 +getrusage03 6 TPASS : initial.children ~= pre_wait.children +getrusage03 0 TINFO : post_wait.children = 412084 +getrusage03 7 TPASS : post_wait.children ~= 400MB +getrusage03 0 TINFO : Testcase #06: SIG_IGN +getrusage03 0 TINFO : initial.children = 412084 +getrusage03_child 0 TINFO : child allocate 500MB +getrusage03 0 TINFO : after_zombie.children = 412084 +getrusage03 8 TPASS : initial.children ~= after_zombie.children +getrusage03 0 TINFO : Testcase #07: exec without fork +getrusage03 0 TINFO : initial.self = 103344, initial.children = 412084 +getrusage03_child 0 TINFO : exec.self = 103344, exec.children = 412084 +getrusage03_child 1 TPASS : initial.self ~= exec.self +getrusage03_child 2 TPASS : initial.children ~= exec.children +*** C1378T09: getrusage03 PASS (10) +write05 0 TINFO : Enter Block 1: test with bad fd +write05 1 TPASS : received EBADF as expected. +write05 0 TINFO : Exit Block 1 +write05 0 TINFO : Enter Block 2: test with a bad address +write05 2 TPASS : received EFAULT as expected. +write05 0 TINFO : Exit Block 2 +write05 0 TINFO : Enter Block 3: test with invalid pipe +write05 3 TPASS : received EPIPE as expected. +write05 0 TINFO : Exit Block 3 +*** C1378T10: write05 PASS (3) +bash-4.2$ exit +exit + +Script done on Thu Feb 20 10:37:30 2020 diff --git a/test/issues/1378+1440/Makefile b/test/issues/1378+1440/Makefile new file mode 100644 index 00000000..0296e482 --- /dev/null +++ b/test/issues/1378+1440/Makefile @@ -0,0 +1,10 @@ +CC = gcc +TARGET = + +all:: $(TARGET) + +test:: all + sh ./C1378.sh + +clean:: + rm -f $(TARGET) *.o diff --git a/test/issues/1378+1440/README b/test/issues/1378+1440/README new file mode 100644 index 00000000..91a02a6c --- /dev/null +++ b/test/issues/1378+1440/README @@ -0,0 +1,28 @@ +【Issue#1378, Issue#1440 動作確認】 +□ テスト内容 +1. Issue 指摘事項の再現確認 +C1378T01 LTP rt_sigtimedwait01を実行し、全てのテストケースがPASSすること。 + +2. LTP を用いて既存処理に影響しないことを確認 + シグナルのSIG_IGN処理を変更したため、SIG_IGNを使っているLTPを選定した。 + 全てPASSすること。 +C1378T02 kill02: kill の基本機能の確認 +C1378T03 kill09: kill の基本機能の確認 +C1378T04 kill12: kill の基本機能の確認 +C1378T05 llseek01: llseek の基本機能の確認 +C1378T06 signal01: signal の基本機能の確認 +C1378T07 signal01: signal の基本機能の確認 +C1378T08 signal01: signal の基本機能の確認 +C1378T09 getrusage03: getrusage の基本機能の確認 +C1378T10 write05: write の基本機能の確認 + +□ 実行手順 +$ make test + +McKernelのインストール先や LTP の配置場所は、$HOME/.mck_test_config を +参照する。.mck_test_config は、McKernel をビルドした際に生成される +mck_test_config.sample ファイルを $HOME にコピーし、適宜編集すること。 + +□ 実行結果 +C1378_x86_64.txt(x86_64実行結果)、C1378_arm64.txt(arm64実行結果)参照。 +全ての項目が PASS していることを確認。