From 4e7069d499aa474ac20a8cab7855fa5dac38e8b6 Mon Sep 17 00:00:00 2001 From: Ken Sato Date: Wed, 22 Nov 2017 09:39:48 +0900 Subject: [PATCH] add: proc|sys fs format_checker (tool) --- test/proc_sys_checker/file_format_check.pl | 164 ++++++++++++++++++ test/proc_sys_checker/file_format_check.sh | 14 ++ test/proc_sys_checker/input | 35 ++++ test/proc_sys_checker/proc/proc_pid_cgroup | 4 + test/proc_sys_checker/proc/proc_pid_cmdline | 3 + test/proc_sys_checker/proc/proc_pid_cpuset | 4 + test/proc_sys_checker/proc/proc_pid_maps | 3 + test/proc_sys_checker/proc/proc_pid_smaps | 20 +++ test/proc_sys_checker/proc/proc_pid_stat | 3 + test/proc_sys_checker/proc/proc_pid_status | 44 +++++ .../proc/proc_pid_task_thid_stat | 3 + test/proc_sys_checker/proc/proc_stat | 12 ++ .../cpu_cpu_cache_index_coherency_line_size | 3 + .../sys/cpu_cpu_cache_index_level | 3 + .../sys/cpu_cpu_cache_index_number_of_sets | 3 + ...pu_cpu_cache_index_physical_line_partition | 3 + .../sys/cpu_cpu_cache_index_shared_cpu_list | 3 + .../sys/cpu_cpu_cache_index_shared_cpu_map | 3 + .../sys/cpu_cpu_cache_index_size | 3 + .../sys/cpu_cpu_cache_index_type | 3 + .../cpu_cpu_cache_index_ways_of_associativity | 3 + test/proc_sys_checker/sys/cpu_cpu_online | 3 + .../sys/cpu_cpu_topology_core_id | 3 + .../sys/cpu_cpu_topology_core_siblings | 3 + .../sys/cpu_cpu_topology_core_siblings_list | 3 + .../sys/cpu_cpu_topology_physical_package_id | 3 + .../sys/cpu_cpu_topology_thread_siblings | 3 + .../sys/cpu_cpu_topology_thread_siblings_list | 3 + test/proc_sys_checker/sys/cpu_offline | 3 + test/proc_sys_checker/sys/cpu_online | 3 + test/proc_sys_checker/sys/cpu_possible | 3 + test/proc_sys_checker/sys/cpu_present | 3 + test/proc_sys_checker/sys/node_node_cpumap | 3 + test/proc_sys_checker/sys/node_node_distance | 3 + test/proc_sys_checker/sys/node_online | 3 + test/proc_sys_checker/sys/node_possible | 3 + test/proc_sys_checker/sys/pci_local_cpulist | 3 + test/proc_sys_checker/sys/pci_local_cpus | 3 + 38 files changed, 387 insertions(+) create mode 100755 test/proc_sys_checker/file_format_check.pl create mode 100755 test/proc_sys_checker/file_format_check.sh create mode 100644 test/proc_sys_checker/input create mode 100644 test/proc_sys_checker/proc/proc_pid_cgroup create mode 100644 test/proc_sys_checker/proc/proc_pid_cmdline create mode 100644 test/proc_sys_checker/proc/proc_pid_cpuset create mode 100644 test/proc_sys_checker/proc/proc_pid_maps create mode 100644 test/proc_sys_checker/proc/proc_pid_smaps create mode 100644 test/proc_sys_checker/proc/proc_pid_stat create mode 100644 test/proc_sys_checker/proc/proc_pid_status create mode 100644 test/proc_sys_checker/proc/proc_pid_task_thid_stat create mode 100644 test/proc_sys_checker/proc/proc_stat create mode 100644 test/proc_sys_checker/sys/cpu_cpu_cache_index_coherency_line_size create mode 100644 test/proc_sys_checker/sys/cpu_cpu_cache_index_level create mode 100644 test/proc_sys_checker/sys/cpu_cpu_cache_index_number_of_sets create mode 100644 test/proc_sys_checker/sys/cpu_cpu_cache_index_physical_line_partition create mode 100644 test/proc_sys_checker/sys/cpu_cpu_cache_index_shared_cpu_list create mode 100644 test/proc_sys_checker/sys/cpu_cpu_cache_index_shared_cpu_map create mode 100644 test/proc_sys_checker/sys/cpu_cpu_cache_index_size create mode 100644 test/proc_sys_checker/sys/cpu_cpu_cache_index_type create mode 100644 test/proc_sys_checker/sys/cpu_cpu_cache_index_ways_of_associativity create mode 100644 test/proc_sys_checker/sys/cpu_cpu_online create mode 100644 test/proc_sys_checker/sys/cpu_cpu_topology_core_id create mode 100644 test/proc_sys_checker/sys/cpu_cpu_topology_core_siblings create mode 100644 test/proc_sys_checker/sys/cpu_cpu_topology_core_siblings_list create mode 100644 test/proc_sys_checker/sys/cpu_cpu_topology_physical_package_id create mode 100644 test/proc_sys_checker/sys/cpu_cpu_topology_thread_siblings create mode 100644 test/proc_sys_checker/sys/cpu_cpu_topology_thread_siblings_list create mode 100644 test/proc_sys_checker/sys/cpu_offline create mode 100644 test/proc_sys_checker/sys/cpu_online create mode 100644 test/proc_sys_checker/sys/cpu_possible create mode 100644 test/proc_sys_checker/sys/cpu_present create mode 100644 test/proc_sys_checker/sys/node_node_cpumap create mode 100644 test/proc_sys_checker/sys/node_node_distance create mode 100644 test/proc_sys_checker/sys/node_online create mode 100644 test/proc_sys_checker/sys/node_possible create mode 100644 test/proc_sys_checker/sys/pci_local_cpulist create mode 100644 test/proc_sys_checker/sys/pci_local_cpus diff --git a/test/proc_sys_checker/file_format_check.pl b/test/proc_sys_checker/file_format_check.pl new file mode 100755 index 00000000..3faa1db1 --- /dev/null +++ b/test/proc_sys_checker/file_format_check.pl @@ -0,0 +1,164 @@ +#!/usr/bin/perl + +use utf8; +use Encode qw/encode decode/; + +sub count_occurence { + my $err_num = 0; + my $fn = shift(); + my @pattern = @_; + my $lineno = 0; + + if (open(DATAFILE, "< $fn")) { + while (my $line = ) { + my $check = 0; + chomp $line; + for (my $i = 0; $i <= $#pattern; $i++) { + if ($line =~ /$pattern[$i]/) { + $freq[$filecnt][$i]++; + $check = 1; + if ($loc[$i][$blockno] == 1) { + $blockno++; + } + $loc[$i][$blockno] = 1; + last; + } + } + $lineno++; + if ($check == 0) { + $no_match[$err_num] = $lineno; + $err_num++; + } + } + } else { + return -1; + } + return $err_num; +} + +if (@ARGV != 1) { + print "Usage: file_format_check.pl filename\n"; + exit(1); +} + +my @pattern1 = (); +my @pattern2 = (); +my $n = 1; +my $checkflg = 0; + +open(DATAFILE, "< $ARGV[0]") or die("Error:$!"); + +while (my $line = ) { + chomp $line; + if ($n == 1) { + $checkfilepath = $line; + } elsif ($n == 2) { + $checkmode = $line; + } elsif ($checkflg == 1) { + push @pattern2, $line; + } elsif ($line =~ /^$/) { + $checkflg = 1; + } else { + push @pattern1, $line; + push @pattern_check, 0; + } + $n++; +} + +my $fname = ""; +my $fnameflg = 0; +my $rtn_code = 0; +my $total_errcnt = 0; +my $my_tid = $$; +my $tmp_cmdls = "ls $checkfilepath"; +my $cmdls = "ls $checkfilepath"; +$cmdls =~ s/#pid#/$my_tid/g; + +if ($tmp_cmdls eq $cmdls) { + $fnameflg = 1; +} +if ($checkmode < 1 || $checkmode > 3) { + $checkmode = 1; +} + +my $cmdexec = `$cmdls`; +my @list = split(/\n/, $cmdexec); + +$filecnt = 0; +foreach my $parts(@list) { + $errcnt = 0; + $freq = (); + $loc = (); + $no_match = (); + $blockno = 0; + + # パターン検証サブルーチンコール + my $rtn_code = &count_occurence($parts, @pattern1, @pattern2); + + if ($rtn_code == -1) { + $err_msg = "$err_msg Err(ファイルが存在しませんでした)\n"; + $errcnt = 1; + } else { + for (my $i = 0; $i <= $#no_match; $i++) { + $err_msg = "$err_msg Err(対象ファイルの$no_match[$i]行目がどのパターンにも合致しませんでした)\n"; + $errcnt++; + } + # pattern1 + if ($checkmode == 1) { + for (my $i = 0; $i <= $#pattern1; $i++) { + if ($freq[$filecnt][$i] == 0) { + $err_msg = "$err_msg Err(チェックパターン($pattern1[$i])に一致する行が存在しませんでした)\n"; + $errcnt++; + } elsif ($freq[$filecnt][$i] > 1) { + $err_msg = "$err_msg Err(チェックパターン($pattern1[$i])に一致する行が複数回存在しました)\n"; + $errcnt++; + } + } + # pattern2 + } elsif ($checkmode == 2) { + for (my $i = 0; $i <= $#pattern1; $i++) { + if ($freq[$filecnt][$i] == 0) { + $err_msg = "$err_msg Err(チェックパターン($pattern1[$i])に一致する行が存在しませんでした)\n"; + $errcnt++; + } + } + # pattern3 + } elsif ($checkmode == 3) { + $count = $freq[$filecnt][0]; + for (my $i = 0; $i <= $#pattern1; $i++) { + if ($freq[$filecnt][$i] == 0) { + $err_msg = "$err_msg Err(全ブロックでチェックパターン($pattern1[$i])が存在しませんでした)\n"; + $errcnt++; + } elsif ($freq[$filecnt][$i] != $count) { + for (my $j = 0; $j <= $blockno; $j++) { + if ($loc[$i][$j] != 1) { + $bno = $j + 1; + $err_msg = "$err_msg Err(${bno}ブロック目でチェックパターン($pattern1[$i])に一致する行が存在しませんでした)\n"; + $errcnt++; + } + } + } + } + } + } + if ($fnameflg == 0) { + $fname = $checkfilepath; + } else { + $fname = $parts; + } + if ($errcnt == 0) { + print "[OK] $fname\n"; + } else { + print "[NG] $fname\n"; + $err_msg = encode('UTF-8', $err_msg); + print "$err_msg"; + system("cat $parts > NG_`basename $ARGV[0]`"); + } + $total_errcnt = $total_errcnt + $errcnt; + $filecnt++; +} +if ($total_errcnt == 0) { + exit(0); +} else { + exit($total_errcnt); +} diff --git a/test/proc_sys_checker/file_format_check.sh b/test/proc_sys_checker/file_format_check.sh new file mode 100755 index 00000000..0d7b5c5f --- /dev/null +++ b/test/proc_sys_checker/file_format_check.sh @@ -0,0 +1,14 @@ +#!/bin/sh +#file_format_check.sh + +filename="./input" + +if [ "x$1" != "x" ]; then + filename=$1 +fi + +cat /dev/null > outfile +cat ${filename} | while read line +do + ./file_format_check.pl $line >> outfile +done diff --git a/test/proc_sys_checker/input b/test/proc_sys_checker/input new file mode 100644 index 00000000..50228154 --- /dev/null +++ b/test/proc_sys_checker/input @@ -0,0 +1,35 @@ +./proc/proc_stat +./proc/proc_pid_cgroup +./proc/proc_pid_cmdline +./proc/proc_pid_cpuset +./proc/proc_pid_maps +./proc/proc_pid_smaps +./proc/proc_pid_stat +./proc/proc_pid_status +./proc/proc_pid_task_thid_stat +./sys/cpu_offline +./sys/cpu_online +./sys/cpu_possible +./sys/cpu_present +./sys/cpu_cpu_online +./sys/cpu_cpu_cache_index_level +./sys/cpu_cpu_cache_index_type +./sys/cpu_cpu_cache_index_size +./sys/cpu_cpu_cache_index_coherency_line_size +./sys/cpu_cpu_cache_index_number_of_sets +./sys/cpu_cpu_cache_index_physical_line_partition +./sys/cpu_cpu_cache_index_ways_of_associativity +./sys/cpu_cpu_cache_index_shared_cpu_map +./sys/cpu_cpu_cache_index_shared_cpu_list +./sys/cpu_cpu_topology_physical_package_id +./sys/cpu_cpu_topology_core_id +./sys/cpu_cpu_topology_core_siblings +./sys/cpu_cpu_topology_core_siblings_list +./sys/cpu_cpu_topology_thread_siblings +./sys/cpu_cpu_topology_thread_siblings_list +./sys/node_online +./sys/node_possible +./sys/node_node_distance +./sys/node_node_cpumap +./sys/pci_local_cpus +./sys/pci_local_cpulist diff --git a/test/proc_sys_checker/proc/proc_pid_cgroup b/test/proc_sys_checker/proc/proc_pid_cgroup new file mode 100644 index 00000000..09dde865 --- /dev/null +++ b/test/proc_sys_checker/proc/proc_pid_cgroup @@ -0,0 +1,4 @@ +/proc/#pid#/cgroup +1 + +^[\d]+[:][\w=,]+[:][/\w\-.@]+ diff --git a/test/proc_sys_checker/proc/proc_pid_cmdline b/test/proc_sys_checker/proc/proc_pid_cmdline new file mode 100644 index 00000000..1a906d18 --- /dev/null +++ b/test/proc_sys_checker/proc/proc_pid_cmdline @@ -0,0 +1,3 @@ +/proc/#pid#/cmdline +1 +^[\s\w/\-\(\).=:\[\]@]+ diff --git a/test/proc_sys_checker/proc/proc_pid_cpuset b/test/proc_sys_checker/proc/proc_pid_cpuset new file mode 100644 index 00000000..d1a4a65e --- /dev/null +++ b/test/proc_sys_checker/proc/proc_pid_cpuset @@ -0,0 +1,4 @@ +/proc/#pid#/cpuset +1 + +^[/][\w/\-]* diff --git a/test/proc_sys_checker/proc/proc_pid_maps b/test/proc_sys_checker/proc/proc_pid_maps new file mode 100644 index 00000000..4370fa1a --- /dev/null +++ b/test/proc_sys_checker/proc/proc_pid_maps @@ -0,0 +1,3 @@ +/proc/#pid#/maps +2 +^[\da-f]+[\-][\da-f]+\s[rwxsp\-]{4}\s[\da-f]+\s[\d]{2}[:][\d]{2}\s[\d]+([\s]+\[heap\]|[\s]+\[vdso\]|[\s]+\[stack\]|[\s]+\[stack:[\d]+\]|[\s]+\[vsyscall\]|[\s]+/[\w/\-.]+|\s) diff --git a/test/proc_sys_checker/proc/proc_pid_smaps b/test/proc_sys_checker/proc/proc_pid_smaps new file mode 100644 index 00000000..a1227bab --- /dev/null +++ b/test/proc_sys_checker/proc/proc_pid_smaps @@ -0,0 +1,20 @@ +/proc/#pid#/smaps +3 +^[\da-f]+[\-][\da-f]+\s[rwxsp\-]{4}\s[\da-f]+\s[\d]{2}[:][\d]{2}\s[\d]+([\s]+\[heap\]|[\s]+\[vdso\]|[\s]+\[stack\]|[\s]+\[stack:[\d]+\]|[\s]+\[vsyscall\]|[\s]+/[\w/\-.]+|\s) +^Size:[\s]+[\d]+\skB +^Rss:[\s]+[\d]+\skB +^Pss:[\s]+[\d]+\skB +^Shared_Clean:[\s]+[\d]+\skB +^Shared_Dirty:[\s]+[\d]+\skB +^Private_Clean:[\s]+[\d]+\skB +^Private_Dirty:[\s]+[\d]+\skB +^Referenced:[\s]+[\d]+\skB +^Anonymous:[\s]+[\d]+\skB +^AnonHugePages:[\s]+[\d]+\skB +^Swap:[\s]+[\d]+\skB +^KernelPageSize:[\s]+[\d]+\skB +^MMUPageSize:[\s]+[\d]+\skB +^Locked:[\s]+[\d]+\skB +^VmFlags:[\s]+([\l]{2}\s)* + +^Nonlinear:[\s]+[\d]+\skB diff --git a/test/proc_sys_checker/proc/proc_pid_stat b/test/proc_sys_checker/proc/proc_pid_stat new file mode 100644 index 00000000..7149777c --- /dev/null +++ b/test/proc_sys_checker/proc/proc_pid_stat @@ -0,0 +1,3 @@ +/proc/#pid#/stat +1 +^[\d]+\s\([\w/\-.:]+\)\s[R|S|D|T|t|X|Z]\s[\-]*[\d]+\s[\-]*[\d]+\s[\-]*[\d]+\s[\-]*[\d]+\s[\-]*[\d]+\s[\d]+\s[\d]+\s[\d]+\s[\d]+\s[\d]+\s[\d]+\s[\d]+\s[\-]*[\d]+\s[\-]*[\d]+\s[\-]*[\d]+\s[\-]*[\d]+\s[\-]*[\d]+\s[\-]*[\d]+\s[\d]+\s[\d]+\s[\-]*[\d]+\s[\d]+\s[\d]+\s[\d]+\s[\d]+\s[\d]+\s[\d]+\s[\d]+\s[\d]+\s[\d]+\s[\d]+\s[\d]+\s[\d]+\s[\d]+\s[\-]*[\d]+\s[\-]*[\d]+\s[\d]+\s[\d]+\s[\d]+\s[\d]+\s[\-]*[\d]+\s[\d]+\s[\d]+\s[\d]+\s[\d]+\s[\d]+\s[\d]+\s[\d]+\s[\-]*[\d]+ diff --git a/test/proc_sys_checker/proc/proc_pid_status b/test/proc_sys_checker/proc/proc_pid_status new file mode 100644 index 00000000..09a331b2 --- /dev/null +++ b/test/proc_sys_checker/proc/proc_pid_status @@ -0,0 +1,44 @@ +/proc/#pid#/status +1 +^Name:\t[\w]+ +^State:\t(R \(running\)|S \(sleeping\)|D \(disk sleep\)|T \(stopped\)|t \(tracing stop\)|X \(dead\)|Z \(zombie\)) +^Tgid:\t[\d]+ +^Ngid:\t[\d]+ +^Pid:\t[\d]+ +^PPid:\t[\d]+ +^TracerPid:\t[\d]+ +^Uid:\t[\d]+\t[\d]+\t[\d]+\t[\d]+ +^Gid:\t[\d]+\t[\d]+\t[\d]+\t[\d]+ +^FDSize:\t[0-9]+ +^Groups:\t(([\d]+)(\s))* +^VmPeak:[\s]+[\d]{1,8}\skB +^VmSize:[\s]+[\d]{1,8}\skB +^VmLck:[\s]+[\d]{1,8}\skB +^VmPin:[\s]+[\d]{1,8}\skB +^VmHWM:[\s]+[\d]{1,8}\skB +^VmRSS:[\s]+[\d]{1,8}\skB +^VmData:[\s]+[\d]{1,8}\skB +^VmStk:[\s]+[\d]{1,8}\skB +^VmExe:[\s]+[\d]{1,8}\skB +^VmLib:[\s]+[\d]{1,8}\skB +^VmPTE:[\s]+[\d]{1,8}\skB +^VmSwap:[\s]+[\d]{1,8}\skB +^Threads:\t[\d]+ +^SigQ:\t[\d]+/[\d]+ +^SigPnd:\t[\da-f]+ +^ShdPnd:\t[\da-f]+ +^SigBlk:\t[\da-f]+ +^SigIgn:\t[\da-f]+ +^SigCgt:\t[\da-f]+ +^CapInh:\t[\da-f]+ +^CapPrm:\t[\da-f]+ +^CapEff:\t[\da-f]+ +^CapBnd:\t[\da-f]+ +^Cpus_allowed:\t[\da-f,]+ +^Cpus_allowed_list:\t[\d,\-]+ +^Mems_allowed:\t[\da-f,]+ +^Mems_allowed_list:\t[\d,\-]+ +^voluntary_ctxt_switches:\t[\d]+ +^nonvoluntary_ctxt_switches:\t[\d]+ + +^Seccomp:[\s]+[\d]+ diff --git a/test/proc_sys_checker/proc/proc_pid_task_thid_stat b/test/proc_sys_checker/proc/proc_pid_task_thid_stat new file mode 100644 index 00000000..fd59f47b --- /dev/null +++ b/test/proc_sys_checker/proc/proc_pid_task_thid_stat @@ -0,0 +1,3 @@ +/proc/#pid#/task/#pid#/stat +1 +^[\d]+\s\([\w]+\)\s[R|S|D|T|t|X|Z]\s[\-]*[\d]+\s[\-]*[\d]+\s[\-]*[\d]+\s[\-]*[\d]+\s[\-]*[\d]+\s[\d]+\s[\d]+\s[\d]+\s[\d]+\s[\d]+\s[\d]+\s[\d]+\s[\-]*[\d]+\s[\-]*[\d]+\s[\-]*[\d]+\s[\-]*[\d]+\s[\-]*[\d]+\s[\-]*[\d]+\s[\d]+\s[\d]+\s[\-]*[\d]+\s[\d]+\s[\d]+\s[\d]+\s[\d]+\s[\d]+\s[\d]+\s[\d]+\s[\d]+\s[\d]+\s[\d]+\s[\d]+\s[\d]+\s[\d]+\s[\-]*[\d]+\s[\-]*[\d]+\s[\d]+\s[\d]+\s[\d]+\s[\d]+\s[\-]*[\d]+\s[\d]+\s[\d]+\s[\d]+\s[\d]+\s[\d]+\s[\d]+\s[\d]+\s[\-]*[\d]+ diff --git a/test/proc_sys_checker/proc/proc_stat b/test/proc_sys_checker/proc/proc_stat new file mode 100644 index 00000000..212eb03c --- /dev/null +++ b/test/proc_sys_checker/proc/proc_stat @@ -0,0 +1,12 @@ +/proc/stat +1 +^cpu\s((\s)([\d]+)){10} +^intr((\s)([\d]+))+ +^ctxt\s[\d]+ +^btime\s[\d]+ +^processes\s[\d]+ +^procs_running\s[\d]+ +^procs_blocked\s[\d]+ +^softirq((\s)([\d]+)){11} + +^cpu[\d]+((\s)([\d]+)){10} diff --git a/test/proc_sys_checker/sys/cpu_cpu_cache_index_coherency_line_size b/test/proc_sys_checker/sys/cpu_cpu_cache_index_coherency_line_size new file mode 100644 index 00000000..75b8e9dd --- /dev/null +++ b/test/proc_sys_checker/sys/cpu_cpu_cache_index_coherency_line_size @@ -0,0 +1,3 @@ +/sys/devices/system/cpu/cpu0/cache/index[0-1]/coherency_line_size +1 +^[\d]+ diff --git a/test/proc_sys_checker/sys/cpu_cpu_cache_index_level b/test/proc_sys_checker/sys/cpu_cpu_cache_index_level new file mode 100644 index 00000000..071f647c --- /dev/null +++ b/test/proc_sys_checker/sys/cpu_cpu_cache_index_level @@ -0,0 +1,3 @@ +/sys/devices/system/cpu/cpu0/cache/index[0-1]/level +1 +^[\d]+ diff --git a/test/proc_sys_checker/sys/cpu_cpu_cache_index_number_of_sets b/test/proc_sys_checker/sys/cpu_cpu_cache_index_number_of_sets new file mode 100644 index 00000000..0a9d8c0c --- /dev/null +++ b/test/proc_sys_checker/sys/cpu_cpu_cache_index_number_of_sets @@ -0,0 +1,3 @@ +/sys/devices/system/cpu/cpu0/cache/index[0-1]/number_of_sets +1 +^[\d]+ diff --git a/test/proc_sys_checker/sys/cpu_cpu_cache_index_physical_line_partition b/test/proc_sys_checker/sys/cpu_cpu_cache_index_physical_line_partition new file mode 100644 index 00000000..cb7d8014 --- /dev/null +++ b/test/proc_sys_checker/sys/cpu_cpu_cache_index_physical_line_partition @@ -0,0 +1,3 @@ +/sys/devices/system/cpu/cpu0/cache/index[0-1]/physical_line_partition +1 +^[\d]+ diff --git a/test/proc_sys_checker/sys/cpu_cpu_cache_index_shared_cpu_list b/test/proc_sys_checker/sys/cpu_cpu_cache_index_shared_cpu_list new file mode 100644 index 00000000..e5cdf947 --- /dev/null +++ b/test/proc_sys_checker/sys/cpu_cpu_cache_index_shared_cpu_list @@ -0,0 +1,3 @@ +/sys/devices/system/cpu/cpu0/cache/index[0-1]/shared_cpu_list +1 +^[\d,\-]+ diff --git a/test/proc_sys_checker/sys/cpu_cpu_cache_index_shared_cpu_map b/test/proc_sys_checker/sys/cpu_cpu_cache_index_shared_cpu_map new file mode 100644 index 00000000..9dc0dbc7 --- /dev/null +++ b/test/proc_sys_checker/sys/cpu_cpu_cache_index_shared_cpu_map @@ -0,0 +1,3 @@ +/sys/devices/system/cpu/cpu0/cache/index[0-1]/shared_cpu_map +1 +^[\da-f,]+ diff --git a/test/proc_sys_checker/sys/cpu_cpu_cache_index_size b/test/proc_sys_checker/sys/cpu_cpu_cache_index_size new file mode 100644 index 00000000..aed81de8 --- /dev/null +++ b/test/proc_sys_checker/sys/cpu_cpu_cache_index_size @@ -0,0 +1,3 @@ +/sys/devices/system/cpu/cpu0/cache/index[0-1]/size +1 +^[\d]+K diff --git a/test/proc_sys_checker/sys/cpu_cpu_cache_index_type b/test/proc_sys_checker/sys/cpu_cpu_cache_index_type new file mode 100644 index 00000000..cd904ab4 --- /dev/null +++ b/test/proc_sys_checker/sys/cpu_cpu_cache_index_type @@ -0,0 +1,3 @@ +/sys/devices/system/cpu/cpu0/cache/index[0-1]/type +1 +^(Instruction|Data|Unified|Unknown) diff --git a/test/proc_sys_checker/sys/cpu_cpu_cache_index_ways_of_associativity b/test/proc_sys_checker/sys/cpu_cpu_cache_index_ways_of_associativity new file mode 100644 index 00000000..26b330e3 --- /dev/null +++ b/test/proc_sys_checker/sys/cpu_cpu_cache_index_ways_of_associativity @@ -0,0 +1,3 @@ +/sys/devices/system/cpu/cpu0/cache/index[0-1]/ways_of_associativity +1 +^[\d]+ diff --git a/test/proc_sys_checker/sys/cpu_cpu_online b/test/proc_sys_checker/sys/cpu_cpu_online new file mode 100644 index 00000000..536e9b4c --- /dev/null +++ b/test/proc_sys_checker/sys/cpu_cpu_online @@ -0,0 +1,3 @@ +/sys/devices/system/cpu/cpu1/online +1 +^[0-1] diff --git a/test/proc_sys_checker/sys/cpu_cpu_topology_core_id b/test/proc_sys_checker/sys/cpu_cpu_topology_core_id new file mode 100644 index 00000000..d4a93acb --- /dev/null +++ b/test/proc_sys_checker/sys/cpu_cpu_topology_core_id @@ -0,0 +1,3 @@ +/sys/devices/system/cpu/cpu0/topology/core_id +1 +^[\d]+ diff --git a/test/proc_sys_checker/sys/cpu_cpu_topology_core_siblings b/test/proc_sys_checker/sys/cpu_cpu_topology_core_siblings new file mode 100644 index 00000000..65b6ceb9 --- /dev/null +++ b/test/proc_sys_checker/sys/cpu_cpu_topology_core_siblings @@ -0,0 +1,3 @@ +/sys/devices/system/cpu/cpu0/topology/core_siblings +1 +^[\da-f,]+ diff --git a/test/proc_sys_checker/sys/cpu_cpu_topology_core_siblings_list b/test/proc_sys_checker/sys/cpu_cpu_topology_core_siblings_list new file mode 100644 index 00000000..219e8448 --- /dev/null +++ b/test/proc_sys_checker/sys/cpu_cpu_topology_core_siblings_list @@ -0,0 +1,3 @@ +/sys/devices/system/cpu/cpu0/topology/core_siblings_list +1 +^[\d,\-]+ diff --git a/test/proc_sys_checker/sys/cpu_cpu_topology_physical_package_id b/test/proc_sys_checker/sys/cpu_cpu_topology_physical_package_id new file mode 100644 index 00000000..6ca56247 --- /dev/null +++ b/test/proc_sys_checker/sys/cpu_cpu_topology_physical_package_id @@ -0,0 +1,3 @@ +/sys/devices/system/cpu/cpu0/topology/physical_package_id +1 +^[\d]+ diff --git a/test/proc_sys_checker/sys/cpu_cpu_topology_thread_siblings b/test/proc_sys_checker/sys/cpu_cpu_topology_thread_siblings new file mode 100644 index 00000000..db9efd88 --- /dev/null +++ b/test/proc_sys_checker/sys/cpu_cpu_topology_thread_siblings @@ -0,0 +1,3 @@ +/sys/devices/system/cpu/cpu0/topology/thread_siblings +1 +^[\da-f,]+ diff --git a/test/proc_sys_checker/sys/cpu_cpu_topology_thread_siblings_list b/test/proc_sys_checker/sys/cpu_cpu_topology_thread_siblings_list new file mode 100644 index 00000000..aec57c2f --- /dev/null +++ b/test/proc_sys_checker/sys/cpu_cpu_topology_thread_siblings_list @@ -0,0 +1,3 @@ +/sys/devices/system/cpu/cpu0/topology/thread_siblings_list +1 +^[\d,\-]+ diff --git a/test/proc_sys_checker/sys/cpu_offline b/test/proc_sys_checker/sys/cpu_offline new file mode 100644 index 00000000..a73fa766 --- /dev/null +++ b/test/proc_sys_checker/sys/cpu_offline @@ -0,0 +1,3 @@ +/sys/devices/system/cpu/offline +2 +^[\d,\-]* diff --git a/test/proc_sys_checker/sys/cpu_online b/test/proc_sys_checker/sys/cpu_online new file mode 100644 index 00000000..5a3313ae --- /dev/null +++ b/test/proc_sys_checker/sys/cpu_online @@ -0,0 +1,3 @@ +/sys/devices/system/cpu/online +1 +^[\d,\-]+ diff --git a/test/proc_sys_checker/sys/cpu_possible b/test/proc_sys_checker/sys/cpu_possible new file mode 100644 index 00000000..69aac483 --- /dev/null +++ b/test/proc_sys_checker/sys/cpu_possible @@ -0,0 +1,3 @@ +/sys/devices/system/cpu/possible +1 +^[\d,\-]+ diff --git a/test/proc_sys_checker/sys/cpu_present b/test/proc_sys_checker/sys/cpu_present new file mode 100644 index 00000000..1d430bf1 --- /dev/null +++ b/test/proc_sys_checker/sys/cpu_present @@ -0,0 +1,3 @@ +/sys/devices/system/cpu/present +1 +^[\d,\-]+ diff --git a/test/proc_sys_checker/sys/node_node_cpumap b/test/proc_sys_checker/sys/node_node_cpumap new file mode 100644 index 00000000..b5f7d3b4 --- /dev/null +++ b/test/proc_sys_checker/sys/node_node_cpumap @@ -0,0 +1,3 @@ +/sys/devices/system/node/node0/cpumap +1 +^[\d,\-]+ diff --git a/test/proc_sys_checker/sys/node_node_distance b/test/proc_sys_checker/sys/node_node_distance new file mode 100644 index 00000000..8386b8b2 --- /dev/null +++ b/test/proc_sys_checker/sys/node_node_distance @@ -0,0 +1,3 @@ +/sys/devices/system/node/node0/distance +1 +^[\d\s]+ diff --git a/test/proc_sys_checker/sys/node_online b/test/proc_sys_checker/sys/node_online new file mode 100644 index 00000000..c736b4df --- /dev/null +++ b/test/proc_sys_checker/sys/node_online @@ -0,0 +1,3 @@ +/sys/devices/system/node/online +1 +^[\d,\-]+ diff --git a/test/proc_sys_checker/sys/node_possible b/test/proc_sys_checker/sys/node_possible new file mode 100644 index 00000000..7966fdff --- /dev/null +++ b/test/proc_sys_checker/sys/node_possible @@ -0,0 +1,3 @@ +/sys/devices/system/node/possible +1 +^[\d,\-]+ diff --git a/test/proc_sys_checker/sys/pci_local_cpulist b/test/proc_sys_checker/sys/pci_local_cpulist new file mode 100644 index 00000000..9efca4b3 --- /dev/null +++ b/test/proc_sys_checker/sys/pci_local_cpulist @@ -0,0 +1,3 @@ +/sys/devices/pci0000:00/0000:00:00.0/local_cpulist +1 +^[\d,\-]+ diff --git a/test/proc_sys_checker/sys/pci_local_cpus b/test/proc_sys_checker/sys/pci_local_cpus new file mode 100644 index 00000000..0241ab61 --- /dev/null +++ b/test/proc_sys_checker/sys/pci_local_cpus @@ -0,0 +1,3 @@ +/sys/devices/pci0000:00/0000:00:00.0/local_cpus +1 +^[\da-f,]+