| @@ -1,14 +1,14 @@ | | | @@ -1,14 +1,14 @@ |
1 | # $NetBSD: t_random_garbage.sh,v 1.3 2020/07/03 07:03:14 jruoho Exp $ | | 1 | # $NetBSD: t_random_garbage.sh,v 1.4 2020/07/27 07:36:19 jruoho Exp $ |
2 | # | | 2 | # |
3 | # Copyright (c) 2020 The NetBSD Foundation, Inc. | | 3 | # Copyright (c) 2020 The NetBSD Foundation, Inc. |
4 | # All rights reserved. | | 4 | # All rights reserved. |
5 | # | | 5 | # |
6 | # This code is derived from software contributed to The NetBSD Foundation | | 6 | # This code is derived from software contributed to The NetBSD Foundation |
7 | # by Jukka Ruohonen. | | 7 | # by Jukka Ruohonen. |
8 | # | | 8 | # |
9 | # Redistribution and use in source and binary forms, with or without | | 9 | # Redistribution and use in source and binary forms, with or without |
10 | # modification, are permitted provided that the following conditions | | 10 | # modification, are permitted provided that the following conditions |
11 | # are met: | | 11 | # are met: |
12 | # 1. Redistributions of source code must retain the above copyright | | 12 | # 1. Redistributions of source code must retain the above copyright |
13 | # notice, this list of conditions and the following disclaimer. | | 13 | # notice, this list of conditions and the following disclaimer. |
14 | # 2. Redistributions in binary form must reproduce the above copyright | | 14 | # 2. Redistributions in binary form must reproduce the above copyright |
| @@ -37,27 +37,29 @@ getrstr() { | | | @@ -37,27 +37,29 @@ getrstr() { |
37 | echo $(cat /dev/urandom | head -n 1 | base64) | | 37 | echo $(cat /dev/urandom | head -n 1 | base64) |
38 | } | | 38 | } |
39 | | | 39 | |
40 | atf_test_case random_garbage cleanup | | 40 | atf_test_case random_garbage cleanup |
41 | random_garbage_head() { | | 41 | random_garbage_head() { |
42 | sysctl -a > $tmp | | 42 | sysctl -a > $tmp |
43 | atf_set "require.user" "root" | | 43 | atf_set "require.user" "root" |
44 | atf_set "descr" "Test writing random garbage " \ | | 44 | atf_set "descr" "Test writing random garbage " \ |
45 | "to sysctl nodes (PR kern/55451)" | | 45 | "to sysctl nodes (PR kern/55451)" |
46 | } | | 46 | } |
47 | | | 47 | |
48 | random_garbage_body() { | | 48 | random_garbage_body() { |
49 | | | 49 | |
50 | atf_skip "The test is not safe (PR kern/55451)" | | 50 | if ! [ $(atf_config_get "run_unsafe" "no") = "yes" ]; then |
| | | 51 | atf_skip "The test is not safe (PR kern/55451)" |
| | | 52 | fi |
51 | | | 53 | |
52 | while read line; do | | 54 | while read line; do |
53 | | | 55 | |
54 | var=$(echo $line | awk '{print $1}') | | 56 | var=$(echo $line | awk '{print $1}') |
55 | | | 57 | |
56 | case $var in | | 58 | case $var in |
57 | hw.acpi.sleep.state) | | 59 | hw.acpi.sleep.state) |
58 | echo "Skipping $var" | | 60 | echo "Skipping $var" |
59 | continue | | 61 | continue |
60 | ;; | | 62 | ;; |
61 | | | 63 | |
62 | kern.securelevel*) | | 64 | kern.securelevel*) |
63 | echo "Skipping $var" | | 65 | echo "Skipping $var" |
| @@ -77,27 +79,29 @@ random_garbage_body() { | | | @@ -77,27 +79,29 @@ random_garbage_body() { |
77 | | | 79 | |
78 | val=$(getrint) | | 80 | val=$(getrint) |
79 | echo "Write $var -> $val" | | 81 | echo "Write $var -> $val" |
80 | sysctl -w $var=$val | | 82 | sysctl -w $var=$val |
81 | val=$(getrstr) | | 83 | val=$(getrstr) |
82 | echo "Write $var -> $val" | | 84 | echo "Write $var -> $val" |
83 | sysctl -w $var=$val | | 85 | sysctl -w $var=$val |
84 | | | 86 | |
85 | done < $tmp | | 87 | done < $tmp |
86 | } | | 88 | } |
87 | | | 89 | |
88 | random_garbage_cleanup() { | | 90 | random_garbage_cleanup() { |
89 | | | 91 | |
90 | atf_skip "The test is not safe (PR kern/55451)" | | 92 | if ! [ $(atf_config_get "run_unsafe" "no") = "yes" ]; then |
| | | 93 | atf_skip "The test is not safe (PR kern/55451)" |
| | | 94 | fi |
91 | | | 95 | |
92 | while read line; do | | 96 | while read line; do |
93 | var=$(echo $line | awk '{print $1}') | | 97 | var=$(echo $line | awk '{print $1}') |
94 | val=$(echo $line | awk '{print $3}') | | 98 | val=$(echo $line | awk '{print $3}') |
95 | echo "Restoring $var -> $val" | | 99 | echo "Restoring $var -> $val" |
96 | sysctl -w $var=$val > /dev/null 2>&1 | | 100 | sysctl -w $var=$val > /dev/null 2>&1 |
97 | done < $tmp | | 101 | done < $tmp |
98 | | | 102 | |
99 | rm $tmp | | 103 | rm $tmp |
100 | } | | 104 | } |
101 | | | 105 | |
102 | atf_init_test_cases() { | | 106 | atf_init_test_cases() { |
103 | atf_add_test_case random_garbage | | 107 | atf_add_test_case random_garbage |