Fossil

Hex Artifact Content
Login

Artifact 6af9f1b0f240f6a6fb39b4588b93bb7a97cec1cbec99f3bf5e428d636a7dda25:


0000: 23 0a 23 20 43 6f 70 79 72 69 67 68 74 20 28 63  #.# Copyright (c
0010: 29 20 32 30 31 35 20 44 2e 20 52 69 63 68 61 72  ) 2015 D. Richar
0020: 64 20 48 69 70 70 0a 23 0a 23 20 54 68 69 73 20  d Hipp.#.# This 
0030: 70 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20  program is free 
0040: 73 6f 66 74 77 61 72 65 3b 20 79 6f 75 20 63 61  software; you ca
0050: 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69  n redistribute i
0060: 74 20 61 6e 64 2f 6f 72 0a 23 20 6d 6f 64 69 66  t and/or.# modif
0070: 79 20 69 74 20 75 6e 64 65 72 20 74 68 65 20 74  y it under the t
0080: 65 72 6d 73 20 6f 66 20 74 68 65 20 53 69 6d 70  erms of the Simp
0090: 6c 69 66 69 65 64 20 42 53 44 20 4c 69 63 65 6e  lified BSD Licen
00a0: 73 65 20 28 61 6c 73 6f 0a 23 20 6b 6e 6f 77 6e  se (also.# known
00b0: 20 61 73 20 74 68 65 20 22 32 2d 43 6c 61 75 73   as the "2-Claus
00c0: 65 20 4c 69 63 65 6e 73 65 22 20 6f 72 20 22 46  e License" or "F
00d0: 72 65 65 42 53 44 20 4c 69 63 65 6e 73 65 22 2e  reeBSD License".
00e0: 29 0a 23 0a 23 20 54 68 69 73 20 70 72 6f 67 72  ).#.# This progr
00f0: 61 6d 20 69 73 20 64 69 73 74 72 69 62 75 74 65  am is distribute
0100: 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 68  d in the hope th
0110: 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73  at it will be us
0120: 65 66 75 6c 2c 0a 23 20 62 75 74 20 77 69 74 68  eful,.# but with
0130: 6f 75 74 20 61 6e 79 20 77 61 72 72 61 6e 74 79  out any warranty
0140: 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74  ; without even t
0150: 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61  he implied warra
0160: 6e 74 79 20 6f 66 0a 23 20 6d 65 72 63 68 61 6e  nty of.# merchan
0170: 74 61 62 69 6c 69 74 79 20 6f 72 20 66 69 74 6e  tability or fitn
0180: 65 73 73 20 66 6f 72 20 61 20 70 61 72 74 69 63  ess for a partic
0190: 75 6c 61 72 20 70 75 72 70 6f 73 65 2e 0a 23 0a  ular purpose..#.
01a0: 23 20 41 75 74 68 6f 72 20 63 6f 6e 74 61 63 74  # Author contact
01b0: 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 3a 0a 23 20   information:.# 
01c0: 20 20 64 72 68 40 68 77 61 63 69 2e 63 6f 6d 0a    drh@hwaci.com.
01d0: 23 20 20 20 68 74 74 70 3a 2f 2f 77 77 77 2e 68  #   http://www.h
01e0: 77 61 63 69 2e 63 6f 6d 2f 64 72 68 2f 0a 23 0a  waci.com/drh/.#.
01f0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0200: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0210: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0220: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0230: 23 23 23 23 23 23 23 23 23 23 23 23 0a 23 0a 23  ############.#.#
0240: 20 54 48 31 20 44 6f 63 73 0a 23 0a 0a 66 6f 73   TH1 Docs.#..fos
0250: 73 69 6c 20 74 65 73 74 2d 74 68 2d 65 76 61 6c  sil test-th-eval
0260: 20 22 68 61 73 66 65 61 74 75 72 65 20 74 68 31   "hasfeature th1
0270: 44 6f 63 73 22 0a 0a 69 66 20 7b 5b 6e 6f 72 6d  Docs"..if {[norm
0280: 61 6c 69 7a 65 5f 72 65 73 75 6c 74 5d 20 6e 65  alize_result] ne
0290: 20 22 31 22 7d 20 7b 0a 20 20 70 75 74 73 20 22   "1"} {.  puts "
02a0: 46 6f 73 73 69 6c 20 77 61 73 20 6e 6f 74 20 63  Fossil was not c
02b0: 6f 6d 70 69 6c 65 64 20 77 69 74 68 20 54 48 31  ompiled with TH1
02c0: 20 64 6f 63 73 20 73 75 70 70 6f 72 74 2e 22 0a   docs support.".
02d0: 20 20 74 65 73 74 5f 63 6c 65 61 6e 75 70 5f 74    test_cleanup_t
02e0: 68 65 6e 5f 72 65 74 75 72 6e 0a 7d 0a 0a 66 6f  hen_return.}..fo
02f0: 73 73 69 6c 20 74 65 73 74 2d 74 68 2d 65 76 61  ssil test-th-eva
0300: 6c 20 22 68 61 73 66 65 61 74 75 72 65 20 74 63  l "hasfeature tc
0310: 6c 22 0a 0a 69 66 20 7b 5b 6e 6f 72 6d 61 6c 69  l"..if {[normali
0320: 7a 65 5f 72 65 73 75 6c 74 5d 20 6e 65 20 22 31  ze_result] ne "1
0330: 22 7d 20 7b 0a 20 20 70 75 74 73 20 22 46 6f 73  "} {.  puts "Fos
0340: 73 69 6c 20 77 61 73 20 6e 6f 74 20 63 6f 6d 70  sil was not comp
0350: 69 6c 65 64 20 77 69 74 68 20 54 63 6c 20 73 75  iled with Tcl su
0360: 70 70 6f 72 74 2e 22 0a 20 20 74 65 73 74 5f 63  pport.".  test_c
0370: 6c 65 61 6e 75 70 5f 74 68 65 6e 5f 72 65 74 75  leanup_then_retu
0380: 72 6e 0a 7d 0a 0a 69 66 20 7b 24 3a 3a 6f 75 74  rn.}..if {$::out
0390: 73 69 64 65 5f 66 6f 73 73 69 6c 5f 72 65 70 6f  side_fossil_repo
03a0: 7d 20 7b 0a 20 20 70 75 74 73 20 22 53 6b 69 70  } {.  puts "Skip
03b0: 70 69 6e 67 20 74 68 31 2d 64 6f 63 73 2d 2a 20  ping th1-docs-* 
03c0: 74 65 73 74 73 3a 20 6e 6f 74 20 69 6e 20 46 6f  tests: not in Fo
03d0: 73 73 69 6c 20 72 65 70 6f 20 63 68 65 63 6b 6f  ssil repo checko
03e0: 75 74 2e 22 0a 20 20 74 65 73 74 5f 63 6c 65 61  ut.".  test_clea
03f0: 6e 75 70 5f 74 68 65 6e 5f 72 65 74 75 72 6e 0a  nup_then_return.
0400: 7d 20 65 6c 73 65 69 66 20 28 24 3a 3a 64 69 72  } elseif ($::dir
0410: 74 79 5f 63 6b 6f 75 74 29 20 7b 0a 20 20 70 75  ty_ckout) {.  pu
0420: 74 73 20 22 53 6b 69 70 70 69 6e 67 20 74 68 31  ts "Skipping th1
0430: 2d 64 6f 63 73 2d 2a 20 74 65 73 74 73 3a 20 75  -docs-* tests: u
0440: 6e 63 6f 6d 6d 69 74 74 65 64 20 63 68 61 6e 67  ncommitted chang
0450: 65 73 20 69 6e 20 46 6f 73 73 69 6c 20 63 68 65  es in Fossil che
0460: 63 6b 6f 75 74 2e 22 0a 20 20 74 65 73 74 5f 63  ckout.".  test_c
0470: 6c 65 61 6e 75 70 5f 74 68 65 6e 5f 72 65 74 75  leanup_then_retu
0480: 72 6e 0a 7d 0a 0a 23 23 23 23 23 23 23 23 23 23  rn.}..##########
0490: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
04a0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
04b0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
04c0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
04d0: 23 23 23 23 23 0a 0a 74 65 73 74 5f 73 65 74 75  #####..test_setu
04e0: 70 20 22 22 0a 0a 23 23 23 23 23 23 23 23 23 23  p ""..##########
04f0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0500: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0510: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0520: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0530: 23 23 23 23 23 0a 0a 73 65 74 20 65 6e 76 28 54  #####..set env(T
0540: 48 31 5f 45 4e 41 42 4c 45 5f 44 4f 43 53 29 20  H1_ENABLE_DOCS) 
0550: 31 3b 20 23 20 54 48 31 20 64 6f 63 73 20 6d 75  1; # TH1 docs mu
0560: 73 74 20 62 65 20 65 6e 61 62 6c 65 64 20 66 6f  st be enabled fo
0570: 72 20 74 68 69 73 20 74 65 73 74 2e 0a 73 65 74  r this test..set
0580: 20 65 6e 76 28 54 48 31 5f 45 4e 41 42 4c 45 5f   env(TH1_ENABLE_
0590: 54 43 4c 29 20 31 3b 20 23 20 54 63 6c 20 69 6e  TCL) 1; # Tcl in
05a0: 74 65 67 72 61 74 69 6f 6e 20 6d 75 73 74 20 62  tegration must b
05b0: 65 20 65 6e 61 62 6c 65 64 20 66 6f 72 20 74 68  e enabled for th
05c0: 69 73 20 74 65 73 74 2e 0a 0a 23 23 23 23 23 23  is test...######
05d0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
05e0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
05f0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0600: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0610: 23 23 23 23 23 23 23 23 23 0a 0a 72 75 6e 5f 69  #########..run_i
0620: 6e 5f 63 68 65 63 6b 6f 75 74 20 7b 0a 20 20 73  n_checkout {.  s
0630: 65 74 20 64 61 74 61 20 5b 66 6f 73 73 69 6c 20  et data [fossil 
0640: 69 6e 66 6f 5d 0a 7d 0a 0a 72 65 67 65 78 70 20  info].}..regexp 
0650: 2d 6c 69 6e 65 20 2d 2d 20 7b 5e 72 65 70 6f 73  -line -- {^repos
0660: 69 74 6f 72 79 3a 20 20 20 28 2e 2a 29 24 7d 20  itory:   (.*)$} 
0670: 24 64 61 74 61 20 64 75 6d 6d 79 20 72 65 70 6f  $data dummy repo
0680: 73 69 74 6f 72 79 0a 0a 69 66 20 7b 5b 73 74 72  sitory..if {[str
0690: 69 6e 67 20 6c 65 6e 67 74 68 20 24 72 65 70 6f  ing length $repo
06a0: 73 69 74 6f 72 79 5d 20 3d 3d 20 30 20 7c 7c 20  sitory] == 0 || 
06b0: 21 5b 66 69 6c 65 20 65 78 69 73 74 73 20 24 72  ![file exists $r
06c0: 65 70 6f 73 69 74 6f 72 79 5d 7d 20 7b 0a 20 20  epository]} {.  
06d0: 65 72 72 6f 72 20 22 75 6e 61 62 6c 65 20 74 6f  error "unable to
06e0: 20 6c 6f 63 61 74 65 20 72 65 70 6f 73 69 74 6f   locate reposito
06f0: 72 79 22 0a 7d 0a 0a 73 65 74 20 64 61 74 61 46  ry".}..set dataF
0700: 69 6c 65 4e 61 6d 65 20 5b 66 69 6c 65 20 6a 6f  ileName [file jo
0710: 69 6e 20 24 3a 3a 74 65 73 74 64 69 72 20 74 68  in $::testdir th
0720: 31 2d 64 6f 63 73 2d 69 6e 70 75 74 2e 74 78 74  1-docs-input.txt
0730: 5d 0a 0a 23 23 23 23 23 23 23 23 23 23 23 23 23  ]..#############
0740: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0750: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0760: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0770: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0780: 23 23 0a 0a 72 75 6e 5f 69 6e 5f 63 68 65 63 6b  ##..run_in_check
0790: 6f 75 74 20 7b 0a 20 20 73 65 74 20 52 45 53 55  out {.  set RESU
07a0: 4c 54 20 5b 74 65 73 74 5f 66 6f 73 73 69 6c 5f  LT [test_fossil_
07b0: 68 74 74 70 20 5c 0a 20 20 20 20 20 20 24 72 65  http \.      $re
07c0: 70 6f 73 69 74 6f 72 79 20 24 64 61 74 61 46 69  pository $dataFi
07d0: 6c 65 4e 61 6d 65 20 2f 64 6f 63 2f 74 72 75 6e  leName /doc/trun
07e0: 6b 2f 74 65 73 74 2f 66 69 6c 65 53 74 61 74 2e  k/test/fileStat.
07f0: 74 68 31 5d 0a 7d 0a 0a 74 65 73 74 20 74 68 31  th1].}..test th1
0800: 2d 64 6f 63 73 2d 31 61 20 7b 5b 72 65 67 65 78  -docs-1a {[regex
0810: 70 20 7b 3c 74 69 74 6c 65 3e 46 6f 73 73 69 6c  p {<title>Fossil
0820: 3a 20 74 65 73 74 2f 66 69 6c 65 53 74 61 74 2e  : test/fileStat.
0830: 74 68 31 3c 2f 74 69 74 6c 65 3e 7d 20 24 52 45  th1</title>} $RE
0840: 53 55 4c 54 5d 7d 0a 74 65 73 74 20 74 68 31 2d  SULT]}.test th1-
0850: 64 6f 63 73 2d 31 62 20 7b 5b 72 65 67 65 78 70  docs-1b {[regexp
0860: 20 7b 3e 5c 5b 5b 30 2d 39 61 2d 66 5d 7b 34 30   {>\[[0-9a-f]{40
0870: 2c 36 34 7d 5c 5d 3c 7d 20 24 52 45 53 55 4c 54  ,64}\]<} $RESULT
0880: 5d 7d 0a 74 65 73 74 20 74 68 31 2d 64 6f 63 73  ]}.test th1-docs
0890: 2d 31 63 20 7b 5b 72 65 67 65 78 70 20 7b 20 63  -1c {[regexp { c
08a0: 6f 6e 74 61 69 6e 73 20 5c 64 2b 20 66 69 6c 65  ontains \d+ file
08b0: 73 5c 2e 7d 20 24 52 45 53 55 4c 54 5d 7d 0a 0a  s\.} $RESULT]}..
08c0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
08d0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
08e0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
08f0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0900: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0a  ###############.
0910: 0a 74 65 73 74 5f 63 6c 65 61 6e 75 70 0a        .test_cleanup.