summaryrefslogtreecommitdiffstatshomepage
path: root/configfile.h
blob: 04235e547c87201249b8fab47f3eff7be843bcd7 (plain)
1
2
3
4
5
6
7
8
#ifndef CONFIGFILE_H
#define CONFIGFILE_H

typedef void (*configfile_value_fn)(const char *name, const char *value);

extern int parse_configfile(const char *filename, configfile_value_fn fn);

#endif /* CONFIGFILE_H */
' grep "<div class=.hunk.>@@ -0,0 +1 @@</div>" tmp ' test_expect_success 'find added line' ' grep "<div class=.add.>+5</div>" tmp ' test_done 0 } /* Comment.Special */ .highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */ .highlight .ge { font-style: italic } /* Generic.Emph */ .highlight .gr { color: #aa0000 } /* Generic.Error */ .highlight .gh { color: #333333 } /* Generic.Heading */ .highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */ .highlight .go { color: #888888 } /* Generic.Output */ .highlight .gp { color: #555555 } /* Generic.Prompt */ .highlight .gs { font-weight: bold } /* Generic.Strong */ .highlight .gu { color: #666666 } /* Generic.Subheading */ .highlight .gt { color: #aa0000 } /* Generic.Traceback */ .highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */ .highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */ .highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */ .highlight .kp { color: #008800 } /* Keyword.Pseudo */ .highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */ .highlight .kt { color: #888888; font-weight: bold } /* Keyword.Type */ .highlight .m { color: #0000DD; font-weight: bold } /* Literal.Number */ .highlight .s { color: #dd2200; background-color: #fff0f0 } /* Literal.String */ .highlight .na { color: #336699 } /* Name.Attribute */ .highlight .nb { color: #003388 } /* Name.Builtin */ .highlight .nc { color: #bb0066; font-weight: bold } /* Name.Class */ .highlight .no { color: #003366; font-weight: bold } /* Name.Constant */ .highlight .nd { color: #555555 } /* Name.Decorator */ .highlight .ne { color: #bb0066; font-weight: bold } /* Name.Exception */ .highlight .nf { color: #0066bb; font-weight: bold } /* Name.Function */ .highlight .nl { color: #336699; font-style: italic } /* Name.Label */ .highlight .nn { color: #bb0066; font-weight: bold } /* Name.Namespace */ .highlight .py { color: #336699; font-weight: bold } /* Name.Property */ .highlight .nt { color: #bb0066; font-weight: bold } /* Name.Tag */ .highlight .nv { color: #336699 } /* Name.Variable */ .highlight .ow { color: #008800 } /* Operator.Word */ .highlight .w { color: #bbbbbb } /* Text.Whitespace */ .highlight .mb { color: #0000DD; font-weight: bold } /* Literal.Number.Bin */ .highlight .mf { color: #0000DD; font-weight: bold } /* Literal.Number.Float */ .highlight .mh { color: #0000DD; font-weight: bold } /* Literal.Number.Hex */ .highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */ .highlight .mo { color: #0000DD; font-weight: bold } /* Literal.Number.Oct */ .highlight .sa { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Affix */ .highlight .sb { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Backtick */ .highlight .sc { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Char */ .highlight .dl { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Delimiter */ .highlight .sd { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Doc */ .highlight .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */ .highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */ .highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */ .highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */ .highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */ .highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */ .highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */ .highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */ .highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */ .highlight .vc { color: #336699 } /* Name.Variable.Class */ .highlight .vg { color: #dd7700 } /* Name.Variable.Global */ .highlight .vi { color: #3333bb } /* Name.Variable.Instance */ .highlight .vm { color: #336699 } /* Name.Variable.Magic */ .highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
#!/bin/sh

test_description='Verify snapshot'
. ./setup.sh

test_expect_success 'get foo/snapshot/master.tar.gz' '
	cgit_url "foo/snapshot/master.tar.gz" >tmp
'

test_expect_success 'check html headers' '
	head -n 1 tmp |
	grep "Content-Type: application/x-gzip" &&

	head -n 2 tmp |
	grep "Content-Disposition: inline; filename=.master.tar.gz."
'

test_expect_success 'strip off the header lines' '
	strip_headers <tmp >master.tar.gz
'

test_expect_success 'verify gzip format' '
	gunzip --test master.tar.gz
'

test_expect_success 'untar' '
	rm -rf master &&
	gzip -dc master.tar.gz | tar -xf -
'

test_expect_success 'count files' '
	ls master/ >output &&
	test_line_count = 5 output
'

test_expect_success 'verify untarred file-5' '
	grep "^5$" master/file-5 &&
	test_line_count = 1 master/file-5
'

if test -n "$(which lzip 2>/dev/null)"; then
	test_set_prereq LZIP
else
	say 'Skipping LZIP validation tests: lzip not found'
fi

test_expect_success LZIP 'get foo/snapshot/master.tar.lz' '
	cgit_url "foo/snapshot/master.tar.lz" >tmp
'

test_expect_success LZIP 'check html headers' '
	head -n 1 tmp |
	grep "Content-Type: application/x-lzip" &&

	head -n 2 tmp |
	grep "Content-Disposition: inline; filename=.master.tar.lz."
'

test_expect_success LZIP 'strip off the header lines' '
	strip_headers <tmp >master.tar.lz
'

test_expect_success LZIP 'verify lzip format' '
	lzip --test master.tar.lz
'

test_expect_success LZIP 'untar' '
	rm -rf master &&
	lzip -dc master.tar.lz | tar -xf -
'

test_expect_success LZIP 'count files' '
	ls master/ >output &&
	test_line_count = 5 output
'

test_expect_success LZIP 'verify untarred file-5' '
	grep "^5$" master/file-5 &&
	test_line_count = 1 master/file-5
'

if test -n "$(which xz 2>/dev/null)"; then
	test_set_prereq XZ
else
	say 'Skipping XZ validation tests: xz not found'
fi

test_expect_success XZ 'get foo/snapshot/master.tar.xz' '
	cgit_url "foo/snapshot/master.tar.xz" >tmp
'

test_expect_success XZ 'check html headers' '
	head -n 1 tmp |
	grep "Content-Type: application/x-xz" &&

	head -n 2 tmp |
	grep "Content-Disposition: inline; filename=.master.tar.xz."
'

test_expect_success XZ 'strip off the header lines' '
	strip_headers <tmp >master.tar.xz
'

test_expect_success XZ 'verify xz format' '
	xz --test master.tar.xz
'

test_expect_success XZ 'untar' '
	rm -rf master &&
	xz -dc master.tar.xz | tar -xf -
'

test_expect_success XZ 'count files' '
	ls master/ >output &&
	test_line_count = 5 output
'

test_expect_success XZ 'verify untarred file-5' '
	grep "^5$" master/file-5 &&
	test_line_count = 1 master/file-5
'

if test -n "$(which zstd 2>/dev/null)"; then
	test_set_prereq ZSTD
else
	say 'Skipping ZSTD validation tests: zstd not found'
fi

test_expect_success ZSTD 'get foo/snapshot/master.tar.zst' '
	cgit_url "foo/snapshot/master.tar.zst" >tmp
'

test_expect_success ZSTD 'check html headers' '
	head -n 1 tmp |
	grep "Content-Type: application/x-zstd" &&

	head -n 2 tmp |
	grep "Content-Disposition: inline; filename=.master.tar.zst."
'

test_expect_success ZSTD 'strip off the header lines' '
	strip_headers <tmp >master.tar.zst
'

test_expect_success ZSTD 'verify zstd format' '
	zstd --test master.tar.zst
'

test_expect_success ZSTD 'untar' '
	rm -rf master &&
	zstd -dc master.tar.zst | tar -xf -
'

test_expect_success ZSTD 'count files' '
	ls master/ >output &&
	test_line_count = 5 output
'

test_expect_success ZSTD 'verify untarred file-5' '
	grep "^5$" master/file-5 &&
	test_line_count = 1 master/file-5
'

test_expect_success 'get foo/snapshot/master.zip' '
	cgit_url "foo/snapshot/master.zip" >tmp
'

test_expect_success 'check HTML headers (zip)' '
	head -n 1 tmp |
	grep "Content-Type: application/x-zip" &&

	head -n 2 tmp |
	grep "Content-Disposition: inline; filename=.master.zip."
'

test_expect_success 'strip off the header lines (zip)' '
	strip_headers <tmp >master.zip
'

if test -n "$(which unzip 2>/dev/null)"; then
	test_set_prereq UNZIP
else
	say 'Skipping ZIP validation tests: unzip not found'
fi

test_expect_success UNZIP 'verify zip format' '
	unzip -t master.zip
'

test_expect_success UNZIP 'unzip' '
	rm -rf master &&
	unzip master.zip
'

test_expect_success UNZIP 'count files (zip)' '
	ls master/ >output &&
	test_line_count = 5 output
'

test_expect_success UNZIP 'verify unzipped file-5' '
	grep "^5$" master/file-5 &&
	test_line_count = 1 master/file-5
'

test_done