mirror of
				https://github.com/go-gitea/gitea
				synced 2025-11-03 21:08:25 +00:00 
			
		
		
		
	* Dump: Use mholt/archive/v3 to support tar including many compressions Signed-off-by: Philipp Homann <homann.philipp@googlemail.com> * Dump: Allow dump output to stdout Signed-off-by: Philipp Homann <homann.philipp@googlemail.com> * Dump: Fixed bug present since #6677 where SessionConfig.Provider is never "file" Signed-off-by: Philipp Homann <homann.philipp@googlemail.com> * Dump: never pack RepoRootPath, LFS.ContentPath and LogRootPath when they are below AppDataPath Signed-off-by: Philipp Homann <homann.philipp@googlemail.com> * Dump: also dump LFS (fixes #10058) Signed-off-by: Philipp Homann <homann.philipp@googlemail.com> * Dump: never dump CustomPath if CustomPath is a subdir of or equal to AppDataPath (fixes #10365) Signed-off-by: Philipp Homann <homann.philipp@googlemail.com> * Use log.Info instead of fmt.Fprintf Signed-off-by: Philipp Homann <homann.philipp@googlemail.com> * import ordering * make fmt Co-authored-by: zeripath <art27@cantab.net> Co-authored-by: techknowlogick <techknowlogick@gitea.io> Co-authored-by: Matti R <matti@mdranta.net>
		
			
				
	
	
		
			55 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Bash
		
	
	
	
		
			Vendored
		
	
	
	
			
		
		
	
	
			55 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Bash
		
	
	
	
		
			Vendored
		
	
	
	
#!/bin/bash
 | 
						|
#
 | 
						|
# Copyright 2017, Joe Tsai. All rights reserved.
 | 
						|
# Use of this source code is governed by a BSD-style
 | 
						|
# license that can be found in the LICENSE.md file.
 | 
						|
 | 
						|
if [ $# == 0 ]; then
 | 
						|
	echo "Usage: $0 PKG_PATH TEST_ARGS..."
 | 
						|
	echo ""
 | 
						|
	echo "Runs coverage and performance benchmarks for a given package."
 | 
						|
	echo "The results are stored in the _zprof_ directory."
 | 
						|
	echo ""
 | 
						|
	echo "Example:"
 | 
						|
	echo "	$0 flate -test.bench=Decode/Twain/Default"
 | 
						|
	exit 1
 | 
						|
fi
 | 
						|
 | 
						|
DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
 | 
						|
PKG_PATH=$1
 | 
						|
PKG_NAME=$(basename $PKG_PATH)
 | 
						|
shift
 | 
						|
 | 
						|
TMPDIR=$(mktemp -d)
 | 
						|
trap "rm -rf $TMPDIR $PKG_PATH/$PKG_NAME.test" SIGINT SIGTERM EXIT
 | 
						|
 | 
						|
(
 | 
						|
	cd $DIR/$PKG_PATH
 | 
						|
 | 
						|
	# Print the go version.
 | 
						|
	go version
 | 
						|
 | 
						|
	# Perform coverage profiling.
 | 
						|
	go test github.com/dsnet/compress/$PKG_PATH -coverprofile $TMPDIR/cover.profile
 | 
						|
	if [ $? != 0 ]; then exit 1; fi
 | 
						|
	go tool cover -html $TMPDIR/cover.profile -o cover.html
 | 
						|
 | 
						|
	# Perform performance profiling.
 | 
						|
	if [ $# != 0 ]; then
 | 
						|
		go test -c github.com/dsnet/compress/$PKG_PATH
 | 
						|
		if [ $? != 0 ]; then exit 1; fi
 | 
						|
		./$PKG_NAME.test -test.cpuprofile $TMPDIR/cpu.profile -test.memprofile $TMPDIR/mem.profile -test.run - "$@"
 | 
						|
		PPROF="go tool pprof"
 | 
						|
		$PPROF -output=cpu.svg          -web                      $PKG_NAME.test $TMPDIR/cpu.profile 2> /dev/null
 | 
						|
		$PPROF -output=cpu.html         -weblist=.                $PKG_NAME.test $TMPDIR/cpu.profile 2> /dev/null
 | 
						|
		$PPROF -output=mem_objects.svg  -alloc_objects -web       $PKG_NAME.test $TMPDIR/mem.profile 2> /dev/null
 | 
						|
		$PPROF -output=mem_objects.html -alloc_objects -weblist=. $PKG_NAME.test $TMPDIR/mem.profile 2> /dev/null
 | 
						|
		$PPROF -output=mem_space.svg    -alloc_space   -web       $PKG_NAME.test $TMPDIR/mem.profile 2> /dev/null
 | 
						|
		$PPROF -output=mem_space.html   -alloc_space   -weblist=. $PKG_NAME.test $TMPDIR/mem.profile 2> /dev/null
 | 
						|
	fi
 | 
						|
 | 
						|
	rm -rf $DIR/_zprof_/$PKG_NAME
 | 
						|
	mkdir -p $DIR/_zprof_/$PKG_NAME
 | 
						|
	mv *.html *.svg $DIR/_zprof_/$PKG_NAME 2> /dev/null
 | 
						|
)
 |