Old Int.toString(radix: Int) and Long.toString(radix: Long)
implementations didn't add sign for negative values. E.g.
-1.toString(16) == "0xff..ff" while JVM returns "-1" in such case.
This patch fixes this behaviour and allow us to use any radix between
2 and 36 as JVM does.
This patch replaces ArrayList.removeAll implementation with a
faster one. It also adds the AbstractMutableCollection class
containing default implementations for addAll, removeAll and
retainAll methods and fixes tests to check if removeAll removes
all occurrences found or not.
Some sort tests had an order of equal objects in a sorted list
hardcoded. It caused failures because an approach to placing
equal objects differs in Kotlin JVM and Kotlin Native sort
implementations. With this patch we check if all objects in a list
are sorted istead of checking an exact order of them.
This patch makes toIndex parameter exclusive in sortArrayWith method
in order to make this method corresponding to the other ones (e.g.
copyOfRange, Array.sortWith extension etc).
It also improves the external sortBy test in order to use it with
different sort algorithms.
This patch updates the test execution harness to work with the
new stdlib tests. It allows one to execute stdlib tests as
a part of external testing (./gradlew run_external) or separately
(./gradlew run_external -Pprefix=external_stdlib).
This patch copies Kotlin/JVM stdlib tests (libraries/stdlib/test)
excepting ones with explicit java dependencies. It also transforms
the tests to use them as box-tests.
* Implement CValues.equals and .hashCode
* Add trivial test for interop varargs
* Implement varargs in interop for Kotlin N
* Compile and link runtime with libffi
* Fix few places.
$ ./gradlew backend.native:tests:run \
-Premote=user@111.22.33.444 -Ptest_target=raspberrypi
The new gradle command line options:
-Pbuild_flags renamed -Pkonanc_flags.
-Ptest_flags provides compiler flags to the test builds.
-Ptest_target properly sets up compiler as well as interop
to cross compile tests.
-Premote specifies remote host and login.
This patch adds 2 helpers to download dependencies for compiler and
stub generator during their execution.
They take list of external dependencies as a parameter and directory
where they must be located. Helpers check if these dependencies exist
in the given directory and download not existing ones.