Commit Graph

2921 Commits

Author SHA1 Message Date
Stephan Aßmus
f10faf61ac Change DrawString() and add StrokeLine() to reveal wrong pen-position
Change-Id: Iec584657741f2bb682bff557dcd3b733a9166c7c
Reviewed-on: https://review.haiku-os.org/815
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2019-01-02 21:21:52 +00:00
Augustin Cavalier
5e54f6d4f9 tests/kits/net: Move libnetwork-related tests to tests/system/network. 2018-12-21 12:26:38 -05:00
Augustin Cavalier
5e621d3edd tests/posix: Add tls_concurrency_test.
From #14342. Crashed before the last commit, now works. Disabled because
it won't build under GCC2.
2018-12-17 20:09:27 -05:00
Andrew Lindesay
3369e03d5c HaikuDepot: Process and Data-loading Improvements
This change is a reshuffle of the backend processing involved in the
aquisition of data from servers including the pull-down and load of
HPKR data as well as the pull-down and load of data from the
HaikuDepotServer (HDS) system.  The driver for this change is to
implement an initial implementation of a progress bar for the
loading of data as the application starts.

The following are notable changes;

* Removed some previously attempted 'functional style' logic in the
  model which didn't fit well with C++
* Use of the base-url in the logical mapping from HDS and HD data is no
  longer required and has been removed
* Some logging has been improved making it clearer which part of HD
  is producing the logging which in turn helps with debugging issues
* List class has been modified to more cleanly support sorted lists
  and binary searches; tests have also be updated accordingly
* Reorganise and tidy-up of the data-loading processes' structures
* The local repository update (HPKR) and data-load occur in background
  processes now in the same system as the HDS data-load - this has been
  crudely shifted from the MainWindow to new Processes and incorporated
  into the background processing system
* The 'state-machine' background process runner is now replaced with a
  'coordinator' style approach that can more easily handle the new
  processes related to HPKR loading.
* Progress for loading processes is shown in the main window in the
  WorkStatusView - this is flickering a bit, but basically works
* Added some documentation regarding how Processes work in the system
* The "Refresh Repositories" menu item now also updates data from HDS
* The "Refresh Repositories" menu item is disabled when the background
  processes are running that update the repository data

Some further refinement would be good, but this change is large enough
for one round of improvements.  There is an issue that the status bar
is used for screenshot display as well as this data-loading, but that
was the case before so it is something that can be dealt with later if
it is a problem.

Change-Id: I7668307645e3aabaf7e4a6e37e2cca80cc0f489e
Reviewed-on: https://review.haiku-os.org/770
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2018-12-17 19:31:25 +00:00
Augustin Cavalier
2e15a0f6b9 registrar: Move R5Compatibility to test directory.
Only the test_registrar uses it now (but maybe this is a leftover
that can be removed from it, too?)
2018-11-21 21:27:12 -05:00
Jérôme Duval
8c053e955e vfs: fail write_stat() on file descriptors opened read-only.
Change-Id: I20d586c606c47df6625cc9272f153250a5a621d6
Reviewed-on: https://review.haiku-os.org/706
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2018-11-18 00:04:26 +00:00
Axel Dörfler
b5ecd7c203 DirectWindowStars: Fixed 64-bit build 2018-11-04 18:37:55 +00:00
Murai Takashi
93930f335d Replace B_MAX_CPU_COUNT with SMP_MAX_CPUS
Change-Id: I55c53ab35e9645e20466b09407a251571c589958
Reviewed-on: https://review.haiku-os.org/447
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2018-10-27 17:50:11 +00:00
Barrett17
804f91e634 media: Remove legacy multi_audio.h 2018-10-23 15:50:27 +02:00
Jessica Hamilton
1f96a3cbde system/boot: Add support for multiple bootloaders 2018-10-17 14:47:46 -05:00
Augustin Cavalier
66c7a2ac9c KPath: Add to kernelland_emu.
This replaces the one in the "playground." It's identical to the current
kernel implementation, except with the few VFS functions replaced with
Storage Kit calls.

Userland packagefs will need this.
2018-10-16 18:50:00 -04:00
Augustin Cavalier
85cbf99307 kernelland_emu: Add some stub team functions.
KPath was going to need these before I tweaked the emu version to
not need them...
2018-10-16 18:32:02 -04:00
Augustin Cavalier
7f46de0a58 fs_shell: Integrate btrfs_shell's command_cat into fs_shell itself. 2018-10-16 16:13:55 -04:00
Andrew Lindesay
15fed7905d Json : Fix String Writer
Tidy-up and correct logic around writing JSON
encoded strings.

related #13832

Change-Id: I1eca33e11dff4457f85a896c02331c1cd9ae1110
Reviewed-on: https://review.haiku-os.org/617
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2018-10-06 19:58:35 +00:00
Augustin Cavalier
3e4c34234e demangle/gcc2: Skip count > length should skip to the end.
This is the behavior the code expects.
2018-09-23 14:47:26 -04:00
Augustin Cavalier
055a35e632 tests: Add some more things to DemangleTest.
Change-Id: I6999aad2cc64650bddb7ba575536efc8878abcf2
Reviewed-on: https://review.haiku-os.org/583
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2018-09-18 20:02:55 +00:00
Augustin Cavalier
adad95fa46 tests: Add a simple version of "c++filt" that uses the homegrown demanglers.
Built as "haikuc++filt" so you can keep it in PATH without replacing GCC's.

The implementation is a very close copy of "demumble", which is
under the Apache 2 license, so this is also. Most of the modifications
to "demumble" were to strip out Windows symbol support, and then
add GCC2 symbol support (this required reworking of the main loop,
as we detect GCC2 symbols in a different way than Itanium symbols.)

I've also added a command-line flag to ignore GCC2 symbols when stream-
processing, which is sometimes useful when demangling GCC3+ symbols.

Running this under guarded heap with some random SOs shows that there are
some symbols which apparently cause memory corruption in the GCC2 demangler.
I haven't yet looked into that, though.
2018-09-16 23:13:04 -04:00
Augustin Cavalier
8339f2eb89 tests: Add test boilerplate for our homegrown demanglers.
There's only one test each, for now, but adding tests is now of course
a one-line addition per test.
2018-09-16 23:06:32 -04:00
Augustin Cavalier
38a133eb8a StringReplaceTest: Add (failing) invocations of Replace*() with NULL "to".
BeOS R5 treats NULL passed as the "replace with" argument as if it were
an empty string. Our BString currently does nothing.

Change-Id: I54b661e4ea8335ce531e6b6e3de2095a41112cd7
Reviewed-on: https://review.haiku-os.org/571
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2018-09-16 17:57:02 +00:00
Augustin Cavalier
6d7838a16b src/tests: Fix some incorrect filemodes.
Change-Id: I779cec1905c52eae6955bae979e32ba587e23560
Reviewed-on: https://review.haiku-os.org/565
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2018-09-16 00:09:14 +00:00
Augustin Cavalier
110ba6da3a tests: Remove the "R5" userlandfs.
Essentially untouched since 2009, and not referenced at all from the
"Haiku" userlandfs.
2018-09-13 15:56:52 -04:00
JackBurton79
b070314f50 FlattenPictureTest: Fix DrawStringsWithOffset test
fixes #14481

Change-Id: I7aee0f9e1ed088d2b5253f22a55228b0fc8f16ec
Reviewed-on: https://review.haiku-os.org/546
Reviewed-by: Stefano Ceccherini <stefano.ceccherini@gmail.com>
2018-09-12 10:44:55 +00:00
Augustin Cavalier
4628b6de8e tests/interface: Add a (currently crashing) BMenu "concurrency" test.
Adds/removes items as rapidly as possible from the menu from the
main thread while the menu is open. That part works. Then it deletes
all of the BMenuItems and then closes the menu, which crashes,
as the BMenuItems do not notify the BMenu they are being deleted.

I tested this on BeOS and it seems that this model crashes there also
(looking through the code comments, it seems there are a number of
testcases found throughout the years like this.) Removing the items
before deleting them indeed fixes the crashes on both BeOS
and Haiku.

Change-Id: I8624f966bdc17030ddca05b97aa57b518ab420c5
Reviewed-on: https://review.haiku-os.org/540
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2018-09-12 01:15:48 +00:00
JackBurton79
59a26ab62f FlattenPictureTest: add tests for ClipToRect,ClipToInverseRect,ClipToShape,ClipToInverseShape
Change-Id: Ia68b6989c2973f37f0772621190ab8f57fbeb381
2018-08-31 10:44:34 +02:00
JackBurton79
3211dccc22 FlattenPictureTest: add test for #6761
Change-Id: I848ccec2ea102dc4fc5c0e4f718053ecad196f8d
2018-08-30 11:25:55 +02:00
Adrien Destugues
c2d37953f3 Rework PLL calculations for Iron Lake
The limits were wrong in several places. Checked the sandy bridge, ivy
brige and haswell docs, they all say mostly the same.

- The value of p2 is either 7, 14, 5 or 10 depending on 1 bit in the
  config register and on the display type. We can guess which values are
  right according to the global P limit (5-80 when using 5/10,
  28-something when using 14/7). The values are different because CRT
  need a precise, but rather low pixel clock, while modern display
  interface can accomodate being faster than required by a few MHz, but
  need a much higher speed (the bits are transferred serially, so they
  need to be at least 8 times faster than a DAC).

- The limits for N were obviously wrong, as the register is written with
  N-2, so values less than 2 make no sense. Use 3-8 as specified in the
  datasheet.

- The reference frequency (set by the driver) was wrong, too. It is
  120MHz, not 96. It is 100MHz in some cases (FDI, etc), we should see
  when this happens and switch to the right reference for PLL
  computations.

- There was an attempt to minimize the value of N (a powersaving effort,
  I guess?), but it would basically force the loop to stop at the first
  value of N tested, resulting in way off timings in some cases.

- To ease testing and stop sending patches and syslogs back and forth
  with vidrep, extract the "test mode" from pll.cpp into a proper test
  executable, making it a little easier to experiment with the code and
  fix the problems.

This should fix #13669 and possibly other cases of "out of range", black
screen, bad timings, etc.

Change-Id: Ic4c1c159701f352b7c1ef15a647f023c82ac26c
Reviewed-on: https://review.haiku-os.org/360
Reviewed-by: Axel Dörfler <axeld@pinc-software.de>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2018-08-25 18:52:33 +00:00
Andrew Lindesay
8f30879b98 Support : Validation for Host Portion of URL
Partly Fixes #14377

Change-Id: Ia611d3653d2c16c6dcdc48ce57bd61bb6e6db366
Reviewed-on: https://review.haiku-os.org/476
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
2018-08-25 18:50:36 +00:00
Kacper Kasper
df8b692ac0 Revive unit tests
* Fix build on 64-bit.
* Test suite can now run from start to finish.
* Changes in OutlineListView test need an explanation:
  for some reason when BApplication is created on heap, be_app is not
  reset. This causes other tests to crash due to second BApplication
  object being created.

Change-Id: Ic7d55f4622192f83572bfd83fa37f1f5fd641e22
Reviewed-on: https://review.haiku-os.org/465
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2018-08-25 18:50:26 +00:00
Kacper Kasper
fe8b46fb0d kernel: vm: add unit tests for get_mount_point
Change-Id: I1eb7540ffadb26acf05b695af2e7508c71ac7274
Reviewed-on: https://review.haiku-os.org/460
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2018-08-15 16:14:18 +00:00
Augustin Cavalier
7457ccb4b2 BMessageFormat: Rename to BStringFormat.
The ICU class is named MessageFormat, but on Haiku, it sounds too much
like something related to BMessage (which it isn't in the slightest)
and not part of the Locale system. It works almost entirely with BStrings,
so naming it BStringFormat makes much more sense.

OK'ed by PulkoMandy and Humdinger.
2018-08-13 20:49:00 -04:00
Augustin Cavalier
0f36120d8d "R5" fs_shell: Remove (mostly.)
Two files remain: "argv.c" and "argv.h", as these are still used by some
other, non-FS-related tests.

This was one of the last significant chunks of "no commercial use" code
in the tree, as it originally came from the "Filesystem Construction Kit,"
the sample code distributed with "Practical Filesystem Design with the Be FS",
and contained a sigifincant amount of BeOS kernel filesystem code in it
(the original README, not preserved here, noted that "the cache code is
the real Release 4 BeOS disk cache code".)

It has long been replaced by Ingo's from-scratch, MIT-licensed fs_shell
that lives in src/tools/fs_shell. Perhaps a note should be made somewhere
of this code's prior existence, but I don't think we will have much use for
it again, so confined to the dustbin of Git history it shall be.
2018-08-12 23:38:10 -04:00
Augustin Cavalier
38c59f2971 tests/device_manager: Remove dependence on fs_shell.
Doesn't build currently due to KPath API changes, but this seems unneeded
at least.
2018-08-12 23:37:18 -04:00
Augustin Cavalier
e3db3bf84e btrfs_shell: Move from src/tools to src/tests/...
src/tools is for tools used in the build or other miscellaneous utilites
that go along with Haiku itself. btrfs is, at least for now, just another
filesystem addon, so its shell should live here with all the others.
No functional change intended.
2018-08-12 23:21:14 -04:00
Augustin Cavalier
52de96da04 udf_shell: Rework to use the fs_shell in tools/.
The build appears to have been broken for quite a long time, but this
gets it slightly closer at least.
2018-08-12 23:16:04 -04:00
Augustin Cavalier
38fa917c59 iso9660_shell: Use the fs_shell from src/tools; fix the build. 2018-08-12 23:05:11 -04:00
Augustin Cavalier
87b501a119 tests/udf: Remove the "R5" version.
Largely untouched since 2006.
2018-08-12 22:47:27 -04:00
Augustin Cavalier
e24a254f55 tests/dosfs: Remove the "R5" version.
Untouched since 2006.
2018-08-12 22:46:28 -04:00
Adrien Destugues
58a62dd65f Add unit test for BOutlineListView.
Change-Id: Icad7e7c659141fae1bb6e52571f001c9f561a446
Reviewed-on: https://review.haiku-os.org/451
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2018-08-11 23:15:10 +00:00
Jérôme Duval
c90a0ee947 posix_spawn(): dup2() again this time on file_action_dup2.
* fixes #14322.
2018-08-06 19:13:32 +02:00
Jérôme Duval
20694a0458 posix_spawn(): dup2() returns a fd on success, -1 on error.
* duplicate the just opened file descriptor, instead of the target file descriptor.
* fixes #14308.
2018-08-02 11:21:04 +02:00
Adrien Destugues
83aa7d63a5 Add a test to show that #2509 is not reproductible. 2018-07-19 19:39:23 +02:00
Augustin Cavalier
7edcb06f62 tests/file_systems/bfs: Update tests Jamfiles to refer to the kernel BFS sources. 2018-07-17 19:17:41 -04:00
Augustin Cavalier
3664c8fa36 tests: Remove the "R5" BFS add-on, bfs_shell, and mkbfs.
Virtually untouched since 2007.
2018-07-17 18:27:43 -04:00
Andrew Lindesay
3b17d8dd7f HaikuDepot / PackageKit: Repositories 'Identifier' URL
Repositories are identified with a 'url' in the
remote 'repo.info' file.  There is also a
'base url' which is the URL locally with which
the system is able to access the repository
data on.  There is some confusion between these
two terms in the source.  This change aims to
separate the two out and consistently name them.
The settings for the repository locally also was
not storing these values and that has been fixed.
Debug info about the repositories also did not
display the two urls consistently and will now
also do so.  Finally, HaikuDepot now correlates
locally configured repositories with the data in
HaikuDepotServer using the identifier URL; this
makes the use of mirrors with HaikuDepot possible.

Fixes #13888
Change-Id: I66dfe589b05c24e1ab123a6945352e0f24b60bf1
2018-07-05 20:06:54 +00:00
waddlesplash
b87a52803f tests: Fix the build under GCC 7. 2018-05-22 20:43:06 -04:00
Axel Dörfler
a77aa747ea launch_daemon: Added basic logging facility
* The daemon now stores many events in am internal log.
* You can use "launch_roster log" to retrieve it.
2018-04-25 10:10:43 +02:00
krish_iyer
f960e7e9a2 Support kit: Fixed issues in BString unit tests
1: Changed CPPUNIT_ASSERT -> CPPUNIT_ASSERT_EQUAL
2: Fixed coding style: Added two lines after including libraries, maintained 80 characters(MAX) in each line and space at comment start
3: Fixed the failure for "BString::Search" test "i != 0 by chaning the testing method(StartsWith->IStartsWith) and changed the string to be searched(sT->st)

Change-Id: I1237d1f2d0e3af7757963cc940bae929f487f088
2018-04-07 16:52:44 +00:00
Jérôme Duval
a25f7264b6 BString: fix Split() for multiple characters separators...
as suggested by Janus in #14045. Thanks!
* add a unit test for BString::Split().
2018-03-22 21:29:43 +01:00
Xiang Fan
fb6387f2b4 kernel: add /dev/null polling test
Bug: 13965
2018-02-26 10:44:22 +00:00
Augustin Cavalier
8a9e1e0d4a Removal of non-Haiku target platform logic from build system (part 1.)
Following recent changes to use libroot_build on Haiku also, it is now
actually impossible to build Haiku components on non-Haiku platforms
(BeOS R5, Dan0, BONE, Zeta), so we can remove any logic related to this.

This is only the first part; still to be removed are:
 * SetSubDirSupportedPlatformsBeOSCompatible
 * HOST_PLATFORM_BEOS_COMPATIBLE
 * TARGET_PLATFORM_BEOS_COMPATIBLE
2017-12-31 16:14:22 -05:00
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