annotate tests/automated/tag-tests.el @ 4465:732b87cfabf2

Document Win32 symlink behaviour; adjust tests to take it into a/c. src/ChangeLog addition: 2008-05-21 Aidan Kehoe <kehoea@parhasard.net> * fileio.c (Fmake_symbolic_link): Document behaviour when the underlying OS doesn't support symbolic links. tests/ChangeLog addition: 2008-05-21 Aidan Kehoe <kehoea@parhasard.net> * automated/mule-tests.el (featurep): Make sure that working symlinks are available before testing their functionality. Also, don't bomb out on deleting the other temporary files if deleting the first threw an error.
author Aidan Kehoe <kehoea@parhasard.net>
date Wed, 21 May 2008 16:55:14 +0200
parents 43b4a54fbf66
children 189fb67ca31a
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2071
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
1 ;; Copyright (C) 2004 Vin Shelton
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
2
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
3 ;; Author: Vin Shelton <acs@xemacs.org>
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
4 ;; Maintainer: Vin Shelton <acs@xemacs.org>
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
5 ;; Created: 2004
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
6 ;; Keywords: tests
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
7
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
8 ;; This file is part of XEmacs.
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
9
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
10 ;; XEmacs is free software; you can redistribute it and/or modify it
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
11 ;; under the terms of the GNU General Public License as published by
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
12 ;; the Free Software Foundation; either version 2, or (at your option)
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
13 ;; any later version.
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
14
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
15 ;; XEmacs is distributed in the hope that it will be useful, but
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
16 ;; WITHOUT ANY WARRANTY; without even the implied warranty of
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
17 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
18 ;; General Public License for more details.
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
19
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
20 ;; You should have received a copy of the GNU General Public License
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
21 ;; along with XEmacs; see the file COPYING. If not, write to the Free
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
22 ;; Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
23 ;; 02111-1307, USA.
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
24
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
25 ;;; Synched up with: Not in FSF.
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
26
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
27 ;;; Commentary:
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
28
2073
65dae79be48b [xemacs-hg @ 2004-05-12 06:16:14 by stephent]
stephent
parents: 2071
diff changeset
29 ;; Test tag support.
2071
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
30 ;; See test-harness.el for instructions on how to run these tests.
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
31
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
32 (let ((testfile "tag-test.c")
2073
65dae79be48b [xemacs-hg @ 2004-05-12 06:16:14 by stephent]
stephent
parents: 2071
diff changeset
33 (tagfile "TAGS")
65dae79be48b [xemacs-hg @ 2004-05-12 06:16:14 by stephent]
stephent
parents: 2071
diff changeset
34 (tags-build-completion-table nil))
65dae79be48b [xemacs-hg @ 2004-05-12 06:16:14 by stephent]
stephent
parents: 2071
diff changeset
35
65dae79be48b [xemacs-hg @ 2004-05-12 06:16:14 by stephent]
stephent
parents: 2071
diff changeset
36 (cd (temp-directory))
2071
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
37
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
38 ;; Create a TAGS file
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
39 (with-temp-file tagfile
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
40 (insert
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
41 "
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
42 tag-test.c,99
2076
58228a446857 [xemacs-hg @ 2004-05-13 16:41:23 by stephent]
stephent
parents: 2073
diff changeset
43 struct mystruct mystruct2,1
2071
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
44 struct mystruct *foo\(4,23
2076
58228a446857 [xemacs-hg @ 2004-05-13 16:41:23 by stephent]
stephent
parents: 2073
diff changeset
45 DEFUN \(\"require\", Frequire,require,7,51
2071
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
46 "))
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
47
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
48 ;; Create the test file
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
49 (with-temp-file testfile
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
50 (insert
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
51 "
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
52 struct mystruct { };
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
53
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
54 struct mystruct *foo\(\) {
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
55 }
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
56
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
57 DEFUN \(\"require\", Frequire, 1, 2, 0, /*
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
58 If feature FEATURE is not loaded, load it from FILENAME.
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
59 If FEATURE is not a member of the list `features', then the feature
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
60 is not loaded; so load the file FILENAME.
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
61 If FILENAME is omitted, the printname of FEATURE is used as the file name.
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
62 */
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
63 \(feature, filename\)\)
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
64 {
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
65 }
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
66 "))
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
67
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
68 (let ((tags-always-exact t))
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
69
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
70 ;; Search for the tag "mystruct"; this should succeed
3472
43b4a54fbf66 [xemacs-hg @ 2006-06-24 14:30:36 by stephent]
stephent
parents: 2076
diff changeset
71 (Silence-Message
43b4a54fbf66 [xemacs-hg @ 2006-06-24 14:30:36 by stephent]
stephent
parents: 2076
diff changeset
72 (find-tag "mystruct"))
2071
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
73 (Assert (eq (point) 2))
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
74
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
75 ;; Search again. The search should fail, based on the patch that
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
76 ;; Sven Grundmann submitted for 21.4.16.
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
77 (Check-Error-Message error "No more entries matching mystruct"
3472
43b4a54fbf66 [xemacs-hg @ 2006-06-24 14:30:36 by stephent]
stephent
parents: 2076
diff changeset
78 (Silence-Message
43b4a54fbf66 [xemacs-hg @ 2006-06-24 14:30:36 by stephent]
stephent
parents: 2076
diff changeset
79 (tags-loop-continue))))
2071
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
80
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
81 (let ((tags-always-exact nil))
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
82
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
83 ;; Search for the definition of "require". Until the etags.el upgrade
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
84 ;; from 21.5 in 21.4.16, this test would fail.
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
85 (condition-case nil
3472
43b4a54fbf66 [xemacs-hg @ 2006-06-24 14:30:36 by stephent]
stephent
parents: 2076
diff changeset
86 (Silence-Message
43b4a54fbf66 [xemacs-hg @ 2006-06-24 14:30:36 by stephent]
stephent
parents: 2076
diff changeset
87 (find-tag "require"))
2071
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
88 (t t))
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
89 (Assert (eq (point) 52)))
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
90
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
91 (kill-buffer testfile)
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
92 (delete-file testfile)
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
93 (kill-buffer tagfile)
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
94 (delete-file tagfile))