Makefile revision 238856
1167186Skientzle# $FreeBSD: head/lib/libarchive/test/Makefile 238856 2012-07-28 06:38:44Z mm $
2167186Skientzle
3228797SmmLIBARCHIVEDIR=	${.CURDIR}/../../../contrib/libarchive
4175044Skientzle
5228797SmmNO_MAN=yes
6228797Smm
7228797SmmPROG=libarchive_test
8228797SmmINTERNALPROG=yes  # Don't install this; it's just for testing
9228797SmmDPADD=${LIBBZ2} ${LIBZ} ${LIBMD} ${LIBCRYPTO} ${LIBBSDXML}
10228797SmmLDADD= -L ${.OBJDIR}/.. -larchive
11228797SmmLDADD+= -lz -lbz2 -llzma -lmd -lcrypto -lbsdxml
12228797SmmCFLAGS+= -g
13232153SmmCFLAGS+= -I${.CURDIR}/.. -I${LIBARCHIVEDIR}/libarchive -I${.OBJDIR}
14228797SmmCFLAGS+= -DHAVE_LIBLZMA=1 -DHAVE_LZMA_H=1
15228797Smm
16228797Smm# Uncomment to link against dmalloc
17228797Smm#LDADD+= -L/usr/local/lib -ldmalloc
18228797Smm#CFLAGS+= -I/usr/local/include -DUSE_DMALLOC
19228797Smm
20228797Smm.PATH:  ${LIBARCHIVEDIR}/libarchive/test
21167186SkientzleTESTS= \
22184038Skientzle	test_acl_freebsd.c			\
23232153Smm	test_acl_nfs4.c				\
24167325Skientzle	test_acl_pax.c				\
25232153Smm	test_acl_posix1e.c			\
26167186Skientzle	test_archive_api_feature.c		\
27232153Smm	test_archive_clear_error.c		\
28232153Smm	test_archive_crypto.c			\
29238856Smm	test_archive_getdate.c			\
30238856Smm	test_archive_match_time.c		\
31238856Smm	test_archive_match_owner.c		\
32238856Smm	test_archive_match_path.c		\
33238856Smm	test_archive_pathmatch.c		\
34232153Smm	test_archive_read_close_twice.c		\
35232153Smm	test_archive_read_close_twice_open_fd.c	\
36232153Smm	test_archive_read_close_twice_open_filename.c	\
37232153Smm	test_archive_read_next_header_empty.c	\
38232153Smm	test_archive_read_next_header_raw.c	\
39232153Smm	test_archive_read_open2.c		\
40232153Smm	test_archive_read_set_filter_option.c	\
41232153Smm	test_archive_read_set_format_option.c	\
42232153Smm	test_archive_read_set_option.c		\
43232153Smm	test_archive_read_set_options.c		\
44232153Smm	test_archive_read_support.c		\
45232153Smm	test_archive_set_error.c		\
46232153Smm	test_archive_string.c			\
47232153Smm	test_archive_string_conversion.c	\
48232153Smm	test_archive_write_set_filter_option.c	\
49232153Smm	test_archive_write_set_format_option.c	\
50232153Smm	test_archive_write_set_option.c		\
51232153Smm	test_archive_write_set_options.c	\
52167186Skientzle	test_bad_fd.c				\
53185683Skientzle	test_compat_bzip2.c			\
54201247Skientzle	test_compat_cpio.c			\
55175044Skientzle	test_compat_gtar.c			\
56185683Skientzle	test_compat_gzip.c			\
57232153Smm	test_compat_lzip.c			\
58201247Skientzle	test_compat_lzma.c			\
59232153Smm	test_compat_mac.c			\
60232153Smm	test_compat_pax_libarchive_2x.c		\
61191576Skientzle	test_compat_solaris_tar_acl.c		\
62232153Smm	test_compat_solaris_pax_sparse.c	\
63175843Skientzle	test_compat_tar_hardlink.c		\
64191183Skientzle	test_compat_xz.c			\
65175044Skientzle	test_compat_zip.c			\
66175044Skientzle	test_empty_write.c			\
67170079Skientzle	test_entry.c				\
68175044Skientzle	test_entry_strmode.c			\
69189431Skientzle	test_extattr_freebsd.c			\
70232153Smm	test_filter_count.c			\
71185683Skientzle	test_fuzz.c				\
72232153Smm	test_gnutar_filename_encoding.c		\
73179321Skientzle	test_link_resolver.c			\
74191183Skientzle	test_open_fd.c				\
75224691Smm	test_open_failure.c			\
76191183Skientzle	test_open_file.c			\
77191183Skientzle	test_open_filename.c			\
78177199Skientzle	test_pax_filename_encoding.c		\
79170079Skientzle	test_read_compress_program.c		\
80167186Skientzle	test_read_data_large.c			\
81189429Skientzle	test_read_disk.c			\
82232153Smm	test_read_disk_directory_traversals.c	\
83191183Skientzle	test_read_disk_entry_from_file.c	\
84167186Skientzle	test_read_extract.c			\
85189473Skientzle	test_read_file_nonexistent.c		\
86232153Smm	test_read_format_7zip.c			\
87168453Skientzle	test_read_format_ar.c			\
88232153Smm	test_read_format_cab.c			\
89232153Smm	test_read_format_cab_filename.c		\
90232153Smm	test_read_format_cpio_afio.c		\
91167186Skientzle	test_read_format_cpio_bin.c		\
92167186Skientzle	test_read_format_cpio_bin_Z.c		\
93191592Skientzle	test_read_format_cpio_bin_be.c		\
94167186Skientzle	test_read_format_cpio_bin_bz2.c		\
95167186Skientzle	test_read_format_cpio_bin_gz.c		\
96232153Smm	test_read_format_cpio_bin_lzip.c	\
97201247Skientzle	test_read_format_cpio_bin_lzma.c	\
98191183Skientzle	test_read_format_cpio_bin_xz.c		\
99232153Smm	test_read_format_cpio_filename.c	\
100167186Skientzle	test_read_format_cpio_odc.c		\
101167186Skientzle	test_read_format_cpio_svr4_gzip.c	\
102167186Skientzle	test_read_format_cpio_svr4c_Z.c		\
103224152Smm	test_read_format_cpio_svr4_bzip2_rpm.c	\
104224152Smm	test_read_format_cpio_svr4_gzip_rpm.c	\
105167186Skientzle	test_read_format_empty.c		\
106232153Smm	test_read_format_gtar_filename.c	\
107167186Skientzle	test_read_format_gtar_gz.c		\
108191183Skientzle	test_read_format_gtar_lzma.c		\
109170649Skientzle	test_read_format_gtar_sparse.c		\
110228745Smm	test_read_format_iso_Z.c		\
111201247Skientzle	test_read_format_iso_multi_extent.c	\
112232153Smm	test_read_format_iso_xorriso.c		\
113201247Skientzle	test_read_format_isorr_rr_moved.c	\
114191183Skientzle	test_read_format_isojoliet_bz2.c	\
115201247Skientzle	test_read_format_isojoliet_long.c	\
116201247Skientzle	test_read_format_isojoliet_rr.c		\
117232153Smm	test_read_format_isojoliet_versioned.c	\
118167186Skientzle	test_read_format_isorr_bz2.c		\
119201247Skientzle	test_read_format_isorr_ce.c		\
120201247Skientzle	test_read_format_isorr_new_bz2.c	\
121201247Skientzle	test_read_format_isozisofs_bz2.c	\
122232153Smm	test_read_format_lha.c			\
123232153Smm	test_read_format_lha_filename.c		\
124175044Skientzle	test_read_format_mtree.c		\
125167186Skientzle	test_read_format_pax_bz2.c		\
126232153Smm	test_read_format_rar.c			\
127191594Skientzle	test_read_format_raw.c			\
128167186Skientzle	test_read_format_tar.c			\
129179321Skientzle	test_read_format_tar_empty_filename.c	\
130232153Smm	test_read_format_tar_filename.c		\
131167186Skientzle	test_read_format_tbz.c			\
132167186Skientzle	test_read_format_tgz.c			\
133201247Skientzle	test_read_format_tlz.c			\
134191183Skientzle	test_read_format_txz.c			\
135167186Skientzle	test_read_format_tz.c			\
136232153Smm	test_read_format_ustar_filename.c	\
137224152Smm	test_read_format_xar.c			\
138167186Skientzle	test_read_format_zip.c			\
139232153Smm	test_read_format_zip_filename.c		\
140167186Skientzle	test_read_large.c			\
141171430Skientzle	test_read_pax_truncated.c		\
142167186Skientzle	test_read_position.c			\
143167186Skientzle	test_read_truncated.c			\
144232153Smm	test_read_truncated_filter.c		\
145201248Skientzle	test_read_uu.c				\
146232153Smm	test_sparse_basic.c			\
147168706Skientzle	test_tar_filenames.c			\
148175044Skientzle	test_tar_large.c			\
149179321Skientzle	test_ustar_filenames.c			\
150232153Smm	test_ustar_filename_encoding.c		\
151182149Skientzle	test_write_compress.c			\
152191183Skientzle	test_write_compress_bzip2.c		\
153191183Skientzle	test_write_compress_gzip.c		\
154232153Smm	test_write_compress_lzip.c		\
155191183Skientzle	test_write_compress_lzma.c		\
156170079Skientzle	test_write_compress_program.c		\
157191183Skientzle	test_write_compress_xz.c		\
158167186Skientzle	test_write_disk.c			\
159187521Skientzle	test_write_disk_failures.c		\
160175423Skientzle	test_write_disk_hardlink.c		\
161232153Smm	test_write_disk_lookup.c		\
162167186Skientzle	test_write_disk_perms.c			\
163167186Skientzle	test_write_disk_secure.c		\
164187704Skientzle	test_write_disk_sparse.c		\
165201247Skientzle	test_write_disk_symlink.c		\
166183483Skientzle	test_write_disk_times.c			\
167232153Smm	test_write_format_7zip.c		\
168168453Skientzle	test_write_format_ar.c			\
169170984Skientzle	test_write_format_cpio.c		\
170182149Skientzle	test_write_format_cpio_empty.c		\
171182149Skientzle	test_write_format_cpio_newc.c		\
172175044Skientzle	test_write_format_cpio_odc.c		\
173232153Smm	test_write_format_gnutar.c		\
174232153Smm	test_write_format_iso9660.c		\
175232153Smm	test_write_format_iso9660_boot.c	\
176232153Smm	test_write_format_iso9660_empty.c	\
177232153Smm	test_write_format_iso9660_filename.c	\
178232153Smm	test_write_format_iso9660_zisofs.c	\
179191183Skientzle	test_write_format_mtree.c		\
180232153Smm	test_write_format_mtree_fflags.c	\
181183482Skientzle	test_write_format_pax.c			\
182167186Skientzle	test_write_format_shar_empty.c		\
183167186Skientzle	test_write_format_tar.c			\
184182149Skientzle	test_write_format_tar_empty.c		\
185232153Smm	test_write_format_tar_sparse.c		\
186179321Skientzle	test_write_format_tar_ustar.c		\
187232153Smm	test_write_format_xar.c			\
188232153Smm	test_write_format_xar_empty.c		\
189201247Skientzle	test_write_format_zip.c			\
190201247Skientzle	test_write_format_zip_empty.c		\
191201247Skientzle	test_write_format_zip_no_compression.c	\
192232153Smm	test_write_open_memory.c		\
193232153Smm	test_zip_filename_encoding.c
194167186Skientzle
195216258Skientzle# Build the test program.
196216258SkientzleSRCS= \
197175044Skientzle	${TESTS}				\
198180029Sdes	list.h					\
199171429Skientzle	main.c					\
200171429Skientzle	read_open_memory.c
201167186Skientzle
202175044Skientzle# Build libarchive_test and run it.
203177084Skientzlecheck test: libarchive_test
204228797Smm	./libarchive_test -r ${LIBARCHIVEDIR}/libarchive/test
205167186Skientzle
206175044Skientzle# list.h is just a list of all tests, as indicated by DEFINE_TEST macro lines
207180029Sdeslist.h: ${TESTS} Makefile
208228797Smm	(cd ${LIBARCHIVEDIR}/libarchive/test; cat test_*.c) | \
209228797Smm	grep DEFINE_TEST > ${.OBJDIR}/list.h
210167186Skientzle
211191183SkientzleCLEANFILES += *.out *.o *.core *~ list.h .dirstamp .depend
212191183SkientzleCLEANDIRS += .deps .libs
213175044Skientzle
214175044Skientzlecleantest:
215167186Skientzle	-chmod -R +w /tmp/libarchive_test.*
216167186Skientzle	rm -rf /tmp/libarchive_test.*
217167186Skientzle
218168453Skientzle.include <bsd.prog.mk>
219