X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/f095b1fc57960fbf0d6daa353162d1e29f3899ef..04a123c642b0fc589e29cdd507faf11b85973f79:/tests/test.bkl diff --git a/tests/test.bkl b/tests/test.bkl index d816a6fbee..0c142a3409 100644 --- a/tests/test.bkl +++ b/tests/test.bkl @@ -2,39 +2,290 @@ <!-- $Id$ --> <makefile> + <!-- + The use of PCH is disabled for samples by default but we do want to use + them for the test as this dramatically speeds up its compilation. + --> + <set var="WX_ENABLE_PRECOMP_HEADERS">1</set> <include file="../build/bakefiles/common_samples.bkl"/> - <exe id="test" template="wx_test_console" + <template id="wx_test"> + <cppflags>$(CPPUNIT_CFLAGS)</cppflags> + <ldflags>$(CPPUNIT_LIBS)</ldflags> + + <if cond="WX_DISABLE_PRECOMP_HEADERS=='0'"> + <if cond="FORMAT!='autoconf' and PLATFORM_WIN32=='1'"> + <sources>dummy.cpp</sources> + <precomp-headers-gen>dummy.cpp</precomp-headers-gen> + </if> + <precomp-headers-header>testprec.h</precomp-headers-header> + <precomp-headers>on</precomp-headers> + <precomp-headers-file>testprec_$(id)</precomp-headers-file> + </if> + </template> + + <exe id="test" template="wx_sample_console,wx_test" template_append="wx_append_base"> <sources> test.cpp - mbconv/main.cpp - formatconverter/formatconverter.cpp - regex/regex.cpp - regex/wxregex.cpp - filename/filename.cpp - filesys/filesys.cpp + any/anytest.cpp + archive/archivetest.cpp + archive/ziptest.cpp + archive/tartest.cpp arrays/arrays.cpp + base64/base64.cpp + cmdline/cmdlinetest.cpp + config/fileconf.cpp + config/regconf.cpp + datetime/datetimetest.cpp + events/evthandler.cpp + events/evtsource.cpp + events/stopwatch.cpp + events/timertest.cpp + exec/exec.cpp + file/dir.cpp + file/filefn.cpp + file/filetest.cpp + filekind/filekind.cpp + filename/filenametest.cpp + filesys/filesystest.cpp + fontmap/fontmaptest.cpp + formatconverter/formatconvertertest.cpp + fswatcher/fswatchertest.cpp hashes/hashes.cpp - longlong/longlong.cpp + interactive/output.cpp + interactive/input.cpp + intl/intltest.cpp + lists/lists.cpp + log/logtest.cpp + longlong/longlongtest.cpp + mbconv/convautotest.cpp + mbconv/mbconvtest.cpp + misc/dynamiclib.cpp + misc/environ.cpp + misc/metatest.cpp + misc/misctests.cpp + misc/module.cpp + misc/pathlist.cpp + misc/typeinfotest.cpp + net/ipc.cpp + net/socket.cpp + regex/regextest.cpp + regex/wxregextest.cpp + scopeguard/scopeguardtest.cpp + strings/iostream.cpp + strings/numformatter.cpp strings/strings.cpp strings/stdstrings.cpp + strings/tokenizer.cpp + strings/unichar.cpp strings/unicode.cpp + strings/vararg.cpp strings/crt.cpp + strings/vsnprintf.cpp streams/bstream.cpp + streams/datastreamtest.cpp streams/ffilestream.cpp + streams/fileback.cpp streams/filestream.cpp + streams/iostreams.cpp + streams/largefile.cpp streams/memstream.cpp + streams/socketstream.cpp + streams/sstream.cpp + streams/stdstream.cpp + streams/tempfile.cpp + streams/textstreamtest.cpp streams/zlibstream.cpp - fontmap/fontmap.cpp - datetime/datetime.cpp + textfile/textfiletest.cpp + thread/atomic.cpp + thread/misc.cpp + thread/queue.cpp + thread/tls.cpp + uris/ftp.cpp + uris/uris.cpp + uris/url.cpp + vectors/vectors.cpp + weakref/evtconnection.cpp + weakref/weakref.cpp + xlocale/xlocale.cpp + xml/xmltest.cpp + </sources> + <wx-lib>net</wx-lib> + <wx-lib>xml</wx-lib> + <wx-lib>base</wx-lib> + </exe> + + + <exe id="test_gui" template="wx_sample,wx_test" + template_append="wx_append" + cond="USE_GUI=='1'"> + + <!-- link against GUI libraries, but be a console app: --> + <app-type>console</app-type> + + <sources> + asserthelper.cpp + test.cpp + testableframe.cpp + geometry/rect.cpp + geometry/size.cpp + geometry/point.cpp + geometry/region.cpp + graphics/bitmap.cpp + graphics/colour.cpp + graphics/ellipsization.cpp + graphics/measuring.cpp + graphics/affinematrix.cpp + config/config.cpp + controls/bitmapcomboboxtest.cpp + controls/bitmaptogglebuttontest.cpp + controls/bookctrlbasetest.cpp + controls/buttontest.cpp + controls/checkboxtest.cpp + controls/checklistboxtest.cpp + controls/choicebooktest.cpp + controls/choicetest.cpp + controls/comboboxtest.cpp + controls/dataviewctrltest.cpp + controls/datepickerctrltest.cpp + controls/frametest.cpp + controls/gaugetest.cpp + controls/gridtest.cpp + controls/headerctrltest.cpp + controls/htmllboxtest.cpp + controls/hyperlinkctrltest.cpp + controls/itemcontainertest.cpp + controls/label.cpp + controls/listbasetest.cpp + controls/listbooktest.cpp + controls/listboxtest.cpp + controls/listctrltest.cpp + controls/listviewtest.cpp + controls/markuptest.cpp + controls/notebooktest.cpp + controls/ownerdrawncomboboxtest.cpp + controls/pickerbasetest.cpp + controls/pickertest.cpp + controls/radioboxtest.cpp + controls/radiobuttontest.cpp + controls/rearrangelisttest.cpp + controls/richtextctrltest.cpp + controls/searchctrltest.cpp + controls/slidertest.cpp + controls/spinctrldbltest.cpp + controls/spinctrltest.cpp + controls/textctrltest.cpp + controls/textentrytest.cpp + controls/togglebuttontest.cpp + controls/toolbooktest.cpp + controls/treebooktest.cpp + controls/treectrltest.cpp + controls/treelistctrltest.cpp + controls/virtlistctrltest.cpp + controls/webtest.cpp + controls/windowtest.cpp + controls/dialogtest.cpp + events/clone.cpp + events/propagation.cpp + events/keyboard.cpp + font/fonttest.cpp + image/image.cpp + image/rawbmp.cpp + html/htmlparser.cpp + html/htmlwindow.cpp + menu/accelentry.cpp + menu/menu.cpp + misc/guifuncs.cpp + misc/selstoretest.cpp + misc/garbage.cpp + misc/settings.cpp + <!-- + This one is intentionally duplicated here (it is also part of + non-GUI test) as sockets behave differently in console and GUI + applications. + --> + net/socket.cpp + sizers/boxsizer.cpp + sizers/wrapsizer.cpp + toplevel/toplevel.cpp + validators/valnum.cpp + window/clientsize.cpp + window/setsize.cpp + xml/xrctest.cpp </sources> + <!-- + Can't use <wx-lib> here as it doesn't work with conditionally + defined variables, so fall back <sys-lib> as we must not link with + inexisting webview library to be able to run tests even if + wxWebView is not available. + --> + <sys-lib>$(WXLIB_WEBVIEW)</sys-lib> + <wx-lib>richtext</wx-lib> + <wx-lib>media</wx-lib> + <wx-lib>xrc</wx-lib> + <wx-lib>xml</wx-lib> + <wx-lib>adv</wx-lib> + <wx-lib>html</wx-lib> + <wx-lib>core</wx-lib> + <wx-lib>net</wx-lib> <wx-lib>base</wx-lib> </exe> + <wx-data id="data"> <files>testdata.fc</files> + + <!-- test data for image/image.cpp test unit: --> + <files>horse.ani horse.bmp horse.cur horse.gif horse.ico horse.jpg + horse.pcx horse.png horse.pnm horse.tga horse.tif horse.xpm</files> + </wx-data> + + <wx-data id="data-images"> + <srcdir>$(SRCDIR)/image</srcdir> + <dstdir>image</dstdir> + <files>horse_grey.bmp horse_grey_flipped.bmp + horse_rle4.bmp horse_rle4_flipped.bmp + horse_rle8.bmp horse_rle8_flipped.bmp</files> </wx-data> + <template id="catalog"> + <dstdir>$(BUILDDIR)/intl/$(id)</dstdir> + <srcdir>$(SRCDIR)/intl/$(id)</srcdir> + <files>internat.po internat.mo</files> + </template> + + <wx-data id="fr" template="catalog"/> + + + <fragment format="autoconf"> +# notice the ugly hack with using CXXWARNINGS: we can't use CPPFLAGS as +# currently the value in the makefile would be ignored if we did, but +# warnings don't matter when we expect compilation to fail anyhow so we can +# use this variable to enable the compilation of code which is supposed to +# fail +failtest: failtest_combobox failtest_evthandler + +failtest_combobox: + @$(RM) test_gui_comboboxtest.o + if $(MAKE) CXXWARNINGS=-DTEST_INVALID_COMBOBOX_ISEMPTY test_gui_comboboxtest.o 2>/dev/null; then \ + echo "*** Compilation with TEST_INVALID_COMBOBOX_ISEMPTY unexpectedly succeeded.">&2; \ + exit 1; \ + fi; \ + exit 0 + +failtest_evthandler: + @$(RM) test_evthandler.o + @for d in GLOBAL STATIC METHOD FUNCTOR NO_HANDLER DERIVED WRONG_CLASS; do \ + if $(MAKE) CXXWARNINGS=-DTEST_INVALID_BIND_$$d test_evthandler.o 2>/dev/null; then \ + echo "*** Compilation with TEST_INVALID_BIND_$$d unexpectedly succeeded.">&2; \ + exit 1; \ + fi; \ + done; \ + exit 0 + +.PHONY: failtest + </fragment> + </makefile>