aboutsummaryrefslogtreecommitdiffstats
path: root/tests
Commit message (Collapse)AuthorAgeFilesLines
* Update gesture unit test to cover angle cornercaseSamuel Mannehed2020-06-151-3/+3
| | | | | | If the difference in angle is larger than 180 degrees we hit a corner case. This commit modifies the coordinates of an existing test to cover this.
* Improve names of many gesturehandler unit testsSamuel Mannehed2020-06-051-24/+24
| | | | Makes it easier to understand what the tests do.
* Remove unnecessary touchEnd from unit testsSamuel Mannehed2020-06-051-1/+0
|
* Use mingw's stdio routines where neededPierre Ossman2020-05-311-7/+4
| | | | It allows us to use the more standard format specifiers.
* Implement touch gesture handling on UnixAaron Sowry2020-05-292-0/+1248
| | | | | Allows the user to perform certain important mouse operations using touch gestures instead.
* Fix position for click and drag with EmulateMBAlex Tanskanen2020-05-261-2/+60
| | | | | | | If you have the setting "Emulate middle mouse button" turned on, a click and drag can fail if it is done very quickly. The position of the initial click will be incorrect in such a case because the timeout will delay events.
* Add unit tests for EmulateMBAlex Tanskanen2020-05-262-0/+433
|
* Fix framebuffer setup in encperfPierre Ossman2020-02-271-2/+3
| | | | We adapted to the wrong new callback in a previous commit.
* Provide dummy output for dummy client connectionsPierre Ossman2020-02-272-2/+54
| | | | | The CConnection base class wants to be able to write things these days, so we need to provide it a place to do so.
* Handle pixel formats with odd shift valuesPierre Ossman2019-11-151-0/+6
| | | | | | | | | Our fast paths assume that each channel fits in to a separate byte. That means the shift needs to be a multiple of 8. Start actually checking this so that a client cannot trip us up and possibly cause incorrect code exection. Issue found by Pavel Cheremushkin from Kaspersky Lab.
* Add unit tests for PixelFormat.is888() detectionPierre Ossman2019-11-151-1/+59
|
* Use size_t for lengths in stream objectsPierre Ossman2019-11-151-5/+5
| | | | | | | | Provides safety against them accidentally becoming negative because of bugs in the calculations. Also does the same to CharArray and friends as they were strongly connection to the stream objects.
* Add sanity checks for PixelFormat shift valuesPierre Ossman2019-11-151-0/+6
| | | | | | | | | | | | Otherwise we might be tricked in to reading and writing things at incorrect offsets for pixels which ultimately could result in an attacker writing things to the stack or heap and executing things they shouldn't. This only affects the server as the client never uses the pixel format suggested by th server. Issue found by Pavel Cheremushkin from Kaspersky Lab.
* Fix depth sanity test in PixelFormatPierre Ossman2019-11-151-0/+4
|
* Add unit test for PixelFormat sanity checksPierre Ossman2019-11-152-0/+117
|
* Add unit tests for convertLF() and convertCRLF()Pierre Ossman2019-09-252-0/+127
|
* Split test programs to benchmarking and unit testsPierre Ossman2019-09-2517-45/+51
| | | | | They have very different purpose, so make things easier to work with by having multiple directories.
* Clean up internal clipboard handlingPierre Ossman2019-07-012-4/+4
| | | | | | We now filter incoming data, which means we can start assuming the clipboard data is always null terminated. This allows us to clean up a lot of the internal handling.
* Merge branch 'connparams' of https://github.com/CendioOssman/tigervncPierre Ossman2018-12-102-13/+11
|\
| * Let CMsgHandler::serverInit() handle initial set upPierre Ossman2018-11-012-8/+4
| | | | | | | | | | | | | | Avoid using the callbacks used for runtime changes for the initial setup. They weren't really useful anyway as you could not allocate a framebuffer without also knowing the pixel format. So make things more clear by letting serverInit() get the initial settings.
| * Rename ConnParams to ClientParamsPierre Ossman2018-11-011-2/+2
| | | | | | | | | | | | Now that we've split out server state to ServerParams, ConnParams only contains state for a client. Rename the class and variables to reflect this.
| * Split out ServerParams from ConnParamsPierre Ossman2018-11-012-3/+5
| | | | | | | | | | | | We need to track different things in the server and client, so separate things to two independent structures to keep things more clear.
| * Encapsulate screen layout storage in ConnParamsPierre Ossman2018-11-012-2/+2
| | | | | | | | | | | | | | Avoid direct access to the screen dimensions and layout so that we can make sure it stays sane. This also makes sure the layout is properly updated when we only get the screen dimensions from the server.
* | Remove variable length arraysPierre Ossman2018-11-071-2/+3
|/ | | | | These are not allowed in C++, and have been made optional in C11. So let's just get rid of them and any issues they may cause.
* Fix .gitignore for vncviewer/ and tests/Pierre Ossman2018-07-111-0/+6
| | | | | We had partial coverage for vncviewer/ already, but fix up the last pieces.
* Catch exceptions by referencePierre Ossman2018-05-292-6/+6
| | | | | We use polymorphic exception objects, so catching by value invokes the copy constructor and stuff that we don't really want.
* Fix calculation of conversion test target valuesPierre Ossman2018-03-011-3/+3
| | | | | Bit shifting gives an approximate, but not properly accurate value when upconverting. Do a proper calculation.
* Add client support for LED state syncPierre Ossman2017-08-241-1/+3
|
* Use correct color space for current monitorPierre Ossman2017-04-281-1/+4
| | | | | | We won't always be on the primary monitor, so check which color space we're actually using right now. For offscreen stuff we assume a standard sRGB color space.
* Change cursor API to use RGBA dataPierre Ossman2017-02-222-4/+4
| | | | | This will allow us to use better formats that preserve the entire alpha channel.
* Add alpha blending support to surfacesPierre Ossman2017-02-102-4/+8
|
* Render on a temporary surface when neededPierre Ossman2017-02-101-5/+34
| | | | | | Some platforms draw directly to the screen, which means that updates will flicker if we draw multiple layers. Prevent this by first composing the update on a hidden surface.
* Abstract platform rendering to "surfaces"Pierre Ossman2017-02-102-25/+79
| | | | This will allow us to render more things than just the framebuffer.
* Improve framebuffer performance test measurementPierre Ossman2017-02-101-10/+103
| | | | | Some platforms impose a significant delay per frame, so we need to separate that from the time spent shuffling pixels.
* spelling fixesklemens2017-01-281-1/+1
|
* Do explict sync after XShmPutImage()Pierre Ossman2017-01-111-3/+0
| | | | | The complex logic waiting for events didn't result in any added performance, so use the simpler approach.
* Add Fltk and Gettext include dirs when compiling testsBrian P. Hinz2017-01-081-0/+3
|
* Add test to measure framebuffer performancePierre Ossman2017-01-044-0/+291
|
* Add unit tests for getHostAndPort()Pierre Ossman2016-07-112-0/+83
|
* Performance analysis of multi-core decoderPierre Ossman2015-12-022-0/+40
|
* Estimate CPU core usage in performance testsPierre Ossman2015-11-272-35/+125
| | | | | | This is based on comparing CPU time with elapsed time, which means that the tests can be heavily influenced by other load on the test machine.
* Let CConnection intercept more callbacksPierre Ossman2015-11-272-0/+8
| | | | | We need more callbacks for correct operation of multi-threaded rect decoding.
* Delegate decoder object management to a separate classPierre Ossman2015-11-272-60/+19
| | | | | | | | | Done in preparation for multi-core decoding. Keeps the complexity out of the other classes. This also moves ownership of the framebuffer in to CConnection. It's the CConnection object that is aware of the threads and how to synchronise with them. Therefore the ownership of the framebuffer must also be there to make sure it isn't deleted whilst threads are working.
* Include kernel time in CPU usage measurementPierre Ossman2015-11-091-14/+29
| | | | | Time spent executing in the kernel is as much of a performance problem as time spent in userspace. Make sure both numbers are included.
* Remove parameter "hasBeenSet" logicPierre Ossman2015-04-271-2/+2
| | | | | It doesn't really make sense anymore given that settings might come from the GUI or configuration and not only the command line.
* Wrong array index in CPU usage calculation on WindowsPierre Ossman2015-03-031-1/+1
|
* Windows doesn't have %lldPierre Ossman2015-03-031-0/+5
|
* overrun() needs to return the available spacePierre Ossman2015-03-031-0/+3
|
* Move things around slightly so the compiler can track ccPierre Ossman2015-03-032-0/+10
|
* Fix mismatches between format string and argumentsPierre Ossman2015-03-031-1/+1
|