Commit Graph

1391 Commits

Author SHA1 Message Date
Vadim Zeitlin
d6655d446d Run wxExecute() unit test in the GUI test suite too.
The same code works differently in console and GUI applications, so build this
test case as part of both of them.

See #10258.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74351 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-03 00:32:40 +00:00
Vadim Zeitlin
821d856a61 Rewrite wxExecute() implementation under Unix.
This commit changes wxExecute() to handle SIGCHLD to be notified about the
child process termination instead of detecting when the file descriptor
corresponding to the other end of a pipe opened in the parent process was
closed in the child as this was not reliable and could (and did) result in not
detecting the termination of the child processes that closed all their file
descriptors before exiting.

This commit also removes a lot of platform-specific code duplicating the
generic event loop sources support and reuses it for wxExecute() purposes too.

Final big change is that wxEndProcessData was merged into wxExecuteData and we
don't have two similar but quite different classes any more but just one,
which is used both to pass the information from wxExecute() to wxAppTraits
methods and to store this information until the child termination.

Closes #10258.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74350 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-03 00:32:16 +00:00
Vadim Zeitlin
d3ad22bdb3 Add wxEventLoop::ScheduleExit().
This method allows to request exiting from the given event loop even if it's
not the currently active one, unlike Exit() which would assert in this case.
With it, it becomes possible to ask the loop to terminate as soon as possible
even if a nested loop is currently running.

See #10258.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74335 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-03 00:26:13 +00:00
Vadim Zeitlin
e77dc839af Use normal event loop in GUI test program.
Don't create an event loop manually, let the port-specific code do it and run
it as usual in the GUI unit tests.

This has several advantages:
 - No need to manage the event loop manually in the test.
 - No need for Mac-specific code in the test itself.
 - Code being tested runs in the same context as in a normal GUI program,
   which is especially important for event-loop related tests under wxOSX as
   the main event loop is special there.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74334 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-03 00:25:46 +00:00
Vadim Zeitlin
dbd5b2ce42 Better fix for duplicate wxContextMenuEvent generation under MSW.
Fix the bug with multiple wxContextMenuEvent being generated for a single
WM_CONTEXTMENU without breaking context menus for wxTextCtrl (and all the
other native controls). Do this by ensuring that WM_CONTEXTMENU is still
passed to DefWindowProc() if we don't process it instead of just being eaten
completely in any case.

Also add a unit test checking for this bug to ensure it stays fixed.

See #13683.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74329 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-02 20:24:22 +00:00
Vadim Zeitlin
544ab85e05 Add wxImage::Scale() benchmarks.
Measure the time taken to rescale the image to a bigger or smaller size using
normal or high quality.

See #15281.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74320 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-01 14:48:01 +00:00
Vadim Zeitlin
7b363ab621 Add benchmarks for wxImage methods.
Build a GUI version of the benchmark program too and use it to benchmark
wxImage loading methods for now (more will be added later).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74319 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-01 14:47:38 +00:00
Vadim Zeitlin
d9a4a0d022 Add a unit test for wxImage::Scale() method.
Check that resizing the test horse image produces the same results in the
future as it does now, by saving the current results in files and verifying
that images resized directly and loaded from these files are the same.

See #15281.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74318 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-01 14:47:12 +00:00
Vadim Zeitlin
4f9ccec517 Add wxBookCtrlBase::DoSetSelectionAfterRemoval() and use it in wxSimplebook.
This fixes the wrong handling of the selection in wxSimplebook when the
currently selected page was deleted.

Also extend the unit tests to check for this bug.

Closes #15188.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74279 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-06-23 16:39:39 +00:00
Vadim Zeitlin
6f71e06242 No real changes, just simplify wxBookCtrlBase unit test a little.
Add Realize() virtual function that can be overridden in ToolbookTestCase
instead of using explicit wxDynamicCasts.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74278 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-06-23 16:39:15 +00:00
Vadim Zeitlin
10e6908dd3 Add a minimal unit test for wxSimplebook.
This is just a test running the common wxBookCtrlBase tests for wxSimplebook.

See #15188.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74277 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-06-23 16:38:51 +00:00
Stefan Csomor
18c8b0ee1d reusing existing API
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74235 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-06-13 14:06:02 +00:00
Vadim Zeitlin
2e1e56d0ce Check wxListCtrl::GetItemRect() origin in the unit tests.
Verify that the top item is _not_ at (0, 0) when the header is present in the
control, as the control client coordinates should not take the header into
account.

This test passes when using wxGenericListCtrl since r74197, add it to ensure
that it doesn't get broken again later.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74232 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-06-13 13:57:51 +00:00
Stefan Csomor
234e255639 wait for the frame window to be really done on OSX before starting
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74195 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-06-13 00:15:59 +00:00
Stefan Csomor
3ac6cf59fa using Destroy, as otherwise the remnants get into the way for some other tests
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74194 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-06-13 00:11:18 +00:00
Stefan Csomor
e1004654ab adding exceptions for OSX
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74193 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-06-13 00:08:27 +00:00
Stefan Csomor
64fd19dbac osx needs a refocus
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74190 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-06-12 21:30:38 +00:00
Stefan Csomor
809f6ef394 now working on cocoa as well
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74176 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-06-12 05:46:54 +00:00
Stefan Csomor
79c29706e3 disable tests depending on a focusable slider control
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74172 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-06-11 22:33:00 +00:00
Stefan Csomor
e72e0814b6 draghino explicitly
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74171 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-06-11 22:27:48 +00:00
Stefan Csomor
689c6ca6ef moving click point sightly more inside, #ifndef tests failing with the generic implementation
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74168 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-06-11 22:21:30 +00:00
Stefan Csomor
9150fa99d4 fixing typo
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74167 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-06-11 22:19:21 +00:00
Stefan Csomor
c9fbfcd9f1 fixing include styles
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74166 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-06-11 22:18:33 +00:00
Vadim Zeitlin
0a6ec346d5 Reset row and columns count in wxRichTextTable::ClearTable().
No real changes, just update the internal variables in ClearTable() to avoid
inconsistent internal state, even if this doesn't seem to result in any
problems for now.

Closes #15190.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74057 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-05-26 13:14:48 +00:00
Vadim Zeitlin
622bc15f11 Add conversions to/from long long to wxUniChar.
Allow conversions to/from long long and unsigned long long values in wxUniChar
for consistency with the other integral types.

Also make the code shorter by using helper wxDO_FOR_INT_TYPES() and
wxDO_FOR_CHAR_INT_TYPES() macros to avoid duplicating the same code for all of
the integral types and having to handle wchar_t (and wxLongLong_t now)
specially because sometimes we may need to overload on it and sometimes not.

Finally, add more tests to check that all the wxUniChar methods compile and
work with all the different types.

Closes #15206.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74029 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-05-19 12:38:12 +00:00
Vadim Zeitlin
15df2e476b Disable menu event test case in wxGTK buildbot slaves.
This test sporadically fails for unknown reason and I don't know what to do
about it, so disable it for now to let the test suite pass consistently and be
notifed about any new failures.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74028 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-05-19 12:38:09 +00:00
Vadim Zeitlin
43c42c18d3 Test using wxString::ToCDouble() in wxAny.
Apparently the heap corruption problems in wxOSX/PPC build are due to using
wxString::ToDouble() and not anything done specifically in wxAny at all.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74019 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-05-17 20:00:10 +00:00
Vadim Zeitlin
1422312707 Try using wxString::ToCDouble() instead of ToDouble() in wxAny case.
Apparently enabling the call to ToDouble() in the test is enough to corrupt
the heap in wxOSX PPC build. No idea how can this be possible but try to check
if using ToCDouble() helps...

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74017 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-05-17 11:53:46 +00:00
Vadim Zeitlin
79be3fb48d Re-enable yet another hopefully harmless test in wxAny test case.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74000 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-05-16 14:32:50 +00:00
Vadim Zeitlin
3942aa77f5 Re-enable wxAny<double>::GetAs<wxString>() test.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73996 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-05-16 11:40:08 +00:00
Vadim Zeitlin
d949642d76 Enable wxAny<double>::GetAs<unsigned long>() test.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73994 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-05-16 01:45:42 +00:00
Vadim Zeitlin
3135098707 Re-enable a single m_anyDoubleDouble1 test in wxAny test case.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73993 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-05-15 21:45:28 +00:00
Vadim Zeitlin
52e4cd7308 Reenable m_anyBool1 tests in wxAny test case too.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73991 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-05-15 20:02:01 +00:00
Vadim Zeitlin
0b3e395a5c Fix memory leak in wxXmlNode::operator=().
We must delete all children and attributes in the node being overwritten and
not just the first one of each.

Add a unit test exercising this code to be able to check that valgrind doesn't
report memory leak any more after the fix.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73990 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-05-15 20:01:58 +00:00
Vadim Zeitlin
5181927e6b Re-enable conversions of wxAny to boolean tests.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73989 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-05-15 13:05:53 +00:00
Vadim Zeitlin
2747a51b24 Restore ability to parse hours only with wxDateTime::ParseTime().
This was accidentally removed in r51059, but worked in 2.8 and so should
continue to work.

Also add a unit test to ensure that this doesn't get broken again in the
future.

Closes #15204.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73988 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-05-15 13:05:49 +00:00
Vadim Zeitlin
7cda2aab67 Fix typo in a closing "#endif" comment in the test.
Closes #15203.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73985 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-05-15 13:05:36 +00:00
Vadim Zeitlin
32abcfc2ae Reenable some wxAny tests back.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73982 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-05-14 11:07:15 +00:00
Vadim Zeitlin
3717eeaf39 Add more echo trace statements to runtests.bat script.
Try to make the output a bit more organized.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73981 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-05-14 11:07:12 +00:00
Vadim Zeitlin
16983807c5 Disable more wxAny tests again.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73976 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-05-13 17:09:20 +00:00
Vadim Zeitlin
dddc2bc23c Try to find another wxAny test that results in heap corruption.
Conversion to float is not the only problem...

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73975 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-05-13 13:25:44 +00:00
Vadim Zeitlin
39489697a3 Disable more tests in wxOSX/PPC build.
Also added a #warning to make it more apparent what we're doing here.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73974 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-05-13 11:05:43 +00:00
Vadim Zeitlin
99119b0e85 Whack-a-mole with wxOSX/PPC unit tests continued.
The problem was not related to float-to-double conversions in wxAny code, try
to narrow it even further.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73973 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-05-12 23:04:13 +00:00
Vadim Zeitlin
60dbc04c46 Disable double-to-float conversion tests in wxAny code.
This seems to be the reason for the heap corruption in wxOSX PPC builds.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73971 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-05-12 20:34:46 +00:00
Vadim Zeitlin
0ad0b6395c Disable the rest of Editable() test for wxBitmapComboBox.
See r73957, this test keeps failing when running on a build slave, even though
it passes when ran locally.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73970 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-05-12 20:34:43 +00:00
Vadim Zeitlin
1cb4d74fb5 Use "-t" option when running buildbot tests under Windows.
Use "-t" in runtests.bar used by Windows build slaves to get more information
about the test failures, notably if they crash before completing.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73969 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-05-12 20:34:40 +00:00
Vadim Zeitlin
a4c7b5e435 Enable another test in wxAnyTestCase under OS X.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73966 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-05-12 19:19:46 +00:00
Vadim Zeitlin
92318ee1fd Recognize "sandbox" user as indicating automatic testing.
The buildbot slaves actually use "sandbox" as the user name, not "buildbot",
so test for the former instead for the latter, see r73963.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73965 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-05-12 19:19:43 +00:00
Vadim Zeitlin
1a9961c430 Enable yet more tests in wxAnyTestCase::GetAs().
This is part of the continuing series of commits to find out what results in
heap corruption in wxOSX PPC builds.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73964 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-05-10 19:21:45 +00:00
Vadim Zeitlin
6524d302d0 Recognize "buildbot" user in IsAutomaticTest() too.
Some build slaves apparently run under "buildbot" user and not "buildslave",
recognize them as running automatic tests too.

Also show the name of the current system and user on startup to avoid such
guess work in the future.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73963 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-05-10 19:21:42 +00:00