Commit Graph

2921 Commits

Author SHA1 Message Date
Andrew Lindesay
d483b4d0b5 HaikuDepot : More Backend Communications Improvements
Fixes for x86_64 build (tests)
2017-12-20 00:14:37 +01:00
Andrew Lindesay
0df6decf1b HaikuDepot : More Backend Communications Improvements
Added missing files from prior commit.
2017-12-19 21:50:31 +01:00
Andrew Lindesay
3094fef308 HaikuDepot : More Backend Communications Improvements
* Further improves the logging and provides some
  basic performance numbers.
* Moves the bulk-load logic out of the data-model
  class.
* Introduces a state-machine for the bulk-load
  process so that it will be more easily able to be
  shifted to non-blocking IO when the HTTP libraries
  can do that.
* Implements concurrent loading of the bulk-data to
  hopefully improve lead time for icons and meta-data.
* Loads data to a temporary file and then moves to the
  final location in order to avoid partially written
  data in the cache.
* Handles situations where no network is available;
  prevents attempt to access the network.
* Allows bulk-load processes to be cancelled when the
  application quits.
* Introduces command-line arguments to help simulate
  scenarios to help with testing performance and
  network absence.
* Implements ordered insert and binary search in the
  'List' class + basic unit test.
2017-12-19 20:56:53 +01:00
Augustin Cavalier
2c2516b9b6 libhaikucompat: Delete.
Was decoupled from the build since the switch to use libroot_build
even on Haiku.
2017-12-18 18:06:12 -05:00
Augustin Cavalier
a128e43004 calloc_test: Apply correct version.
Sorry for the noise...
2017-12-17 17:51:12 -05:00
ohnx
3934b3e6cc Add tests for calloc()
Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>
2017-12-17 17:02:47 -05:00
Adrien Destugues
d87218f79e Add test for stack alignment. 2017-12-10 09:28:49 +01:00
Adrien Destugues
2d10453741 Add a simple video decoding test
This application tests the BMediaTrack/BMediaFile API and underlying
ffmpeg plugin for video decoding. You can press (or hold) any key to go
through frames in a video. This avoids debugging both MediaPlayer and
the underlying libraries at the same time.

It shows that ReadFrames is getting video frames out of PTS order.
2017-12-07 22:45:44 +01:00
Julian Harnath
1d8d3ee32b Document workaround for using test_app_server
* Add a note about a workaround that can be used to run
  test_app_server, which currently fails to load the right
  library libbe_test.so. The bug should be fixed too, but
  with this, it can at least be used until then.
2017-11-29 19:43:16 +00:00
Axel Dörfler
e96835a9a4 Added simple test_launch_daemon.
* Expects its config files in /boot/home/test_launch.
* Uses standard I/O, and is always in user mode.
* Also added test_launch_roster command that is able to talk to the test
  server like it does to the real thing.
2017-11-29 17:19:46 +01:00
Jérôme Duval
6ac3a280f4 Add ZstdCompressionAlgorithm.
* kernel lib is decompress only (like zlib).
* expand compression_test for zstd.
2017-11-24 21:35:49 +01:00
Augustin Cavalier
581cd2a22d Nuke COMPILE_FOR_R5.
Not used in $long_time, almost certainly broken, so it's just cruft.
2017-11-15 17:52:27 +01:00
Andrew Lindesay
3d528c4a60 HaikuDepot: Change communication mechanism with server for repos
(last commit with same title only included new files - added those now)

Previously the desktop application would make a number of JSON-RPC calls
over HTTP to get the repositories.  Now it will make a single call to get
the repositories and cache the result.  This uses standard HTTP cache
signalling techniques and allows the server-side the ability to cache
the generated data as well.  Note that the model classes and parse-
related classes are generated and may not be code-style compliant.  They
are generated from JSON schema files in the server-side project.
Information about this as well as the python files used to generate the
C++ classes and headers are included in the server-side project.
2017-11-03 20:10:01 +01:00
Andrew Lindesay
e457080a4a HaikuDepot: Change communication mechanism with server for repos
Previously the desktop application would make a number of JSON-RPC calls
over HTTP to get the repositories.  Now it will make a single call to get
the repositories and cache the result.  This uses standard HTTP cache
signalling techniques and allows the server-side the ability to cache
the generated data as well.  Note that the model classes and parse-
related classes are generated and may not be code-style compliant.  They
are generated from JSON schema files in the server-side project.
Information about this as well as the python files used to generate the
C++ classes and headers are included in the server-side project.
2017-10-20 22:33:10 +02:00
Jérôme Duval
a295d3f46e wait4(): retrieve dead team entries usage information.
* This adds a parameter to the wait_for_child syscall. I extended the test case
to show the actual retrieved information.
* fix #13546
2017-10-10 17:20:46 +02:00
Augustin Cavalier
6aff37d1c7 Move SHA256 class to libroot instead of linking libshared into libroot.
Discussed with PulkoMandy and on the haiku-commits mailing list.

Thanks to @jessicah for compile-testing and fixing 2 small issues I missed.
2017-10-03 20:18:26 -04:00
Jérôme Duval
ccd42320c4 libroot: add posix_spawn(). 2017-09-12 19:42:57 +02:00
Akshay Agarwal
ed3f47fe2e BDateFormatTest: Add tests for day and month names for all format syles.
Signed-off-by: Jessica Hamilton <jessica.l.hamilton@gmail.com>
2017-08-31 10:27:26 +12:00
Adrien Destugues
62abb67d6e Cleanup my mess.
Repeatedly applying the wrong patch won't work.

When do we switch to Gerrit? :'(
2017-08-30 20:29:58 +02:00
Akshay Agarwal
f2c460497c BDurationFormatTest: Add test cases for abbreviated format style.
Signed-off-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
2017-08-30 20:15:30 +02:00
Akshay Agarwal
dadffbdbff BDurationFormatTest: Add test cases for abbreviated format style.
Signed-off-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
2017-08-30 19:32:48 +02:00
Akshay Agarwal
b73f6bf1c9 BDurationFormatTest: Add test cases for abbreviated format style.
Signed-off-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
2017-08-26 15:48:24 +02:00
Akshay Agarwal
ffdbd12882 Fix BDateFormatTest: Consider timezone in test cases.
* Issue: A time_t value of say '12345678' results into different timestamps
in different timezones. So the expected output will not match the result of
BDateFormat::Format() if the calendar's timezone is different from the
timezone of the expected output, and the tests 'TestFormat' and
'TestCustomFormat' will fail.

* Fix: Add timezone information in the test cases and pass the timezone
while calling BDateFormat::Format() in order to set the calendar's
timezone same as that of the expected output.

Signed-off-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
2017-08-26 12:19:59 +02:00
Akshay Agarwal
cf91123041 Add unit tests for BRelativeDateTimeFormat.
Signed-off-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
2017-08-26 09:02:52 +02:00
Adrien Destugues
dd582ff9d5 Add a test for #13664
Interaction between ConstrainClippingRegion and transforms leads to
button frames and background not being drawn at all.

Also shows another problem with rounded corner buttons when mixed with
transforms.
2017-08-20 14:59:21 +02:00
Andrew Lindesay
a1c3daa638 HaikuDepot : Streaming Icon Meta-Data Parser
More background work for later performance improvements.
This change generalizes the parsing of meta-data from
JSON streams as similarly structured meta-data is
anticipated to be carried in other payloads.  Unit tests
have also been implemented to provide coverage on this
new functionality.
2017-08-01 23:19:27 +02:00
Philippe Houdoin
12b5c184b2 kernel: add fifo polling test from #7859 2017-08-01 18:50:36 +00:00
Philippe Houdoin
17f88a29db Fix x86_64 build 2017-08-01 18:37:39 +00:00
Adrien Destugues
01c1bb6223 Remove more Locale Kit cruft.
BNumberFormat is the way to go for all of this. This code was not even
compiled in.
2017-07-30 19:25:16 +02:00
Jérôme Duval
cffce774dd Add a test for wait4(). 2017-06-19 18:33:15 +02:00
Adrien Destugues
3ec7701779 NaturalCompare: implement using locale kit
The non-locale aware version is kept in src/build/libshared for use on
the host system and in packagefs (kernel add-on). In both cases, ICU is
not available.

Fixes #8192
2017-05-29 14:04:44 +02:00
Adrien Destugues
a19a18f553 Rework BCollator API
- Strength is now set once, instead of at each comparison, to improve
  performance and fix potential locking issues
- Add a way to enable "numeric" collation (aka "natural order")
2017-05-29 08:52:43 +02:00
Andrew Lindesay
0c28e8e5a0 Implementation of JSON Streaming Parser
Fix warnings related to x86_64 tests' compilation.
2017-05-14 10:44:03 +12:00
Jérôme Duval
221b77b6ac JsonToMessageTest: fix build on x86_64. 2017-05-13 13:31:50 +02:00
Andrew Lindesay
1f6b57a5d2 Implementation of JSON Streaming Parser
This change will introduce a streaming parser capability to Haiku.  The
existing functionality of writing the JSON data to a BMessage in-memory
model is retained.  The new parser implements a SAX-style listener based
interface where the listener accepts parse events.  Unit tests have been
supplied for the JSON parser as well.
2017-05-13 18:50:39 +12:00
Augustin Cavalier
c72855f6c0 libMicro: Remove from tree.
Upstream libMicro builds and runs on Haiku with minimal changes now
(no recipe as it does not have an INSTALL mechanism). I submitted
a pull request with those to upstream, but for now you can get them
from https://github.com/waddlesplash/libMicro.
2017-05-12 17:20:29 -04:00
Axel Dörfler
655aae6a79 KPathTest: Fix build for GCC 5.
* Also fixed a warning in KPath.
* Sorry, again!
2017-04-30 18:17:51 +02:00
Axel Dörfler
e9843da357 KPath: Added LAZY_ALLOC flag.
* This allows KPath to not allocate a buffer when initialized
  without path.
* Added test cases for this.
* Added test for LockBuffer().
* Enhanced tests to allow building them in debug mode.
* Moved calling vfs_normalize_path() into own private method.
* Improved error codes; B_NO_MEMORY is now only returned if the
  allocation actually failed.
* If used with LAZY_ALLOC, Path() and LockBuffer() are now allowed
  to return a NULL path.
2017-04-30 17:14:45 +02:00
Axel Dörfler
f94671c33d KPath.Adopt(): Fixed path length.
* Issue was hidden due to inappropriate test values; changed test
  to uncover it.
2017-04-30 17:13:45 +02:00
Axel Dörfler
e1b4aed0cb KPath: Fixed Normalize() return code, changed Leaf().
* Normalize() now returns the error code that vfs_normalize_path()
  returns.
* Leaf() now returns "" instead of "/" for the root. It's not used
  outside of KPath.
* Adapted RemoveLeaf() to deal with this correctly.
* "KPath = string" no longer changes the buffer size.
* Added missing operator tests for =, ==, and !=.
2017-04-30 17:13:33 +02:00
Axel Dörfler
afd07b5621 KPathTest: Fixed build with gcc 5. 2017-04-29 21:55:23 +02:00
Axel Dörfler
663b800476 Added unit tests for KPath.
* There are a few oddities, and at least one bug.
2017-04-29 19:02:14 +02:00
Dario Casalinuovo
4263f2570d media_client: Fix Jamfiles to build correctly 2017-04-28 02:13:51 +02:00
Dario Casalinuovo
dda3a9c309 Move media_client to bin 2017-04-28 02:13:51 +02:00
Dario Casalinuovo
0d25cdf031 Remove play* commands from bin 2017-04-28 02:13:51 +02:00
Dario Casalinuovo
ada4f9788f MediaClient: Add play and test options 2017-04-28 02:13:51 +02:00
Augustin Cavalier
3f2162c629 tests/kits/net: Remove old version of the DialUpPreflet.
Hopefully there aren't any more copies of this hiding in the tree....
2017-04-25 10:56:42 -04:00
Augustin Cavalier
5495e4f674 netperf: Remove from tree.
Not actively used and there is a recipe available.
2017-04-25 10:55:29 -04:00
Augustin Cavalier
15d60d5e45 stickit_BJoystick: Remove unused .proj file. 2017-04-18 16:02:49 -04:00
Adrien Destugues
a4834579f8 Add test for BNetworkAddress::Equals
Shows that #12247 is invalid.
2017-03-25 15:49:44 +01:00
John Scipione
dc0b0016ad StringSearchTest: Add unit tests for new methods 2017-02-21 18:03:03 -08:00
John Scipione
17a4134733 StringSearchTest: automatic whitespace cleanup 2017-02-21 18:03:03 -08:00
Augustin Cavalier
b6f76ebe71 s/OpenBeOS License/MIT License/ universally, as they're the same thing.
Fixes #8681.
2017-02-09 22:09:56 -05:00
Freeman Lou
aa3083e086 Style fixes to various parts of the system.
Signed-off-by: Adrien Destugues <pulkomandy@pulkomandy.tk>

This patch was never applied after GSoC 2012. Rebase the parts that
still apply so we can close the ticket.

Fixes #9490.
2017-01-29 22:47:28 +01:00
Andrew Aldridge
f31b1a2faf Implement scrypt-based password hashing
Signed-off-by: Axel Dörfler <axeld@pinc-software.de>
2017-01-17 23:09:04 +01:00
Dario Casalinuovo
7561d9ac5d Populate media/experimental with future media_kit classes
* Node implementations headers are move into src/kits/media.
2017-01-16 23:04:14 +01:00
Dario Casalinuovo
fdfd8a502e General MediaClient cleanup
* Avoid setting fRunning in different places.
* Fix SimpleMediaOutput kind mismatch.
* Other minor fixes.
2017-01-15 19:28:14 +01:00
Adrien Destugues
bdd02e0d9d BString: rename SetCharAt to SetByteAt
Makes it clear that it operates on bytes, not unicode codepoints.
Thanks to mmlr for remembering me of this subtlety.
2017-01-12 22:03:51 +01:00
Adrien Destugues
7556ae845b Fix unit tests for BString API change. 2017-01-11 21:54:31 +01:00
Dmytro Shynkevych
0e0f49e799 libroot: Implemented pthread barriers
This is an implementation of pthread barriers pursuant to the relevant specification.

Barriers are essentially a special case of conditional variables,
such that all threads waiting on one are woken up when the number of
waiters reaches a number provided at the initialization of the barrier.
In view of that, this implementation mimics the implementation of pthread_cond,
except it is more specialized and self-contained.

Signed-off-by: Jérôme Duval <jerome.duval@gmail.com>
2016-12-30 11:32:04 +01:00
Jérôme Duval
9969137ced fork(): Follow-up fix to 17b2a3cfc.
* Ingo rightly noticed that the defer_signals counter is reinitialized on
  thread's user area creation. Setting the flag THREAD_CREATION_FLAG_DEFER_SIGNALS
  indeed gives the expected behavior, deferring signals until undefer_signals() is
  called in the child thread. Thanks for the review and fix suggestion.
* Added a simple test showing the values of the defer_signals counter after fork().
2016-12-18 09:44:03 +01:00
Dario Casalinuovo
ecb395852e Introduce BSimpleMediaClient
* The idea is to move the callback based mechanism into a derived
class. The objects can be composed to create working systems.
* The BMediaClient class supply RegisterInput/RegisterOutput
and BeginInput/BeginOutput is moved to BSimpleMediaClient.
* Various minor fixes.
2016-11-29 01:22:35 +01:00
Dario Casalinuovo
6d0255216e MediaClient: Introduce BMediaInput and BMediaOutput 2016-11-25 17:38:44 +01:00
Dario Casalinuovo
8a8384b47f media_client test: Include debug header 2016-11-25 00:07:20 +01:00
Dario Casalinuovo
ace98a8db2 media_client test: Add delayed mode when debugging 2016-11-24 18:21:51 +01:00
Dario Casalinuovo
8e980a4066 media_client test: Set an actual format for connections 2016-11-24 00:27:58 +01:00
Dario Casalinuovo
5ec9bd1eff MediaClient: general cleanup 2016-11-18 17:46:19 +01:00
Dario Casalinuovo
ed0a5452c2 media_client_test: Add more complex tests 2016-11-17 18:47:38 +01:00
Dario Casalinuovo
63b4dd8cef Add simple BMediaClient test 2016-11-17 02:44:42 +01:00
Adrien Destugues
f4db7fdc68 BUrl: allow URLs without protocol or authority again.
Parsing an URL can never fail. The regexp is designed to match any
input. In the worst case, everything will end up in the "path"
component. WebPositive relies on this to generate file URLs from a plain
path.

URLs without a protocol are also possible, and can be used with an
implicit protocol. A typical example is network shares sometimes noted in
"//host.domain/path/file" form.

Add tests for these two cases and fix the parser to behave as expected.
2016-11-05 13:01:36 +01:00
Adrien Destugues
a9af524dbb BPrintJob test: build fix. But the app crashes. 2016-11-05 13:01:36 +01:00
Andrew Lindesay
cf65729463 Url: implement same URL parsing logic in C/C++ code
- Remove uses of group matching regular expression, not available on all
  build hosts,
- Parsing is faster than our old regexp engine.

Signed-off-by: Adrien Destugues <pulkomandy@pulkomandy.tk>

- Fixes #13002
- Fixed some indentation (tabs vs space), please configure your editor
  properly.
2016-10-31 09:14:44 +01:00
Adrien Destugues
f004acb098 HttpDate: fix parsing of 2-digit year dates.
Fixes #13043.
Added the affected cookies to the testsuite to avoid future regressions.
2016-10-31 08:59:23 +01:00
Dario Casalinuovo
0ba82236bd Streaming: Remove any pointer BUrl argument
* There's no need to pass BUrl by pointer, this is
potentially dangerous and leaky without any advantage,
copying is definitely safer.
2016-06-24 19:00:38 +02:00
Andrew Lindesay
fa2dd9c45f BPackageInfo::Parser: Validate URL strings.
Fixes #12710.

Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>
I fixed the modifications to the Jamfiles in src/bin, they were all wrong
in the patch.
2016-06-18 18:40:07 -04:00
Dario Casalinuovo
2838795413 streamer_sniff_test: Little improvements
* Print tracks detected count.
* Delete media file before to exit.
2016-05-31 01:15:09 +02:00
Dario Casalinuovo
e7a7cd4eda Add streamer_sniff_test
* This is a simple test that open an url for streaming using
BMediaFile, the purpose is to test if streamers sniffing work
well.
2016-05-19 02:08:39 +02:00
Jérôme Duval
f022c304b0 readdir_r(): uses the logic of readdir()...
to retrieve more than one entry.
* readdir_r() is now affected by rewinddir(), thus fixing #12755.
* extends dirent_test with readdir_r().
2016-05-07 16:40:53 +02:00
Adrien Destugues
884412df8e Fix test_app_server build, again
- Interface Kit tests use a View class which is not BView, and has no
SetViewUIColor.
- Libexpat is now in a separate package.
- Shouldn't we add this to the buildbots so we can cath the breakage?
2016-02-14 21:12:33 +01:00
Kostadin Damyanov
00bb5b5957 unitests: fix the symlink to the resources directory
Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>
2016-01-27 19:44:03 -05:00
Jessica Hamilton
b8878f83ca Build: adjust Jamfiles in unittests for libshared.a change. 2016-01-16 15:44:26 +13:00
Rene Gollent
8028ede7db Build: Add architecture rule for libshared.a.
- As suggested by Ingo, add libshared.a to the architecture name map.
  This allows it to be linked by its short name like other frequently
  used libraries.
- Adjust all Jamfiles referencing the lib accordingly.
2016-01-15 21:12:24 -05:00
looncraz
d231c2a7a5 tests: Convert to using Set*UIColor.
Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>
Patches 0018-0019 from looncraz.
2016-01-04 07:15:57 -05:00
Augustin Cavalier
d8ca833a35 SliderTest: dos2unix. 2016-01-04 07:10:54 -05:00
Simon South
dbf060a3f7 libroot: Add brk() and sbrk().
This commit replaces the placeholder implementation of sbrk(), which
operated on a process' heap, with real implementations of brk() and
sbrk() that adjust a process' program break.

* unistd.h: Add standard definitions of brk() and sbrk(); include
  stdint.h for intptr_t.
* thread.cpp: Recognize RLIMIT_AS and RLIMIT_DATA resource limits
  (both currently unlimited); order limit identifiers alphabetically.
* arch-specific.cpp: Remove sbrk_hook().
* malloc_debug_api.cpp: Remove sbrk_hook().
* unistd/Jamfile: Build brk.c instead of sbrk.c.
* unistd/brk.c: Add.
* unistd/sbrk.c: Delete (placeholder implementation).
* libroot_stubs.c: Remove sbrk_hook().
* libroot_stubs_legacy.c: Remove sbrk_hook().
* src/tests/.../posix/Jamfile: Build brk_test.c.
* brk_test.c: Add (simple unit test that demonstrates behaviour of
  sbrk()).

Signed-off-by: Jérôme Duval <jerome.duval@gmail.com>
2015-11-22 17:59:22 +01:00
Julian Harnath
345d9bb4a2 test_app_server: fix build 2015-11-18 14:04:19 +01:00
Julian Harnath
6109a2086d Merge branch 'app_server'
Conflicts:
	src/kits/interface/PicturePlayer.cpp
	src/servers/app/ServerPicture.cpp

In addition, the following files were also adapted to master branch
BPicture changes during the merge:
	src/kits/interface/PicturePlayer.h
	src/servers/app/PictureBoundingBoxPlayer.cpp
2015-11-10 23:09:54 +01:00
Simon South
75c31ae28d system: Build using public elf.h header
Reduce duplication of code by

* Removing from elf_common.h definitions available in os/kernel/elf.h
* Deleting elf32.h and elf64.h
* Renaming elf_common.h to elf_private.h
* Updating source to build using public and private ELF header files
  together

Signed-off-by: Jessica Hamilton <jessica.l.hamilton@gmail.com>
2015-11-07 11:49:56 +13:00
Simon South
6abbd31061 unittests: Build copied BAppTest files
This adds to the "unittests" target a dependency on the
"AppTestRunApp3a" (etc.) files meant to be copied as part of the
BApplication test suite so they are generated when "jam unittests" is
run.

* TestsRules: Add "UnitTestDependency" rule.
* testapps/Jamfile: Make unit tests depend on copied files.

Fixes #12441.

Signed-off-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
2015-11-01 14:19:04 +01:00
Simon South
1a28be27e8 Fix unittests build.
Signed-off-by: John Scipione <jscipione@gmail.com>
2015-10-27 10:28:36 -07:00
Axel Dörfler
d9bb9513c5 launch_daemon: "file_exists" now resolves $HOME, and '~'. 2015-10-19 21:22:21 +02:00
Stefano Ceccherini
e5f9dfebd7 FlattenPictureTest: Add FillTriangle() with gradients test 2015-09-18 23:20:09 +02:00
Stefano Ceccherini
00c573d643 FlattenPictureTest: Add tests for FillRoundRect with gradients 2015-09-18 23:20:09 +02:00
Stefano Ceccherini
b8c65995cd FlattenPictureTest: Add tests for FillRegion with gradients 2015-09-18 23:20:08 +02:00
Stefano Ceccherini
7cf26360d9 FlattenPictureTest: Add failing test
InvertRect, when mixed with SetDrawingMode calls, fails to draw correctly
to a BPicture.
2015-09-18 23:20:08 +02:00
Stefano Ceccherini
abf565b12b FlattenPictureTest: add tests for Gradients.
None of the tests pass. BPicture currently doesn't have support for gradients.
Also add DrawString with offsets test.
2015-09-17 22:54:05 +02:00
Julian Harnath
71cc4d4998 Merge branch 'master' into app_server
Conflicts:
	src/kits/app/Roster.cpp
2015-09-01 20:07:21 +02:00
Michael Lotz
5ce7069d15 Add script that prints the uptime after waiting for all servers.
It waits for the message port of each application to become available
using waitfor and then waits for the application to actually reply
using hey. This establishes the criterion of the boot process being
complete as "all servers (and Tracker & Deskbar) are started and
respond to messages".
2015-08-29 19:15:47 +02:00
Julian Harnath
e3d7394869 app_server: fix test-app_server for launch_daemon changes
* Make test-app_server work again in a launch_daemon environment

* test_registrar gets a separate signature and port name again so the
  host system can distinguish it from the system registrar

* AppServer is normally a BServer now, however, there can't be two
  BApplications in one team. A class TestServerLoopAdapter is added,
  which becomes the base class of AppServer instead of BServer when
  compiling for libbe_test. It's an adapter class which looks towards
  AppServer as it if was a BServer, but internally it is derived from
  MessageLooper (like the old AppServer before the transition to
  BServer).

  This way, AppServer can stay a BServer in normal builds and it also
  avoids having to use too many #ifdefs to distinguish the two
  versions.
2015-08-23 01:00:32 +02:00
Michael Lotz
5d4501aa01 Assorted whitespace cleanup and typo fixes. 2015-08-20 21:54:41 +02:00
Julian Harnath
2a58d5432d Merge branch 'master' into app_server 2015-08-15 11:12:35 +02:00
Stefano Ceccherini
a361dc5a17 Update ChannelSliderTest to add limit labels for individual channels 2015-08-01 15:00:36 +02:00
Fredrik Holmqvist
0cd38980a3 Add unit tests specific for #12208. Pass depends on network.
NetworkAddressTest passes (most) tests when you have network.
When no network interface (ie -net none in QEMU) tests take forever and
more tests fail.
When network interface exists but is disabled in Haiku, tests are fast but
more tests fail.
2015-07-28 22:13:23 +02:00
Alexander von Gluck IV
89de782660 test/kits/net: Fix build of cookie_test 2015-07-26 09:55:45 -05:00
Alexander von Gluck IV
eef1c442a3 test/kits/net: Fix build of NetEndpointTest 2015-07-26 09:47:50 -05:00
Julian Harnath
551438b9be app_server: add new BView layers API
* Add new methods
    BView::BeginLayer(uint8 opacity)
    BView::EndLayer()

* All drawing between begin and end of a layer is redirected onto an
  intermediate bitmap. When ending the layer, this bitmap is
  composited onto the view with the opacity given when the layer was
  started.

* Layers can be nested arbitrarily and will be blended onto each
  other in order. There can also be any arbitrary interleaving of
  layer begin/end and drawing operations.

* Internally, drawing commands are redirected into a BPicture between
  BeginLayer and EndLayer (but client code need not know or care
  about this). Client code can also start/end other BPictures while
  inside a layer.

* Uses the PictureBoundingBoxPlayer to determine the size of the
  layer bitmap before allocating and drawing into it, so it does not
  allocate more memory than necessary and -- more importantly -- it
  will not alpha-composite more pixels than necessary.

* Drawing mode is always set to B_OP_ALPHA, blend mode to
  (B_PIXEL_ALPHA, B_ALPHA_COMPOSITE) while inside layers. This is
  necessary for (a) correct compositing output and (b) for
  redirection of drawing into the intermediate bitmap, which uses the
  renderer_region offset (in B_OP_COPY, the Painter does not use the
  AGG renderer methods, it directly accesses the pixel data. This
  would access out-of-bounds without the offset, so B_OP_COPY cannot
  be allowed.)
  To ensure these modes aren't changed, BView::SetDrawingMode()
  and BView::SetBlendingMode() are ignored while inside a layer.

* The main motivation behind this new API is WebKit, which internally
  expects such a layers functionality to be present. A performant and
  reusable implementation of this functionality can only be done
  server-side in app_server.
2015-07-25 16:35:52 +02:00
Julian Harnath
8511f6ac9b app_server: fix ServerPicture::SyncState pen size
* Should use the unscaled pen size here because we also write down
  the current scale, and we don't want to scale the pen twice.
2015-07-25 16:31:20 +02:00
Julian Harnath
ad53a0d999 app_server: add unit test add-on, test for SimpleTransform
* app_server currently does not have any real unit tests, making
  changes more difficult and riskier. A new directory unit_tests with
  a test add-on is added in app_server's tetsts directory to hold
  future unit tests.

* Add test for SimpleTransform class
2015-07-25 16:31:19 +02:00
Julian Harnath
ab1bd2fd07 app_server: rename DrawingContext to Canvas
* Better reflects the purpose of the class: an interface for things
  in which we can draw (e.g. a View)

* Accordingly rename OffscreenContext to OffscreenCanvas
2015-07-25 16:30:29 +02:00
Axel Dörfler
d54bb194d7 launch_daemon: Empty conditions are now NULL.
* Instead of an empty and-condition.
2015-07-22 20:45:06 +02:00
Axel Dörfler
95d93d2ea9 launch_daemon: Fixed empty on/if parsing.
* An extra empty message was mistakenly created.
2015-07-22 20:45:02 +02:00
Axel Dörfler
5a76694819 launch_daemon: Added events parsing.
* Including tests, also for the environment parsing.
2015-07-22 20:44:34 +02:00
Axel Dörfler
3888dd6e73 launch_daemon: Fixed condition tests build.
* ConditionContext changed.
2015-07-22 20:44:30 +02:00
Axel Dörfler
e0fc09b439 launch_daemon: Conditions now know if they are constant.
* This allows to remove a job in the init phase already, if its
  condition is not only constant, but also failing.
* Also removed the special Job::LaunchInSafeMode() method; this is now
  done using the conditions (the config option no_safemode remains,
  though).
2015-07-22 20:43:13 +02:00
Axel Dörfler
004cd6709d launch_daemon: Added run directive.
* Allows to conditionally (or unconditionally) launch targets.
* Including tests for the settings parser.
* FirstBootPrompt is now launched when deemed necessary (as in
  the Bootscript).
2015-07-22 20:43:08 +02:00
Axel Dörfler
0e347cb203 launch_daemon: Added condition tests. 2015-07-22 20:42:54 +02:00
Axel Dörfler
1e9c987102 launch_daemon: Added basic support for conditions.
* Admittedly not very well thought out, but it should be good
  enough for now; it doesn't really make sense to initialize jobs
  that is never run due to failed conditions.
* Job, and Target now have a common base class BaseJob that deals
  with the conditions.
2015-07-22 20:42:41 +02:00
Axel Dörfler
f7cf381a14 launch_daemon: Completed condition parser. 2015-07-22 20:42:36 +02:00
Axel Dörfler
e73c936699 launch_daemon: Started working on condition parsing.
* Moved related test code from DriverSettingsMessageAdapterTest to the
  SettingsParser class.
* Added SettingsParserTest class -- most tests already succeed, but not
  all; support for the flattened "not" is not working yet.
2015-07-22 20:42:32 +02:00
Axel Dörfler
c4b6278c02 DriverSettingsMessageAdapter: added "wildcard" support.
* You can now add arbitrarily named fields to the message as well,
  without having them all specified in the template.
* Also added a missing converter method that is called when there
  are no values to add, and implemented all methods in the base
  class, so that you only have to implement the methods you actually
  need.
2015-07-22 20:42:22 +02:00
Axel Dörfler
4bf862e368 syslog_daemon: Converted to BServer.
* Instead of letting the kernel search for the syslog port, the
  daemon now registers itself with the kernel (which even solves
  a TODO).
* A port is created for the actual log messages from the launch_daemon,
  and used on start.
* However, the SyslogTest does not yet work, due to the BMessage <->
  KMessage communication problems.
2015-07-22 20:40:47 +02:00
Dario Casalinuovo
fb6c8a0479 NodeTest: Add GetNodeAttributesFor test 2015-07-13 18:13:48 +02:00
Dario Casalinuovo
5720dfd49a MediaKit: Update NodeTest
* Update it to actual API and restore build.
* Add SyncToNode test.
2015-07-10 18:46:18 +02:00
Philippe Saint-Pierre
cdec47c927 Workaround timing issues in Chart
When run on a VM (VBox, vmware), the timing calculations done were giving weird
results (< 1ms), messing with the logic (div by zero introduced).

Should take care of ticket #89.
2015-07-02 16:12:32 -04:00
Augustin Cavalier
26de45da21 posixtestsuite: Delete from tree.
The Open POSIX Testsuite can now be found at
https://github.com/haiku/open_posix_testsuite - most of the patches
can be found in "master", and the full Git history of this directory
can be found in the "from_haiku_trunk" branch (the patches there
should eventually be merged to "master", whenever someone has time
to look at it.)
2015-06-29 16:46:10 -04:00
Augustin Cavalier
53711093fa BeServed: delete from tree.
Nobody did anything significant with it, so it now lives over at
https://github.com/HaikuArchives/BeServed.
2015-06-23 16:54:48 -04:00
Augustin Cavalier
4fe78e3499 tests: Convert a lot of RSRCs to RDEFs. 2015-06-22 15:39:47 -04:00
Adrien Destugues
a558d18527 Revert "filesystems: we aren't BeOS, so we can safely use -O2(+)."
This reverts commit ae495ca8fe.

My system volume was mysteriously corrupted while booting or shutting down today,
enough to make it unbootable and KDL on attempt to mount it. I'm assuming our gcc2
still isn't safe with regard to -O2 optimization of filesystems, and revert this,
until proven wrong (eg. by running test suites and FS stress tests and finding no
issues.

Axel comented on the commit saying it probably was not a good idea, but no action was
taken. Should we setup a better commit review system?
2015-06-22 18:51:03 +02:00
Augustin Cavalier
ae495ca8fe filesystems: we aren't BeOS, so we can safely use -O2(+). 2015-05-08 13:28:01 -04:00
Michael Lotz
ffba66060b UserlandFS: Make 64 bit clean and enable build for x86_64.
I did not bother to fix the BeOS kernel emulation, so this part is
still left out of the x86_64 build.
2015-03-29 16:25:17 +02:00
Jérôme Duval
9f543f8044 Fix unittests build. 2015-03-27 20:37:23 +01:00
Axel Dörfler
d044457531 BNetworkAddress::IsEmpty() now detects empty ipv4/6.
* Until now, only AF_UNSPEC addresses could be empty.
* Now, the unspecified IPV4/IPv6 address is considered empty, too.
* This corresponds to how the kernel modules handles this.
2015-03-27 13:25:29 +01:00
Axel Dörfler
687d0bc272 DriverSettingsMessageAdapter: fixed converter signature.
* The ConvertFromDriverSettings() method missed the current value
  index.
* Completed unit tests, and enabled them all.
2015-03-27 13:25:28 +01:00
Axel Dörfler
9f218b4e2d DriverSettingsMessageAdapter: fixed various issues.
* _AddParameter() would ignore all BMessage::Add*() errors.
* _ConvertFromDriverParameter() would ignore most intermediate error,
  but would fail badly over some incorrect settings file.
* Also, it checked for the parent value for each parameter, which
  doesn't make any sense, but would add as often as there are
  parameters -- which also may be none, in which case the value
  got ignored.
2015-03-27 13:25:28 +01:00
Michael Lotz
d0f53f151d StickIt: Don't close the app when closing a JoystickWindow.
Since it now actually works to open multiple windows for different
devices, don't close the app when closing the device window.
2015-02-15 10:07:08 +01:00
Michael Lotz
e2d7e6c4be StickIt: Construct a new BJoystick object to pass to the window.
Previously the same BJoystick object was reused when opening a new
window, which caused all windows to show the data of the same device.
2015-02-15 10:07:05 +01:00
Alexander von Gluck IV
1c646c0bcd tests/posix: Drop bonnie++, recipe exists and not api test 2015-02-02 18:24:01 +00:00
Alexander von Gluck IV
3b8ca9ebdf tests: math_test, use std:isnan vs isnan
* As far as I can tell, you're not supposed to
  use cmath isnan from cpp as the std namespace
  includes it
* libroot Tests now build again.
2015-02-02 18:06:13 +00:00
Alexander von Gluck IV
048ffc1b1e tests: Fix wording of echo. No func change 2015-02-02 16:51:59 +00:00
Alexander von Gluck IV
4a961136b7 tests: add cstring to math_test for str funcs 2015-02-02 16:47:20 +00:00
Alexander von Gluck IV
ad91a99198 tests: The wchar header actually looks for _GNU_SOURCE
* We we are pretty mixed here. See #11818
2015-02-02 16:30:23 +00:00
Alexander von Gluck IV
fc8aebca3b tests: fix signal_in_allocator_test printf type 2015-02-02 16:18:05 +00:00
Alexander von Gluck IV
f6faff8960 tests: check for _USE_GNU and define sighandler_t is not (matching signal.h logic) 2015-02-02 16:17:42 +00:00
Alexander von Gluck IV
2ea35f1cb3 tests: Skip setjmp_test2.S test on non-x86 platforms
* We'll need to rewrite this for each arch..
2015-02-02 15:55:10 +00:00
Alexander von Gluck IV
0d5cfeec92 tests: We can no longer open /bin/sh r/w due to PM for flock
* Use /etc/passwd
2015-02-02 15:47:23 +00:00
Alexander von Gluck IV
b8be4f7268 tests: Fix libroot flock pointer size on non-32bit platforms 2015-02-02 15:43:16 +00:00
Adrien Destugues
ed00de38d9 Midi test1: style fixes. 2015-02-02 08:56:38 +01:00
Adrien Destugues
3b520fdcd4 Fix missing include in NetworkInterfaceTest. 2015-01-21 11:18:55 +01:00
Axel Dörfler
7fb1396861 BFS B+tree test: use set to ensure string uniqueness.
* The previous solution was rather slow, and also could produce
  duplicates under some circumstance.
2015-01-15 20:30:50 +01:00
Axel Dörfler
758cfd808a BFS B+tree test: style cleanup. 2015-01-15 20:30:45 +01:00
Axel Dörfler
f982c9ed88 BFS btreeTest: fixed DEBUG build. 2015-01-15 20:30:43 +01:00
Adrien Destugues
a7d444d145 Remove old block cache implementation
This was not used anywhere except the tests written for it (which is
also removed).
2015-01-13 15:48:59 +01:00
Adrien Destugues
ace74964f1 Remove khash from the sources.
Fixes #9552.
2015-01-13 15:48:58 +01:00
Jérôme Duval
1d766e9dd3 mixerToy: fix build on gcc4 2015-01-08 21:21:42 +01:00
Axel Dörfler
c1f779e350 IMAP: FetchMessageEntriesCommand now also works without UIDs
* This will be used to solve the TODO in CheckMailboxesCommand::Process()
  when the initial message sizes/flags are retrieved.
* Also fixed imap_tester build.
2015-01-06 15:26:33 +01:00
Axel Dörfler
3302df142e imap: WIP of getting fetching headers to work.
* Changed the FetchListener mechanism quite a bit.
* Doesn't seem to work correctly yet, although most pieces are in
  place now.
2015-01-06 15:25:33 +01:00
Axel Dörfler
9234fd439e imap: Implemented encoding RFC3501 strings.
* Was completely missing so far.
* Fixed bug in decoding that handled the "&-" sequence incorrectly.
* Added small test application that should easily be convertible to
  a unit test.
2015-01-06 15:25:28 +01:00
Axel Dörfler
82f27de238 imap_tester: Fixed build after Protocol.GetFolders() changes. 2015-01-06 15:25:19 +01:00
Axel Dörfler
bfe83adcb2 imap_tester: Fixed SSL build. 2015-01-06 15:25:00 +01:00
Axel Dörfler
077338a9b8 Completed literal handling.
* LiteralHandler commands now receive the literal data as intended.
* The 'fetch' command in the imap_tester now uses this to print the literal
  to stdout.
2015-01-06 15:21:03 +01:00
Axel Dörfler
1704480100 Read some more specs, cleaned Protocol a bit.
* Added some TODO comments based on the various IMAP specs and extensions.
* Removed SelectMailbox() functionality from the Protocol class; it's not
  really useful to have it there.
* Removed some other methods that don't belong into the Protocol class.
2015-01-06 15:20:25 +01:00
Axel Dörfler
db0a4f2c00 More work in progress of the IMAP rework.
* Implemented FetchCommand, and some more.
* Improved and extended the imap_tester.
* The base to implement the new InboundProtocol on is now mostly done, at least
  for a start.
2015-01-06 15:20:20 +01:00
Axel Dörfler
37d26ae5e2 Work in progress of rewrite; IMAP doesn't even compile at this point. 2015-01-06 15:20:11 +01:00
Adrien Destugues
4c0fbf2e52 linprog test: fix build. 2014-12-24 11:52:01 +01:00
Alexander von Gluck IV
e2523ea3f2 tests/egl: Add egl test code.
* Early EGL support has been pushed into mesa
  thanks to the GCI work of Adrián Arroyo Calle.
* No, this isn't hardware rendering :-)
2014-12-23 15:42:02 -05:00
Adrien Destugues
459b8e9796 Cleanup midi tests directory
* synth_file_reader: TList to BObjectList.
* delete two old prototypes of MidiPlayer and the README noting that
they should be removed
* delete reference to PatchBay which was moved to src/apps in 2013.

Fixes #7027.
2014-12-22 13:00:17 +01:00
Adrien Destugues
216f305cea TeamMonitorTest: fix build, exit on window close. 2014-12-19 13:38:46 +01:00
Adrien Destugues
524288065b Test for #3970.
* This shows the problem in Haiku, it is not easily possible to change the
color of BStringItem.
* It also shows that the BeOS implementation doesn't restore the view
state after drawing items, so the last item in the list also draws
green, and selecting the first also makes it green.
2014-12-10 13:30:10 +01:00
Adrien Destugues
dca4966cd6 ScreenTest: style fixes. 2014-12-09 15:17:20 +01:00
Adrien Destugues
dab42bf05b MixerToy: do an initialisation run on the mixer
The Interpolating mixer has internal state which must be setup by a
previous frame (we assume 0 for the first frame). Since we work on
exactly a period of the wave here, sending the same data twice works as
it should.
2014-12-08 18:51:47 +01:00
Adrien Destugues
258fbe371b MixerToy: app for testing mixer resamplers.
* Shows a source wave (black), a sampled version of it (red), and a
resampled version of that using the mixer (green).
* Debugging tool for #9438. Shows that the drop/repeat resampler is
working ok, but interpolate is quite broken.
2014-12-08 18:10:31 +01:00
Adrien Destugues
96bac1b30b Add a test for #2945. 2014-12-05 14:51:47 +01:00
Theodore Kokkoris
249a4944c3 Removed dead code (CID: 1255314) 2014-12-03 21:14:24 +01:00
Adrien Destugues
1f8b3fdb7e Storage Kit tests: apply relevant parts of #7025
Patch by Karvjorm. Picked only the code changes as it seems the Jamfile
changes were not needed or already done.
* Use BObjectList instead of BList
* Add some more directory constants to FindDirectory tests.
2014-11-21 17:44:11 +01:00
Adrien Destugues
da8f008d15 Add a amfile to build cdda for userlandfs.
It crashes early after mounting in get_vnode, but the UserlandFS won't
build in DEBUG=1 (see #8422), making this not very helpful...
2014-11-17 17:36:53 +01:00
Adrien Destugues
e8ceef7357 Fix typo in getaddrinfo test. 2014-11-06 18:32:23 +01:00
Adrien Destugues
bca1813626 Add test for getaddrinfo on empty host.
* This should fail immediately, but it timeouts after 22 seconds when
the network interfaces are not configured properly.
2014-11-06 15:02:00 +01:00
Michael Lotz
f00353a519 posixtestsuite: Normalize line endings. 2014-11-01 15:43:43 +01:00
Adrien Destugues
1508dc5c41 network prefs: fix jamfiles and include into image.
* There are some rough edges, but the functions from the existing
preflet are all available now.
2014-10-30 15:49:08 +01:00
Adrien Destugues
a0c8a64b47 Move the new network preflet at the right place. 2014-10-30 15:49:07 +01:00
Adrien Destugues
446094bcb3 Implement saving DNS server list.
This makes the preflet good enough for replacing the current one.
2014-10-30 15:49:05 +01:00
Adrien Destugues
824404e31f NetworkSetup: add the Services tab
* UI still needs some tweaking
* The Services tab has a list of services. This currently include DNS
and will soon also include the services listed in xinetd.
* The DNS tab allows to manage DNS servers (settings can't be saved yet)
2014-10-30 11:27:38 +01:00
Michael Lotz
00460996cf btreeTest: Change include for debug helpers.
Including BPlusTree.h pulls in the common versions of the debug macros
(via the Debug.h from BFS) and therefore avoids redefinition warnings.
2014-10-30 00:42:50 +01:00
Michael Lotz
64bb360b8c btreeTest: Remove equal sign from preinclude argument.
No separator at all (no space and no equal sign) seems to be the only
version that is accepted by both GCC versions.
2014-10-30 00:42:50 +01:00
Michael Lotz
488289a4a9 btreeTest: Fix build with gcc2. 2014-10-29 23:47:37 +01:00
Adrien Destugues
524709ea2b Avoid space after -include.
This seems to make cpp unhappy. Note that other fixes seems to be needed
to get the build running with gcc2 (missing includes and the like.)
2014-10-29 23:19:49 +01:00
Adrien Destugues
de6278fec1 NetworkSetup: move renegociate and disable buttons to HardwareView
The idea is making the interface list a generic list to add some stuff
that are not interfaces there (ie services: DNS, FTP, SSH, ...)
2014-10-29 22:22:16 +01:00
Adrien Destugues
afc5d438a7 Add an app server test for stack&tile
Should help with debugging #8569.
2014-10-29 22:22:15 +01:00
Adrien Destugues
5d5ec05b1d B*Format: make immutable and remove locking
The language and formatting conventions can now only be set when
creating the objects. This removed the needs for locking them when
formatting to avoid some other thread changing the format while it's
being used.

Adjust tests and DeskBar TimeView to the API changes.
2014-10-27 14:08:42 +01:00
Adrien Destugues
96dbc7d533 Remove the workaround for #11018 in two other places.
The bug is fixed, the workaround can be removed.
2014-10-23 09:10:57 +02:00
Adrien Destugues
b137575c46 AreaTest: 64bit fix. 2014-10-22 19:36:05 +02:00
Adrien Destugues
5dbd0f48cc gcc4 fix. 2014-10-22 18:58:37 +02:00
Adrien Destugues
72d4735712 Register media add-ons on BMediaFormat::GetFormatFor().
* Fixes #11018.
* In this case the FormatManager format list is accessed without going
throught the AddOnManager, so we must tell the AddOnManager to register
the add-ons (as this is what populates the FormatManager format list).
* Remove now unneeded workaround in mp3_decoder_test.
2014-10-22 15:25:06 +02:00
Adrien Destugues
2d88b1bd33 convert mediaDescriptions test to cppunit. 2014-10-22 14:30:19 +02:00
Adrien Destugues
ce299207f8 Convert SizeofTest to cppunit. 2014-10-22 11:34:14 +02:00
Adrien Destugues
2521f8ea39 Convert BufferTest to cppunit. 2014-10-22 11:11:55 +02:00
Adrien Destugues
55935df47d Convert AreaTest to cppunit. 2014-10-22 10:26:37 +02:00
Adrien Destugues
d21b5a07e6 AreaTest: style fixes. 2014-10-22 10:12:24 +02:00
Adrien Destugues
9bf4e99477 BUrl: IDNA ToUnicode and ToASCII conversions.
* Since DNS are normally restricted to ASCII, the use of UTF-8 in domain
names is implemented using a "punycode" encoding.
* The request to the DNS server must be sent with the ASCII
representation of the domain name, however the Unicode one should be
used for user-visible parts.
* ICU provides an implementation of the conversion, which we use here.
* Conversion is currently done in-place and modifies the BUrl object
(this is similar to UrlEncode/UrlDecode).
* Adjust existing IDN test to make use of these methods. It's passing
now.
2014-10-21 14:43:13 +02:00
Adrien Destugues
d341a585ae Add more tests for BMessageFormat.
* Negative and null values, big values, thousands separators (in
different languages), string with no format, non-printable and non-utf8
charcaters, format not using # for the number.
2014-10-21 12:21:50 +02:00