Mercurial > hg > xemacs-beta
annotate etc/bundled-packages/test.sh @ 4967:0d4c9d0f6a8d
rewrite dynarr code
-------------------- ChangeLog entries follow: --------------------
src/ChangeLog addition:
2010-02-03 Ben Wing <ben@xemacs.org>
* device-x.c (x_get_resource_prefix):
* device-x.c (Fx_get_resource):
* device-x.c (Fx_get_resource_prefix):
* device-x.c (Fx_put_resource):
* dialog-msw.c:
* dialog-msw.c (handle_question_dialog_box):
* dired-msw.c (mswindows_sort_files):
* dired-msw.c (mswindows_get_files):
* extents.c (extent_fragment_sort_by_priority):
* extents.c (Fset_extent_parent):
* file-coding.c (coding_reader):
* file-coding.c (coding_writer):
* file-coding.c (gzip_convert):
* frame.c (generate_title_string):
* gutter.c (calculate_gutter_size_from_display_lines):
* indent.c (vmotion_1):
* lread.c (read_bit_vector):
* mule-coding.c (iso2022_decode):
* rangetab.c:
* rangetab.c (Fcopy_range_table):
* rangetab.c (Fget_range_table):
* rangetab.c (unified_range_table_copy_data):
* redisplay-msw.c (mswindows_output_string):
* redisplay-output.c (output_display_line):
* redisplay-output.c (redisplay_move_cursor):
* redisplay-output.c (redisplay_clear_bottom_of_window):
* redisplay-tty.c (tty_output_ichar_dynarr):
* redisplay-tty.c (set_foreground_to):
* redisplay-tty.c (set_background_to):
* redisplay-xlike-inc.c (XLIKE_output_string):
* redisplay.c (redisplay_window_text_width_string):
* redisplay.c (redisplay_text_width_string):
* redisplay.c (create_text_block):
* redisplay.c (SET_CURRENT_MODE_CHARS_PIXSIZE):
* redisplay.c (generate_fstring_runes):
* redisplay.c (regenerate_modeline):
* redisplay.c (ensure_modeline_generated):
* redisplay.c (real_current_modeline_height):
* redisplay.c (create_string_text_block):
* redisplay.c (regenerate_window):
* redisplay.c (REGEN_INC_FIND_START_END):
* redisplay.c (point_visible):
* redisplay.c (redisplay_window):
* redisplay.c (mark_glyph_block_dynarr):
* redisplay.c (line_start_cache_start):
* redisplay.c (start_with_line_at_pixpos):
* redisplay.c (update_line_start_cache):
* redisplay.c (glyph_to_pixel_translation):
* redisplay.c (pixel_to_glyph_translation):
* sysdep.c (qxe_readdir):
* text.c (dfc_convert_to_external_format):
* text.c (dfc_convert_to_internal_format):
* toolbar-common.c (common_output_toolbar_button):
* window.c (window_modeline_height):
* window.c (Fwindow_last_line_visible_height):
* window.c (window_displayed_height):
* window.c (window_scroll):
* window.c (get_current_pixel_pos):
Use Dynarr_begin() in place of Dynarr_atp (foo, 0).
* dynarr.c (Dynarr_realloc):
* dynarr.c (Dynarr_lisp_realloc):
* dynarr.c (Dynarr_resize):
* dynarr.c (Dynarr_insert_many):
* dynarr.c (Dynarr_delete_many):
* dynarr.c (Dynarr_memory_usage):
* dynarr.c (stack_like_malloc):
* dynarr.c (stack_like_free):
* lisp.h:
* lisp.h (DECLARE_DYNARR_LISP_IMP):
* lisp.h (XD_DYNARR_DESC):
* lisp.h (Dynarr_pop):
* gutter.c (output_gutter):
* redisplay-output.c (sync_rune_structs):
* redisplay-output.c (redisplay_output_window):
Redo the dynarr code, add greater checks.
Rename the `len', `largest' and `max' members to `len_',
`largest_' and `max_' to try and catch existing places that might
directly modify these values. Make new accessors Dynarr_largest()
and Dynarr_max() and make them and existing Dynarr_length() be
non-lvalues by adding '+ 0' to them; fix a couple of places in the
redisplay code that tried to modify the length directly by setting
Dynarr_length(). Use the accessors whenever possible even in the
dynarr code itself. The accessors also verify that 0 <= len <=
largest <= max. Rename settor function Dynarr_set_size() to
Dynarr_set_length() and use it more consistently; also create
lower-level Dynarr_set_length_1(). This latter function should be
the only function that directly modifies the `len_' member of a
Dynarr, and in the process makes sure that the `largest' value is
kept correct.
Consistently use ERROR_CHECK_STRUCTURES instead of
ERROR_CHECK_TYPES for error-checking code. Reintroduce the
temporarily disabled verification code on the positions of
Dynarr_at(), Dynarr_atp() and Dynarr_atp_past_end().
Also create Dynarr_resize_if() in place of a repeated
code fragment. Clean up all the functions that modify Dynarrs to
use the new macros and functions and verify the correctness of the
Dynarr both before and after the change.
Note that there are two kinds of verification -- one for accessing
and one for modifying. The difference is that the modify
verification additionally checks to make sure that the Dynarr
isn't locked. (This is used in redisplay to check for problems
with reentrancy.)
* lrecord.h: Move XD_DYNARR_DESC to lisp.h, grouping with the dynarr code.
author | Ben Wing <ben@xemacs.org> |
---|---|
date | Wed, 03 Feb 2010 20:51:18 -0600 |
parents | 232d873b9705 |
children | fd714e8ba81e |
rev | line source |
---|---|
4354
232d873b9705
Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
diff
changeset
|
1 # tests for the bundled packages feature |
232d873b9705
Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
diff
changeset
|
2 |
232d873b9705
Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
diff
changeset
|
3 # usage: sh etc/bundled-packages/tests.sh [TMP_TEST_DIR] |
232d873b9705
Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
diff
changeset
|
4 |
232d873b9705
Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
diff
changeset
|
5 # Always run this script from the top directory of the source tree. |
232d873b9705
Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
diff
changeset
|
6 # You need a mv that supports the -v for verbose flag, and a mkdir that |
232d873b9705
Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
diff
changeset
|
7 # supports the -p flag to make parents. |
232d873b9705
Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
diff
changeset
|
8 # Output from this script is preceded by 4 stars (****). |
232d873b9705
Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
diff
changeset
|
9 |
232d873b9705
Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
diff
changeset
|
10 # This test script is probably more fragile than the build process, but if |
232d873b9705
Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
diff
changeset
|
11 # it runs to completion things are probably OK. |
232d873b9705
Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
diff
changeset
|
12 |
232d873b9705
Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
diff
changeset
|
13 # configure the installation target |
232d873b9705
Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
diff
changeset
|
14 |
232d873b9705
Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
diff
changeset
|
15 if test -z "$1"; then |
232d873b9705
Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
diff
changeset
|
16 TMP_TEST_DIR=/tmp/test/bundled-packages |
232d873b9705
Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
diff
changeset
|
17 else |
232d873b9705
Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
diff
changeset
|
18 TMP_TEST_DIR=$1 |
232d873b9705
Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
diff
changeset
|
19 fi |
232d873b9705
Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
diff
changeset
|
20 |
232d873b9705
Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
diff
changeset
|
21 srcdir=`pwd` |
232d873b9705
Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
diff
changeset
|
22 blddir=${TMP_TEST_DIR}/build |
232d873b9705
Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
diff
changeset
|
23 pkgdir=${TMP_TEST_DIR}/lib/xemacs |
232d873b9705
Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
diff
changeset
|
24 |
232d873b9705
Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
diff
changeset
|
25 echo "**** srcdir = ${srcdir}" |
232d873b9705
Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
diff
changeset
|
26 echo "**** blddir = ${blddir}" |
232d873b9705
Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
diff
changeset
|
27 echo "**** pkgdir = ${pkgdir}" |
232d873b9705
Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
diff
changeset
|
28 |
232d873b9705
Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
diff
changeset
|
29 if test -e "${pkgdir}"; then |
232d873b9705
Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
diff
changeset
|
30 echo "**** pkgdir (${pkgdir}) exists; bailing out." |
232d873b9705
Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
diff
changeset
|
31 exit -1 |
232d873b9705
Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
diff
changeset
|
32 fi |
232d873b9705
Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
diff
changeset
|
33 |
232d873b9705
Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
diff
changeset
|
34 # mv existing tarballs out of harm's way and make a fake one |
232d873b9705
Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
diff
changeset
|
35 |
232d873b9705
Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
diff
changeset
|
36 echo "**** Moving existing tarballs to etc/bundled-packages/saved." |
232d873b9705
Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
diff
changeset
|
37 mkdir -p etc/bundled-packages/saved |
232d873b9705
Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
diff
changeset
|
38 cd etc/bundled-packages |
232d873b9705
Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
diff
changeset
|
39 echo "**** 'mv' may error because there are no files to move. It's harmless." |
232d873b9705
Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
diff
changeset
|
40 mv -v *.tar.gz saved/ |
232d873b9705
Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
diff
changeset
|
41 cd ../.. |
232d873b9705
Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
diff
changeset
|
42 |
232d873b9705
Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
diff
changeset
|
43 # configure in a temporary directory |
232d873b9705
Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
diff
changeset
|
44 |
232d873b9705
Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
diff
changeset
|
45 if test -e ${blddir}; then |
232d873b9705
Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
diff
changeset
|
46 echo "**** blddir (${blddir}) exists; bailing out." |
232d873b9705
Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
diff
changeset
|
47 exit -1 |
232d873b9705
Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
diff
changeset
|
48 fi |
232d873b9705
Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
diff
changeset
|
49 mkdir -p ${blddir} |
232d873b9705
Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
diff
changeset
|
50 cd ${blddir} |
232d873b9705
Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
diff
changeset
|
51 echo "**** Running 'configure'. This takes *several minutes*." |
232d873b9705
Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
diff
changeset
|
52 echo "**** Redirecting configure output to ${blddir}/beta.err." |
232d873b9705
Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
diff
changeset
|
53 ${srcdir}/configure >beta.err 2>&1 |
232d873b9705
Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
diff
changeset
|
54 |
232d873b9705
Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
diff
changeset
|
55 # test check-available-packages |
232d873b9705
Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
diff
changeset
|
56 |
232d873b9705
Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
diff
changeset
|
57 echo "**** This test should produce no error and no output." |
232d873b9705
Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
diff
changeset
|
58 make check-available-packages |
232d873b9705
Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
diff
changeset
|
59 cd ${srcdir}/etc/bundled-packages |
232d873b9705
Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
diff
changeset
|
60 echo "**** This test should explain how to install bootstrap packages." |
232d873b9705
Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
diff
changeset
|
61 echo "This file pretends to be a bootstrap hierarchy." > xemacs-packages |
232d873b9705
Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
diff
changeset
|
62 tar czf bootstrap.tar.gz xemacs-packages |
232d873b9705
Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
diff
changeset
|
63 rm xemacs-packages |
232d873b9705
Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
diff
changeset
|
64 cd ${blddir} |
232d873b9705
Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
diff
changeset
|
65 make check-available-packages |
232d873b9705
Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
diff
changeset
|
66 echo "**** This test should explain how to install all three." |
232d873b9705
Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
diff
changeset
|
67 cd ${srcdir}/etc/bundled-packages |
232d873b9705
Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
diff
changeset
|
68 echo "This file pretends to be a xemacs-packages hierarchy." > xemacs-packages |
232d873b9705
Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
diff
changeset
|
69 echo "This file pretends to be a mule-packages hierarchy." > mule-packages |
232d873b9705
Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
diff
changeset
|
70 tar czf xemacs-sumo.tar.gz xemacs-packages |
232d873b9705
Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
diff
changeset
|
71 tar czf xemacs-mule-sumo.tar.gz mule-packages |
232d873b9705
Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
diff
changeset
|
72 rm xemacs-packages mule-packages |
232d873b9705
Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
diff
changeset
|
73 cd ${blddir} |
232d873b9705
Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
diff
changeset
|
74 make check-available-packages |
232d873b9705
Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
diff
changeset
|
75 |
232d873b9705
Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
diff
changeset
|
76 # test installation without package path given |
232d873b9705
Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
diff
changeset
|
77 |
232d873b9705
Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
diff
changeset
|
78 echo "**** Make the 'make-path' utility needed by the installation routine." |
232d873b9705
Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
diff
changeset
|
79 make -C lib-src make-path |
232d873b9705
Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
diff
changeset
|
80 echo "**** This test should error because --with-late-packages wasn't given." |
232d873b9705
Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
diff
changeset
|
81 make install-bootstrap-packages |
232d873b9705
Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
diff
changeset
|
82 |
232d873b9705
Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
diff
changeset
|
83 # test installation with package path given |
232d873b9705
Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
diff
changeset
|
84 |
232d873b9705
Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
diff
changeset
|
85 echo "**** Running 'configure'. This takes *several minutes*." |
232d873b9705
Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
diff
changeset
|
86 echo "**** Redirecting configure output to ${blddir}/beta.err." |
232d873b9705
Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
diff
changeset
|
87 ${srcdir}/configure --with-late-packages=${pkgdir} >beta.err 2>&1 |
232d873b9705
Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
diff
changeset
|
88 echo "**** Make the 'make-path' utility needed by the installation routine." |
232d873b9705
Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
diff
changeset
|
89 make -C lib-src make-path |
232d873b9705
Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
diff
changeset
|
90 echo "**** Test install-bootstrap-packages." |
232d873b9705
Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
diff
changeset
|
91 make install-bootstrap-packages |
232d873b9705
Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
diff
changeset
|
92 echo "**** The following should list xemacs-packages in the right place." |
232d873b9705
Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
diff
changeset
|
93 ls ${pkgdir}/* |
232d873b9705
Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
diff
changeset
|
94 |
232d873b9705
Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
diff
changeset
|
95 #### no tests below this line #### |
232d873b9705
Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
diff
changeset
|
96 |
232d873b9705
Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
diff
changeset
|
97 # put tarballs back and clean up |
232d873b9705
Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
diff
changeset
|
98 |
232d873b9705
Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
diff
changeset
|
99 cd ${srcdir}/etc/bundled-packages |
232d873b9705
Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
diff
changeset
|
100 rm *.tar.gz |
232d873b9705
Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
diff
changeset
|
101 echo "**** 'mv' may error because there are no files to move. It's harmless." |
232d873b9705
Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
diff
changeset
|
102 mv -v saved/*.tar.gz ../ |
232d873b9705
Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
diff
changeset
|
103 rmdir saved |
232d873b9705
Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
diff
changeset
|
104 rm -rf ${blddir} ${pkgdir} |
232d873b9705
Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
diff
changeset
|
105 exit 0 |