summaryrefslogtreecommitdiff
path: root/Build/source/texk/web2c/tests/bibtex-mem.test
blob: b8ff4edcf77c82fc79178ae31677592d312c6e61 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
#! /bin/sh

# Copyright (C) 2010 Peter Breitenlohner <tex-live@tug.org>
# You may freely use, modify and/or distribute this file.

# Using test data from Philipp Lehman <lehman@gmx.net>

test -d tests || mkdir -p tests

# Create bib data
mk_bib () {
  for i
  do
    for j in 0 1 2 3 4 5 6 7 8 9; do
      for k in 0 1 2 3 4 5 6 7 8 9; do
        for l in 0 1 2 3 4 5 6 7 8 9; do
          cat <<EOF
@Type{key$i$j$k$l,
  field001	  = {Value 001},
  field002	  = {Value 002},
  field003	  = {Value 003},
  field004	  = {Value 004},
  field005	  = {Value 005},
  field006	  = {Value 006},
  field007	  = {Value 007},
  field008	  = {Value 008},
  field009	  = {Value 009},
  field010	  = {Value 010}
}

EOF
        done
      done
    done
  done
}

# Create aux data
mk_aux () {
  echo '\relax'
  echo '\citation{*}'
  echo '\bibstyle{'$1'}'
  echo '\bibdata{memtest}'
}

for t in 1 2 3; do

  mk_aux memdata$t >tests/memtest$t.aux

  case $t in
  1) mk_bib 0 >tests/memtest.bib;;
  2) mk_bib 1 >>tests/memtest.bib;;
  3) exit 0;;	# requires larger constants
  esac

# memtest3 requires:
#	SINGLE_FN_SPACE 200 (100)
#	ENT_STR_SIZE 2000 (250)
#	GLOB_STR_SIZE 2000 (1000)
#	MAX_GLOB_STRS 50 (10)

  echo "Running memtest$t ..."

  TEXMFCNF=$srcdir/../kpathsea \
    BSTINPUTS=$srcdir/tests \
    BIBINPUTS=./tests \
    ./bibtex tests/memtest$t || exit 1

done