Iterators: Add 8.0::get_iterator(). Add wrapper that implements the 8.0 and earlier iterator API. Also update the testsuite to match the current iterator behavior.
Testsuite: Stricter handling of zero.
Testsuite: Fix test attempting to call a prototype. lfun::_random() is typically protected, so call it properly (ie indirectly via predef::random()). Fixes testsuite failure.
Concurrent: Fix Future()->timeout() call_callback() may use call_out(cb, 0, ...) to call a callback. This means that if we call multiple callbacks wie call_callback(), they mæy be executed in arbitrary order. The implementation of Future()->timeout() was subject to races in this regard, leading to the Future returned by ->timeout() to resolve with 0 instead of the result or instead of rejecting with the same reason as the original Promise/Future was rejected before the timeout triggered. Using less abstractions, we save on such races, Future objects, and even lambdas while getting arguably eaiser to read code.
Testing of Promise initialized wit hexecutor. Failure mode looks buggy.
Testsuite [Concurrent.Promise]: Fix broken promise. init_promise() creates a promise and gets its future. The Concurrent.results() - empty test throws away both. This caused the gc to generate complaints about broken promises. Fixes erroneous testsuite output.
Testsuite [Concurrent]: Fixed typo.
Testsuite [Concurrent]: Use Concurrent.AggregatePromise where required.
Testsuite: Hide deprecation warnings about system/popen
Testsuite [Thread.ResourceCount]: Improved robustness. In general objects are not guaranteed to get destructed immediately on losing their references, so destruct the ResourceCountKey explicitly. NB: In Pike 7.1 and later ResourceCountKey inherits Pike.DestructImmediate, and thus will get immediate destruction.
Merge remote-tracking branch 'origin/master' into new_utf8
Concurrent.Promise: Introduce delay() and optimise timeout().
Testsuite [Concurrent.Promise]: Don't drop promises on the floor. Fixes testsuite failure.
Concurrent.Promis: Fix/optimise delay() and timeout().
Merge commit '722771973bd' into patches/lyslyskom22891031 * commit '722771973bd': (6177 commits) Verify that callablep responses are aligned with reality. ...
Merge commit '2470270f500c728d10b8895314d8d8b07016e37b' into grubba/typechecker-automap * commit '2470270f500c728d10b8895314d8d8b07016e37b': (18681 commits) Removed the old typechecker. ...
Merge remote-tracking branch 'origin/8.1' into gobject-introspection
Testsuite [Cpp]: More #line directive fall-out.
Concurrent.results: Handle an empty argument array properly. Previously code such as: Concurrent.Future f2 = Concurrent.results(({})); f2->on_success(lambda(array(string) a) { werror("success: %O.\n", a); }) ->on_failure(lambda(mixed err) { werror (describe_backtrace(err)); }); ... would lead to a backtrace because the future was destructed prematurely.
Merge commit '75c9d1806f1a69ca21c27a2c2fe1b4a6ea38e77e' into patches/pike63 * commit '75c9d1806f1a69ca21c27a2c2fe1b4a6ea38e77e': (19587 commits) ...
Concurrent: Various improvements, bugfixes, backported from 8.1. Add map_with() as an alias for flat_map(). Reduce lock contention and cleanup superfluous catches. Clarify docs. Free callbacks after use, frees memory and references. Add convenience variant to zip() and extend testsuite. Transparent automatic backend enable/disable.
Merge remote-tracking branch 'origin/8.1' into peter/travis
Val: Relocate testsuite to its own directory.
Val.Range: Add !, <<, >>, isempty(), merge() and contains().
Adjust testsuite date-calculations to work on 32-bit platforms too.
Val.TimeTZ: More testsuite entries, docs and fixes.
Val.Timestamp et al: Moved the presence of the new types from the root to Val for now.
Timestamp/Date/Range/Inet: Operator orthogonality improved, testsuite expanded accordingly.
Timestamp et al: Add testsuite entries.
Concurrent: Expand testsuite again.
Concurrent: Add convenience variant to zip() and extend testsuite.
Concurrent.Promise: depend() fixes. Rename apply_fold() to fold(). Add first_completed(). Add min_failed(), max_failed(), any_results().
Concurrent: Extend testsuite for fold()/depend() et al.
Thread.ResourceCount: New module to implement resource counters.
Thread.ResourceCount: Added testsuite.
Added Concurrent, and moved changes not in the next release to next beta.
Support multiple instances of the same option.
Arg: Fixed some bugs in _indices() and _values().
Arg: Help symbols may now be protected.
Fixed a few test errors.
Added Arg.PATH and Arg.APP to get the path and file name of the application.
Testsuite [Concurrent.Promise]: Added some place holders.
Testsuite [Concurrent]: Added several more tests.
Testsuite [Concurrent]: Added some trivial tests.
Added Int class used to case argument to integer. Made Default type agnostic.
Return unparsed arguments when indexing Options with Arg.REST.
Added Function.composite.
Remove bias when hash buckets are not of equal size.
Don't depend on iterator order for mappings and multiset.
Test iterator _random.
Fixed iterator _sizeof
Moved iterator test
Change the _random interface to provide rnadom_string and random from the called random object.
Testsuite [Process]: Added workaround for Linux kernel bug. wait(2) et al in Linux 3.15 - 3.18 are not thread safe, and a blocking wait() can hang when a different thread reaps the same process (eg via a signal handler). Fixes intermittent testsuite failures on Linux 3.15 - 3.18.
enumerate(): fixed integer overflow handling This change fixes two bugs 1) the overflow checks were incorrect, because signed integers do not overflow 2) when overflow was actually detected, the code fell back to the slow path (using f_add) with the last array element as the new start value, which led to wrong results
Removed trailing spaces.
Testsuite: Enabled some debug for a specific host. For some reason it seems the watchdog doesn't like this test when run from Xenofarm, so let's add some code to see just how far it comes.
Removed more stack-adjustment code from the rest of the non-efuns.
Added a trivial test case.
Testsuite: remove tests that expect random_seed to work
Fix a crash.
Move compat test.
NetUtils: Improve testsuite robustness. The testsuite now survives being run on a machine on a private network.
NetUtils: Fixed typo in testsuite.
NetUtils - A new module with network utility functions Mainly things like IP address parsing, netmask handling and similar.
Support -x -x style arguments.
Merge remote-tracking branch 'origin/8.0' into string_alloc Conflicts: src/stralloc.c
filter tests.
Merge branch '8.0' into gobject-introspection
Merge remote-tracking branch 'origin/7.9' into pdf
Merge remote-tracking branch 'origin/7.9' into ba
Removed $Id$.
No more foreign_idents.
Check that the Val constants behave with (encode|decode)_value and in mapping lookups.
Added some tests for the Val objects.
Do not waste quite so much time in the test suite.
Added some tests of Thread.Queue.
More Process.split_quoted_string tests.
Fixed typo. Rev: lib/modules/testsuite.in:1.45
Improved robustness of the test for [bug 5085 (#5085)]. Rev: lib/modules/testsuite.in:1.44
Added test case for [bug 5085 (#5085)]. Rev: lib/modules/testsuite.in:1.43
Made split_quoted_string tolerant of quoting errors. Rev: lib/modules/Process.pmod:1.62 Rev: lib/modules/testsuite.in:1.42
Tests Rev: lib/modules/testsuite.in:1.41
Some Arg tests. Rev: lib/modules/testsuite.in:1.40
Dwim sort now twice as fast. Rev: lib/modules/Array.pmod:1.105 Rev: lib/modules/testsuite.in:1.39
Added option to disable the slowest tests with DISABLE_SLOW_TESTS. Rev: lib/modules/testsuite.in:1.38
Fixed a typo in Array.diff3 that in some rare cases caused it to merge a difference into a three-way equality. Rev: lib/modules/Array.pmod:1.100 Rev: lib/modules/testsuite.in:1.29
Fixed a typo in Array.diff3 that in some rare cases caused it to merge a difference into a three-way equality. Rev: lib/modules/Array.pmod:1.103 Rev: lib/modules/testsuite.in:1.37
Even more fixes. Rev: lib/modules/testsuite.in:1.36
More fixes. Rev: lib/modules/testsuite.in:1.35
Fixed comment. Rev: lib/modules/testsuite.in:1.34
Improved robustness for the Getopt tests. Rev: lib/modules/testsuite.in:1.33
Even more paranoia tests. Rev: lib/modules/testsuite.in:1.32
More paranoia. Rev: lib/modules/testsuite.in:1.31
Added some paranoia when messing with the masters internal structures. Rev: lib/modules/testsuite.in:1.30
Added Array.interleave_array test Rev: lib/modules/testsuite.in:1.29
Fixed compat for strange MutexKey destruct behavior in <= 7.4. Rev: lib/modules/testsuite.in:1.28
Fixed compat for strange MutexKey destruct behavior in <= 7.4. Rev: lib/7.4/modules/Thread.pmod:1.1 Rev: lib/modules/testsuite.in:1.28 Rev: src/program_id.h:1.20 Rev: src/threads.c:1.236
Test destruction of mutexes that are being waited on. Rev: lib/modules/testsuite.in:1.27
No more Array.diff3_old here Rev: lib/modules/testsuite.in:1.26
Disabled the TraceProcess test for now. Rev: lib/modules/testsuite.in:1.25
Test swap_word and swap_long Rev: lib/modules/testsuite.in:1.24
Now that pike doesn't spawn a thread at startup it might be possible to trace it. Rev: lib/modules/testsuite.in:1.23
Try using /bin/dd instead of /bin/cat in Process.TraceProcess() test. Rev: lib/modules/testsuite.in:1.22
The Process.TraceProcess test now also tests Stdio.PROP_REVERSE. Rev: lib/modules/testsuite.in:1.21
Even more Process.TraceProcess() fixes. Rev: lib/modules/testsuite.in:1.20
Potential fix for Process.TraceProcess() on FreeBSD. Rev: lib/modules/testsuite.in:1.19
Oops... Rev: lib/modules/testsuite.in:1.18
Modified Process.TraceProcess() test to test a more robust process. Rev: lib/modules/testsuite.in:1.17
Process tests from src/testsuite.in Rev: lib/modules/testsuite.in:1.16
More tests Rev: lib/modules/testsuite.in:1.15
Added Getopt compatibility test which could easily be trigged by the pike command line parsing. Rev: lib/modules/testsuite.in:1.14
Added Getopt compatibility test which could easily be trigged by the pike command line parsing. Rev: lib/modules/testsuite.in:1.11
More color tests. Rev: lib/modules/testsuite.in:1.13
Tests from src/testsuite Rev: lib/modules/testsuite.in:1.12 Rev: src/modules/sprintf/testsuite.in:1.29
Updated to reflect Getopt changes. Rev: lib/modules/testsuite.in:1.11
Refixed broken test. Rev: lib/modules/testsuite.in:1.10
Some additional Getopt tests. Rev: lib/modules/testsuite.in:1.9
Reverted the broken POSIX_ME_HARDER fixes, since putenv() now works as expected... Rev: lib/modules/testsuite.in:1.8
More Getopt fixes. Rev: lib/modules/testsuite.in:1.7
Tests that depend on POSIX_ME_HARDER behavior should specify it... Rev: lib/modules/testsuite.in:1.6
Getopt tests. Rev: lib/modules/testsuite.in:1.5
Some more tests, mostly border tests. Rev: lib/modules/testsuite.in:1.4
Improved code coverage a bit. Rev: lib/modules/testsuite.in:1.3
Added a few tests and marked missing Array tests. Rev: lib/modules/testsuite.in:1.2
Colors and Array tests from the big testsuite, including some additions. Rev: lib/modules/testsuite.in:1.1