Commit Graph

1895 Commits

Author SHA1 Message Date
Stephan Aßmus
e0418bf91e Fixed wrong target name.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28057 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-13 23:07:50 +00:00
Stephan Aßmus
61e7172dca Added a test application for view transit changes, including the problem
of stealing (not anymore) mouse messages that are important for maintaining
the correct transit.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28003 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-12 19:32:41 +00:00
Ingo Weinhold
8037829025 Added option '-b' for setting the buffer size used for the scheduling
analysis.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27992 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-12 12:30:59 +00:00
Oliver Tappe
1af8bfdf87 * fixed output format and a warning
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27988 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-12 08:10:11 +00:00
Oliver Tappe
1c2b784cc6 * improved flexibility when doing broadcasts (the broadcasting
address can now be specified), in order to be able to do
  global broadcasts as well as network (IP-level) broadcasts

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27980 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-11 21:25:58 +00:00
Ingo Weinhold
c28bcbdf58 Added "--signal" option that performs the crash in a signal handler.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27934 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-09 00:47:36 +00:00
Karsten Heimrich
8e0559b5f7 * fix probable memory leaks, not in the image but anyway...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27851 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-03 11:54:05 +00:00
Ingo Weinhold
e9c4d47ad7 Added command line option "-d" to disable the debugger before crashing.
Shows that disable_debugger() isn't working ATM.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27712 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-09-23 19:54:12 +00:00
Stephan Aßmus
6152a5bc58 Added a test for BTextView. It is quite basic yet.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27678 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-09-21 21:37:22 +00:00
Stephan Aßmus
b2c4c4f1f7 * Added BRadioButton test (the class seems to work fine).
* Extended the BMenuField test to see what happens when the super item label
  changes (works fine now).
* Updated TODO.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27586 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-09-16 15:10:11 +00:00
Stefano Ceccherini
10d8f3749e added a test for BView::SetDiskMode()
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27582 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-09-16 10:27:41 +00:00
Stefano Ceccherini
b482d05552 Fix gcc4 warning, small style changes
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27579 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-09-16 07:32:36 +00:00
Stephan Aßmus
7302e28d1b Added BTextControl test. BTextControl seems to need some love.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27498 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-09-13 19:50:01 +00:00
Stephan Aßmus
21527c4e77 Added BScrollBar test.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27495 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-09-13 19:21:55 +00:00
Michael Lotz
020f56a07f CID 323 and CID 324: Also check the results of these dynamic_casts, sorry for
not combining with the previous commit.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27474 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-09-13 12:36:17 +00:00
Michael Lotz
446d046c5e CID 325: Be defensive and check the results of the dynamic_casts.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27473 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-09-13 12:28:46 +00:00
Axel Dörfler
90e8094e1e * Added test application for the AttributeIterator implementation. Note that
this test fails under BeOS, while it works just fine under Haiku.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27449 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-09-12 12:23:39 +00:00
Salvatore Benedetto
7a32d7f588 * Adding unit test for xsi message queue
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27419 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-09-11 15:08:18 +00:00
Ingo Weinhold
91e9d17c3f Small test program timing our path resolution. Which sucks badly...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27364 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-09-08 00:50:27 +00:00
Ingo Weinhold
61713fc607 * More verbose usage text.
* Parse the command line options posixly correct. Running command lines
  that contained options was broken before.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27358 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-09-07 14:22:53 +00:00
Michael Pfeiffer
b5c0078dc0 * Used wrong argument order for pixelChunk and rowAlignment in get_pixel_size_for(), so bitmap comparison was wrong for a color spaces with bytes per pixel != 4.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27336 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-09-05 13:39:06 +00:00
Michael Pfeiffer
eaaafdc55f Fixed display artifacts when scrolling horizontally.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27335 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-09-05 13:33:13 +00:00
Michael Pfeiffer
e5f1745701 Removed debug output, it is not required anymore, as scrolling horizontally should work now.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27329 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-09-04 20:32:31 +00:00
Michael Pfeiffer
2d201d5a3e Provided detailed information when two bitmaps are different.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27324 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-09-04 17:08:20 +00:00
Stefano Ceccherini
0fb4fa50cd Added a column where the picture generated bitmap is subtracted from the direct generated bitmapi (to be able to see small differences, is it correct or it doesn't work like this?). In many cases the result is a black rectangle (as it should), but some others don't look correct. Any idea ?
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27318 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-09-04 10:21:47 +00:00
Stefano Ceccherini
ed70c5f317 added test for push/pop state (very basic)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27317 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-09-04 10:20:07 +00:00
Stefano Ceccherini
15cf50e010 Added a test (not that cool) for SetDrawingMode(). For some reasons it fails, although the images look the same to me.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27316 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-09-04 09:30:29 +00:00
Ingo Weinhold
f88e298ec7 * In the timing table user and kernel time were swapped.
* Scheduling analysis output:
  - Sort the threads by total run time.
  - Group the locking primitives a thread has waited on by common type
    and name. E.g. all "I/O request finished" condition variables are
    put in a single group. The sum wait time and wait count is printed
    for the group, so it is easy to see how often and how long the
    thread had waited for I/O.
  - Both the groups and their elements are sorted by wait time.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27313 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-09-04 00:13:53 +00:00
Ingo Weinhold
49de5a2f65 * Added "-s" option, which uses the new scheduling analysis feature to
gather additional information on the threads that were running and
  what they were doing.
* Added "-o <output>" option for specifying a file to which to print the
  statistics to.
* Some beautifications (usage, help, etc.).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27306 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-09-03 15:15:19 +00:00
Stefano Ceccherini
6e7954eb07 fixed warnings (gcc4). Style fixes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27296 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-09-03 10:01:58 +00:00
Stephan Aßmus
f3da4728e6 Listed classes that need tests yet.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27286 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-09-02 11:06:40 +00:00
Stephan Aßmus
86dab989e5 Added test for adding a BMenu instead of a BMenuItem, but everything works
fine, at least in the context of the layout management. I am investigating
a bug though that shows at least in WonderBrush (missing Filter menu).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27284 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-09-02 10:56:14 +00:00
Stefano Ceccherini
a61498c87d fixed some warnings (gcc4)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27261 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-09-01 08:18:49 +00:00
Ingo Weinhold
e969748a3d Added test program "time_stats" which is a "time" on steroids. It prints
not only the times for the child process, but also for all other
threads. Gives some more insight into what was going on in the system.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27249 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-31 03:04:28 +00:00
Ingo Weinhold
0316483f0a * DMAResource::TranslateNext(): Added parameter to limit the maximum
operation length.
* IORequest: Added owner (IORequestOwner). Also added a SetUnfinished()
  method, which is invoked by the I/O scheduler after all operations of
  the request have been finished, but the request isn't done yet.
* Added debugger commands "io_request_owner" and "io_scheduler" printing
  information for a IORequestOwner and IOScheduler object respectively.
* Implemented an actual I/O scheduling algorithm. It's a simple round
  robin strategy (a queue per thread) with a unidirectional elevator
  serializing the operations. ATM priorities are ignored, the bandwidth
  isn't adjusted to the device, and there are TODOs all over the place.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27216 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-28 01:49:18 +00:00
Ingo Weinhold
025f7c3289 A DMABuffer doesn't have a fixed bounce buffer assigned anymore. We do
dynamically assign one when needed. Under the assumption that in most
cases a bounce buffer isn't needed, we can thus prepare a lot more
operations.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27185 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-24 16:57:31 +00:00
Ingo Weinhold
d74af3b17f Improved output. Particularly when the allocation is filled, it is nice
to know whether there's still progress.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27124 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-22 01:16:48 +00:00
Ingo Weinhold
d80bf853c6 Added swap support test program. It's currently running into deadlocks.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27110 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-21 14:37:28 +00:00
Stefano Ceccherini
1b6b5b83ab other part of the patch from andreasf (fixes bug #2637)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27062 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-19 13:51:37 +00:00
Stefano Ceccherini
f9eba888ca patch from andreasf which fixes build for gcc4 (part of bug #2637
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27061 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-19 13:50:02 +00:00
Ingo Weinhold
27a11ab8b0 Tests exposing several problems with partial writes shorter than the
vector size, and partial writes of less than one block.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27041 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-18 15:16:27 +00:00
Bruno G. Albuquerque
128bb4926c - Added a crashing case (with a stack corruption, no less) to the ParseDateTest.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27003 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-17 13:21:49 +00:00
Salvatore Benedetto
839157e97c * Removing bonnie in favor of bonnie++-1.03d
BTW: I've added bonnie++ as it is. That is, I just realized that some
unnecessary directory/files (like debian) could have been removed. 
They shouldn't harm ;-)



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26920 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-10 15:39:11 +00:00
Salvatore Benedetto
24bd900833 * Adding bonnie++ suite version 1.03d. It includes the binary zcat and bonnie++ itself
I'm adding it to the same directory of where bonnie was, but I think
src/test/apps would be a better place.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26919 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-10 15:36:25 +00:00
Salvatore Benedetto
71d31cc518 * Removing old version of bonnie
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26918 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-10 15:33:26 +00:00
Axel Dörfler
c3a9fa2150 * Added a kludge to the test environment to be able to support two pages sized
non-contiguous areas.
* Added a test that allowed to reproduce #2595.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26917 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-10 15:32:13 +00:00
Ingo Weinhold
1bb2ad1ed8 Test case to reproduce bug #2584.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26909 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-10 00:25:53 +00:00
Ingo Weinhold
730798eb99 Test case for bug #2586 (more given physical vecs than max segment
count).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26896 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-09 12:58:09 +00:00
Ingo Weinhold
3521e43f97 Small test for mprotect().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26872 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-08 01:00:40 +00:00
Axel Dörfler
ed7c4a3e9a * Added simple test app for readdir() to see how it fills out the dirent
and the private DIR parts.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26860 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-07 14:25:06 +00:00
Salvatore Benedetto
cefb069022 * Adding xsi semaphore test unit
* Moving common functions and macros used in realtime_sem_test1
  to a shared header as they are probably going to be used for other test unit



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26854 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-07 08:09:56 +00:00
Ingo Weinhold
fe74d94e3c Test program to reproduce bug #2562.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26791 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-04 14:23:06 +00:00
Stephan Aßmus
59e13a3f06 Patch by Andrej Spielmann (GSoC):
* Simplified the subpixel related methods for the AGG "pixel format" template
  interface, the ones for the solid cover simply pass through the existing
  methods, so only one subpixel blending function is left which does the actual
  work (this removes a lot of the previously added code)
* Implemented a new rasterizer based on the original AGG rasterizer which
  implements subpixel anti-aliasing for any generic AGG vector pipelines. It
  is now optionally used in Painter and AGGTextRenderer (for vector fonts, ie
  rotated, sheared or big enough fonts) depending on the global subpixel
  setting.
* Put all subpixel variables into the new GlobalSubpixelSettings.h|cpp
* Simplified DesktopSettings related classes a bit and renamed previous
  FontSubpixelAntialiasing to just SubpixelAntialiasing.
* The private libbe functions for subpixel related settings moved from Font.cpp
  to InterfaceDefs.cpp where other such functions live. They are not related
  to fonts only anymore.
* Removed the subpixel related settings again from the Fonts preflet and added
  them to the Appearance preflet instead.

All of the above implements subpixel anti-aliasing on a global scale, which
to my knowledge no other OS is doing at the moment. Any vector rendering
can optionally use subpixel anti-aliasing in Haiku now. The bitmap cached fonts
are still affected by the Freetype complile time #define to enable the patented
subpixel rasterization (three times wide glyphs). Vector fonts and shapes are
not affected though at the moment.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26755 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-03 13:40:41 +00:00
Axel Dörfler
cc6c784ae7 * Sean C. Farley made me aware that some of the possible solutions to clear
the environment would crash on Haiku. Added a small test application that
  just checks every one of those.
* Fixed env locking (in userland, you better check against B_INTERRUPTED).
* Made our code safe against an environ of NULL.
* There is now an additional sManagedEnviron that points to the environment
  our code actually managed; whenever an application overrides environ, we'll
  get aware of it with the next *env() function invocation, and will handle
  it adequately.
* Added non-POSIX clearenv() function.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26719 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-01 15:02:03 +00:00
Ingo Weinhold
7f12cc54a7 * It is now supported that I/O operations and requests are only handled
partially (e.g. due to hitting the end of file). The respective
  classes have grown new methods and attributes to deal with that. The
  "finished" callbacks have got additional parameters to indicate
  whether the transfer was only partial and how much has been
  transferred. Other callbacks and functions have a size_t* in/out
  parameter instead of a simple size_t, now.
* vfs_{read,write}_pages() do now use the I/O request framework instead
  of the underlying FS's {read,write}_pages() hooks (those should be
  unused now). Furthermore they've got an additional "flags" parameter,
  which is passed to IORequest::Init(), i.e. it allows to specify that
  the given vecs refer to physical addresses.
* The file cache's read_into_cache() reads directly into physical
  pages, now.
* Fixed bug in DoIO::IO(): The offset was not adjusted, so that all
  pages were incorrectly transferred from/to the same location.
* Fixed broken subrequest scheduling loop head in
  do_iterative_fd_io_iterate().
* Adjusted the test driver and implemented its io() hook. Using this
  driver I/O requests are passed all the way from the VFS/VM to the
  driver and through the I/O scheduler. It even seems to work. :-)
* Added missing const to the iovec* parameter of the IORequest::Init()
  methods.
* Disabled some debug output by default. Added new optional debug
  output.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26692 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-30 23:34:10 +00:00
Stephan Aßmus
87b8310c0f The ClippedLineTest now runs for 5 seconds max (should change the other tests
accordingly and refactor a bit). It also prints the number of clipping rects.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26685 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-30 11:40:18 +00:00
Stephan Aßmus
b4e9c99bc4 * Added a SetupClipping() method to Test baseclass, which adds about 400
small clipping holes to the TestView user clipping.
* Added a bunch of new tests. Here are some numbers from the test environment,
  which is similar to running Haiku in VESA mode:

Horizontal lines per second:
Haiku:	192964.663	(117,7%)
ZETA:	163977.006

Vertical lines per second:
Haiku:	 90109.985	(276.9%)
ZETA:	 32538.458

Random lines per second:
Haiku:	  7998.451	(23.1%)
ZETA:	 34602.539

Random colored lines per second:
Haiku:	  7976.437	(22.9%)
ZETA:	 34788.247

Random clipped lines per second:
Haiku:	   262.180	(2.5%)
ZETA:	 10394.794

Clipped glyphs per second:
Haiku:	  5911.526	(1.0%)
ZETA:	590508.726

Obviously the clipping performance is a punch in the stomache.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26683 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-29 21:12:48 +00:00
Stephan Aßmus
7b0cfaa569 No space between copyright notice and header guard.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26682 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-29 20:07:10 +00:00
Stephan Aßmus
3cb3e0e210 * Fixed coding style issues pointed out by Axel
* Use more letters of the roman alphabet (doh...)
* Tested drawing mode is currently B_OP_COPY


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26681 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-29 19:03:38 +00:00
Stephan Aßmus
7c2658585f The start of a benchmark application to test various performance questions
of the Haiku app_server. The immediate comparison are of course BeOS and ZETA.
Currently, it measures the performance of drawing untransformed text. For
now, I have only tested on ZETA and the app_server testing environment. Will
let you know my findings with Haiku running on real hardware.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26680 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-29 16:41:19 +00:00
Ingo Weinhold
9e637dd94b Since we don't use the IOScheduler, we have to explicitly tell the
request that the operation is finished.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26653 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-28 01:19:52 +00:00
Ingo Weinhold
c1cec366af * Removed B_USER_IO_REQUEST flag. It was superfluous, since whether the
buffer lives in userland can easily be checked via IS_USER_ADDRESS.
* Added B_VIP_IO_REQUEST flag which will be used by the page writer and
  should cause allocations to be made in a way that they cannot fail.
  Not implemented yet, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26632 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-25 14:01:56 +00:00
Ingo Weinhold
d4e2720651 More debug output.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26608 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-24 12:26:23 +00:00
Ingo Weinhold
04b04600f2 Trust the compiler to do optimize simple stuff like this. This also
helps to avoid stupid mistakes. The driver works again, though things
are still not stable.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26605 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-24 11:34:55 +00:00
Ingo Weinhold
91ccfa19a0 Added missing vm_put_physical_page() in do_io().
Something is still fishy though: Opening the dma_resources_test device
in DiskProbe, the wrong data is shown. do_io() seems to be invoked with
the correct physical address, vm_get_physical_page() succeeds, and after
memcpy() the correct data are in the virtual address it returned, but
db in the kernel debugger shows that the data in the physical page have
not been changed. When quitting DiskProbe the "page still has mappings"
assert is triggered for the page.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26602 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-24 04:25:06 +00:00
Ingo Weinhold
feb6103338 * Maybe I just missed something, but module names not matching the
driver name didn't work here.
* Enabled using the I/O scheduler in the read() and write() hooks.
  Something's still broken, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26598 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-24 02:02:39 +00:00
Axel Dörfler
33f9067b36 * Started using the I/O scheduler -- disabled it for now, though, as it doesn't
really work yet (there are some bits missing in the IORequest and IOScheduler
  to able to use them this way).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26565 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-22 16:31:35 +00:00
Axel Dörfler
8faff60c7f * Enabled all DMA tests, wrote some more.
* Moved data buffer creation to a TestSuiteContext class.
* Added checks if the I/O operation does the correct thing, ie. reads/writes
  the data to the right offset.
* Rearranged DMA translation: we now handle the partial write case correctly
  (bounce buffer must always span over the whole block), and are able to join
  adjacent bounce buffers together.
* The new _AddBounceBuffer() method also respects boundary and segment size
  restrictions for bounce buffers.
* IOOperation now prepares the outgoing vecs/offset/length to contain the
  right data for the current phase (partial read begin/end/do-all); it will
  also make sure that the lengths of the vecs are of the same size than the
  whole request.
* All tests are now passed, the I/O request implementation seems to be ready
  for integration now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26556 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-22 00:43:01 +00:00
Axel Dörfler
45a206a742 axeld + bonefish:
More work on the I/O scheduler, more precisely mainly the DMAResource class:
* When splitting requests into operations, we're now able to flexibly mix
  bounce buffer segments and the given physical vectors in a single
  operation. This reduces the number of operations.
* Squashed several TODO and fleshed out more of the implementation.
* Added a test driver running unit tests. There are only a few tests yet,
  but those pass.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26519 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-19 23:27:14 +00:00
Oliver Tappe
88ed5fc1d2 * updated netperf to version 2.4.4
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26514 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-19 19:57:34 +00:00
Stephan Aßmus
fe5d1557e4 Also test the UpdateText() behavior.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26448 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-16 18:42:37 +00:00
Stephan Aßmus
58ecd48c0f Added a test for BSlider
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26442 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-16 15:06:13 +00:00
Fredrik Modeen
67ca609fdc small updates
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26414 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-14 19:53:39 +00:00
Fredrik Modeen
574759641e BJoystick test app. A updated Stickit demo app the original article included
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26413 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-14 19:14:23 +00:00
Oliver Tappe
49a22456dd Overhauled BNetEndpoint implementation (and BNetAddress, too):
* added NetEndpointTest that exposed a couple of bugs
* fixed several bugs in the implementation of BNetEndpoint, some of which kept 
  NetPenguin from working
* fixed a couple of constness issues in BNetEndpoint and BNetAddress


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26405 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-13 19:58:35 +00:00
Stephan Aßmus
d36ae78cc6 Added two tests:
* statusbar was used to test and improve some BStatusBar behavior
* lagging_get_mouse demonstrates what the problem is with older
  applications using synchronous GetMouse() calls without specifying
  that they actually don't care about mouse history.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26327 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-08 20:01:31 +00:00
Oliver Tappe
49cdfc106f * added a test for BNetAddress that exposes a couple of problems with the
current implementation (especially byte-order problems)

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26268 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-05 22:27:05 +00:00
Ingo Weinhold
063a092f93 Test to quickly reproduce bug #2471.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26247 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-04 15:20:43 +00:00
Michael Lotz
3d75dfbb4a Adding a DrawingModes test application that uses the different drawing modes
to draw a bitmap and a B_MIXED_COLORS pattern. This shows that most of the
Haiku drawing modes are off of what the BeBook documents them to be and also
shows that B_OP_SELECT is actually broken under R5.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26074 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-22 02:18:16 +00:00
Ingo Weinhold
ae50fc51bb Fixed libbe_test build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26017 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-19 00:06:50 +00:00
Michael Pfeiffer
4420c1ceff PPD parser and configuration UI prototype from 2004. Maybe it can be of some use for the CUPS port HCD 2008 project.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26007 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-18 18:24:54 +00:00
Michael Lotz
3c905d812f Adding DrawingDebugger app that creates a port listening for BRects that then
get drawn into a window with random colors. With that one can for example add
code to the app_server or interface kit classes that push through rects or
regions to see what exactly is going on in drawing operations. Code examples
of how to use are at the top of the file. Has fixed window dimensions though
as I was lazy :-)

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25855 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-07 23:37:58 +00:00
Michael Lotz
680a35bbdb Add a simple test that demonstrates that the Haiku app_server incorrectly
(or at least incompatibly) uses the user set clipping region when determining
whether or not to call Draw() on a view. Under BeOS when a some part of a view
is exposed it will always trigger a Draw(), even if the current clipping region
disallows drawing in the supplied update rect. Under Haiku however the view is
not considered for an update when the current clipping region does not
intersect with the newly exposed area.
Running this test app from the Terminal this behaviour can be seen. When
clicking inside the window a floating window pops up. When clicking again it
goes away and triggers a redraw. When hitting a key, a clipping region is set
that does not overlap with the floating window. After this clipping is set,
the view does not get any Draw() call anymore when the floating window goes
away.
This is the reason for the redraw issues in firefox, as firefox uses the
clipping region to constrain its asynchronous drawing, but does never reset
the clipping to NULL. As firefox just collects the update rects in Draw() and
then draws the contents itself, once the clipping region is set, many of the
Draw() calls don't get called and the interface parts are never redrawn.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25853 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-07 21:53:08 +00:00
Stephan Aßmus
99327c079d Fixed typo in script.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25845 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-07 12:46:50 +00:00
Stephan Aßmus
68cbefe99b Fixed typo in printf output.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25844 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-07 12:46:29 +00:00
Ingo Weinhold
e72e5275ff Added test that runs another program and analyzes the contention of the
thread and team spinlocks during that time.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25753 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-02 02:07:26 +00:00
Michael Lotz
b30304acc8 * Add a DumpFontList test that dumps all families and styles with most BFont
infos (should all be defaults expect for a few).

This shows that with our default installation there are quite a few "condensed"
styles and also an "extra light" variation. The condensed ones should probably
get their own face flag. The "extra light" and other unhandled styles should
probably not be classified as a B_REGULAR_FACE as this could lead applications
to use them in a wrong way yielding unexpected results (i.e. firefox that
picks up the "extra light" style for it's interface font).

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25630 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-23 20:35:46 +00:00
Ingo Weinhold
4e9ac4d14e POSIX test suite related changes by Vasilis Kaoutsis:
* made the output easier to observe
* added the sigsuspend_6-1 test to the package
* made the fork_3-1 test return when it fails
* added output to the pthread_once tests
* other minor cosmetic changes


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25567 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-19 23:03:47 +00:00
Axel Dörfler
3aecf8aa00 Some cleanup I made before the integration.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25545 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-18 14:22:56 +00:00
Axel Dörfler
7504dbf51f Fixed build under non-BeOS platforms.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25544 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-18 14:09:58 +00:00
Axel Dörfler
9f925127db This should be the last commit to this one, I'll next work on integrating it
into the kernel:
* Added device_removed() function to the device level as well.
* A device_node now also tracks its published devices.
* Made the driver API more consistent with the device API; instead of the node,
  they now get the driverCookie (so they now need to store the node themselves,
  the driver cookie could be retrieved via the node).
  Alternatively, one could either pass both, or have something similar to what
  Ingo did for the file systems, ie. pass a structure that contains both
  elements. Suggestions welcome.
* Implemented device node replacement when a better driver becomes available:
  the new node (and its devices) is already published even though the old device
  is still in use. The new device is B_BUSY until the old one is closed.
* Implemented an update cycle counter: this will prevent a device node from
  being probed again, if there is no new driver since the last time; eventually
  this will be moved into devfs, though.
* Driver removal and replacement now works as expected in all tested scenarios
  (device removed, better driver installed, both with and without open device).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25512 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-15 15:08:33 +00:00
Axel Dörfler
7a6818d3fa Work in progress:
* added [un]publish_device() calls to the device manager.
* added a very basic devfs emulation to the playground to be able to test how
  the manager reacts to opened devices.
* renamed *_device() functions to *_node() in the device manager API.
* made B_DEVICE_FIND_CHILD_FLAGS a generic flags field, and renamed it to
  B_DEVICE_FLAGS.
* added support for keeping a driver loaded as long as its device is available.
* implemented get_next_child_node().
* added test for device removal, and implemented unregister_node() for this.
* fixed some bugs in the device node reference/initialization count maintenance.
* moved more code from register_node() to device_node::Register().
* initialize the device_node::fFlags member to the value of B_DEVICE_FLAGS, and
  have additional private flags.
* renamed UninitUnusedChildren() to UninitUnusedDriver(), and fixed this
  function by adding the new flag NODE_FLAG_REGISTER_INITIALIZED.
* Now remembers the support when a driver is registered - this will be used
  later to be able to compare with a new driver without having to call
  supports_device() again.
* Removed NODE_FLAG_REMOVE_ON_UNINIT again, as that was pretty stupid - there
  is reference counting for a reason.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25498 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-14 20:05:40 +00:00
Jérôme Duval
b2208589c9 Patch from Kaoutsis to enable mutex and pthread_create tests.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25460 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-12 09:58:31 +00:00
Axel Dörfler
548c508ff7 More work-in-progress:
* Added a generic (for all devices) and specific (for a specific device) video
  driver to be able to play with the replace mechanism (which is not yet done,
  but works well for the one usage case tested).
* Added reference counting and initialize counting: now, each node owns a
  reference of its parent, and each initialized node owns an initialization
  reference of its parent.
* Added locking.
* Moved dump functionality into a member function.
* The same node can now only added once - ie. if a bus tries to register the
  same device twice, it will fail.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25453 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-11 17:00:07 +00:00
Ingo Weinhold
2873ace1f1 Small test program triggering a self-deadlock in the memory allocator
when a signal handler that itself uses the allocator is invoked while
the thread originally was in the allocator.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25449 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-11 15:56:42 +00:00
Axel Dörfler
2f00291de2 * The EXIF parser now keeps a set of visited offsets to avoid entering endless
loops with corrupted data.
* This fixes bug #2206.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25447 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-11 12:28:01 +00:00
Axel Dörfler
fdeee1a708 Wrote a small test program that can reproduce the problem in bug #2206.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25446 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-11 12:08:15 +00:00
Ingo Weinhold
d5becaf83b Test for setjmp() that demonstrates why it isn't a good idea to
manipulate the stack pointer as we do.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25426 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-10 16:26:05 +00:00
Axel Dörfler
078d0317d0 * Work in progress: driver loading triggered by devfs.
* get_driver() now returns a result, as you may theoretically call it on
  any node (and not just your parent, which is guaranteed to be there).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25406 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-09 22:05:50 +00:00
Axel Dörfler
2d79691811 * Changed how the driver paths are found: now, the bus can add type/sub-type/
interface information (in the PCI notion) to a node, and the possible paths
  of a device driver are generated from that information by the device manager.
* Removed the "is bus" attribute - the device manager now decides wether or not
  a device always loads its children (as opposed to on demand loading only),
  even if the B_FIND_CHILD_ON_DEMAND flag is specified.
* device_node::Register() now correctly maintains the fRegistered member field.
* Replaced the driver_module() and driver_data() methods with a get_driver()
  method that retrieves all information at once.
* Cleaned attribute names.
* Some other cleanup, adding const where it makes sense.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25394 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-09 12:56:29 +00:00