mirror of
				git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
				synced 2025-09-04 20:19:47 +08:00 
			
		
		
		
	 2a8ec611ac
			
		
	
	
		2a8ec611ac
		
	
	
	
	
		
			
			The latest version of grep claims the egrep is now obsolete so the build now contains warnings that look like: egrep: warning: egrep is obsolescent; using grep -E fix this up by moving the related file to use "grep -E" instead. sed -i "s/egrep/grep -E/g" `grep egrep -rwl tools/memory-model` Here are the steps to install the latest grep: wget http://ftp.gnu.org/gnu/grep/grep-3.8.tar.gz tar xf grep-3.8.tar.gz cd grep-3.8 && ./configure && make sudo make install export PATH=/usr/local/bin:$PATH Signed-off-by: Tiezhu Yang <yangtiezhu@loongson.cn> Reviewed-by: Akira Yokosawa <akiyks@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
		
			
				
	
	
		
			67 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			67 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/bin/sh
 | |
| # SPDX-License-Identifier: GPL-2.0+
 | |
| #
 | |
| # Runs the C-language litmus tests having a maximum number of processes
 | |
| # to run, defaults to 6.
 | |
| #
 | |
| # sh checkghlitmus.sh
 | |
| #
 | |
| # Run from the Linux kernel tools/memory-model directory.  See the
 | |
| # parseargs.sh scripts for arguments.
 | |
| 
 | |
| . scripts/parseargs.sh
 | |
| . scripts/hwfnseg.sh
 | |
| 
 | |
| T=/tmp/checkghlitmus.sh.$$
 | |
| trap 'rm -rf $T' 0
 | |
| mkdir $T
 | |
| 
 | |
| # Clone the repository if it is not already present.
 | |
| if test -d litmus
 | |
| then
 | |
| 	:
 | |
| else
 | |
| 	git clone https://github.com/paulmckrcu/litmus
 | |
| 	( cd litmus; git checkout origin/master )
 | |
| fi
 | |
| 
 | |
| # Create any new directories that have appeared in the github litmus
 | |
| # repo since the last run.
 | |
| if test "$LKMM_DESTDIR" != "."
 | |
| then
 | |
| 	find litmus -type d -print |
 | |
| 	( cd "$LKMM_DESTDIR"; sed -e 's/^/mkdir -p /' | sh )
 | |
| fi
 | |
| 
 | |
| # Create a list of the specified litmus tests previously run.
 | |
| ( cd $LKMM_DESTDIR; find litmus -name "*.litmus${hwfnseg}.out" -print ) |
 | |
| 	sed -e "s/${hwfnseg}"'\.out$//' |
 | |
| 	xargs -r grep -E -l '^ \* Result: (Never|Sometimes|Always|DEADLOCK)' |
 | |
| 	xargs -r grep -L "^P${LKMM_PROCS}"> $T/list-C-already
 | |
| 
 | |
| # Create a list of C-language litmus tests with "Result:" commands and
 | |
| # no more than the specified number of processes.
 | |
| find litmus -name '*.litmus' -print | mselect7 -arch C > $T/list-C
 | |
| xargs < $T/list-C -r grep -E -l '^ \* Result: (Never|Sometimes|Always|DEADLOCK)' > $T/list-C-result
 | |
| xargs < $T/list-C-result -r grep -L "^P${LKMM_PROCS}" > $T/list-C-result-short
 | |
| 
 | |
| # Form list of tests without corresponding .out files
 | |
| sort $T/list-C-already $T/list-C-result-short | uniq -u > $T/list-C-needed
 | |
| 
 | |
| # Run any needed tests.
 | |
| if scripts/runlitmushist.sh < $T/list-C-needed > $T/run.stdout 2> $T/run.stderr
 | |
| then
 | |
| 	errs=
 | |
| else
 | |
| 	errs=1
 | |
| fi
 | |
| 
 | |
| sed < $T/list-C-result-short -e 's,^,scripts/judgelitmus.sh ,' |
 | |
| 	sh > $T/judge.stdout 2> $T/judge.stderr
 | |
| 
 | |
| if test -n "$errs"
 | |
| then
 | |
| 	cat $T/run.stderr 1>&2
 | |
| fi
 | |
| grep '!!!' $T/judge.stdout
 |