diff --git a/libraries/stdlib/jre7/test/internalAnnotations.kt b/libraries/stdlib/jre7/test/internalAnnotations.kt
new file mode 100644
index 00000000000..6f5f26a1e9b
--- /dev/null
+++ b/libraries/stdlib/jre7/test/internalAnnotations.kt
@@ -0,0 +1,22 @@
+/*
+ * Copyright 2010-2016 JetBrains s.r.o.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+@file:JvmVersion
+package kotlin.jvm
+
+@Target(AnnotationTarget.FILE, AnnotationTarget.CLASS, AnnotationTarget.PROPERTY, AnnotationTarget.CONSTRUCTOR, AnnotationTarget.FUNCTION)
+@Retention(AnnotationRetention.SOURCE)
+internal annotation class JvmVersion(public val minimum: Int = 6, public val maximum: Int = 100)
diff --git a/libraries/stdlib/test/ExceptionJVMTest.kt b/libraries/stdlib/test/ExceptionJVMTest.kt
index f5b3dbe4598..c10db6a40a9 100644
--- a/libraries/stdlib/test/ExceptionJVMTest.kt
+++ b/libraries/stdlib/test/ExceptionJVMTest.kt
@@ -1,3 +1,4 @@
+@file:kotlin.jvm.JvmVersion
package test.exceptions
import kotlin.test.*
diff --git a/libraries/stdlib/test/collections/CollectionJVMTest.kt b/libraries/stdlib/test/collections/CollectionJVMTest.kt
index 875d9217593..69c8942f3ab 100644
--- a/libraries/stdlib/test/collections/CollectionJVMTest.kt
+++ b/libraries/stdlib/test/collections/CollectionJVMTest.kt
@@ -1,3 +1,4 @@
+@file:kotlin.jvm.JvmVersion
package test.collections
import java.io.ByteArrayInputStream
diff --git a/libraries/stdlib/test/collections/IterableJVMTests.kt b/libraries/stdlib/test/collections/IterableJVMTests.kt
index 1a48930275d..2949f3f2795 100644
--- a/libraries/stdlib/test/collections/IterableJVMTests.kt
+++ b/libraries/stdlib/test/collections/IterableJVMTests.kt
@@ -1,3 +1,4 @@
+@file:kotlin.jvm.JvmVersion
package test.collections
import java.util.*
diff --git a/libraries/stdlib/test/collections/IteratorsJVMTest.kt b/libraries/stdlib/test/collections/IteratorsJVMTest.kt
index 65f39f15703..9004ad8cf0d 100644
--- a/libraries/stdlib/test/collections/IteratorsJVMTest.kt
+++ b/libraries/stdlib/test/collections/IteratorsJVMTest.kt
@@ -1,3 +1,4 @@
+@file:kotlin.jvm.JvmVersion
package test.collections
import org.junit.Test as test
diff --git a/libraries/stdlib/test/collections/MapJVMTest.kt b/libraries/stdlib/test/collections/MapJVMTest.kt
index e8c23b6079f..a0ac66b6e3b 100644
--- a/libraries/stdlib/test/collections/MapJVMTest.kt
+++ b/libraries/stdlib/test/collections/MapJVMTest.kt
@@ -1,3 +1,4 @@
+@file:kotlin.jvm.JvmVersion
package test.collections
import java.util.concurrent.ConcurrentHashMap
diff --git a/libraries/stdlib/test/collections/SequenceJVMTest.kt b/libraries/stdlib/test/collections/SequenceJVMTest.kt
index 1a5fc2b2705..e33f18e9c4f 100644
--- a/libraries/stdlib/test/collections/SequenceJVMTest.kt
+++ b/libraries/stdlib/test/collections/SequenceJVMTest.kt
@@ -1,3 +1,4 @@
+@file:kotlin.jvm.JvmVersion
package test.collections
import org.junit.Test as test
diff --git a/libraries/stdlib/test/concurrent/SerializableTest.kt b/libraries/stdlib/test/concurrent/SerializableTest.kt
index 28a38decc53..01ba2760f7f 100644
--- a/libraries/stdlib/test/concurrent/SerializableTest.kt
+++ b/libraries/stdlib/test/concurrent/SerializableTest.kt
@@ -1,3 +1,4 @@
+@file:kotlin.jvm.JvmVersion
package test.concurrent
import java.io.ObjectOutputStream
diff --git a/libraries/stdlib/test/concurrent/ThreadTest.kt b/libraries/stdlib/test/concurrent/ThreadTest.kt
index dfa7d6ce61b..365eecc5109 100644
--- a/libraries/stdlib/test/concurrent/ThreadTest.kt
+++ b/libraries/stdlib/test/concurrent/ThreadTest.kt
@@ -1,3 +1,4 @@
+@file:kotlin.jvm.JvmVersion
package test.concurrent
import kotlin.concurrent.*
diff --git a/libraries/stdlib/test/concurrent/TimerTest.kt b/libraries/stdlib/test/concurrent/TimerTest.kt
index f1282ccc43b..60319b00f77 100644
--- a/libraries/stdlib/test/concurrent/TimerTest.kt
+++ b/libraries/stdlib/test/concurrent/TimerTest.kt
@@ -1,3 +1,4 @@
+@file:kotlin.jvm.JvmVersion
package test.concurrent
import kotlin.concurrent.*
diff --git a/libraries/stdlib/test/io/FileTreeWalks.kt b/libraries/stdlib/test/io/FileTreeWalks.kt
index f8b4700cf99..872cd1b5941 100644
--- a/libraries/stdlib/test/io/FileTreeWalks.kt
+++ b/libraries/stdlib/test/io/FileTreeWalks.kt
@@ -1,3 +1,4 @@
+@file:kotlin.jvm.JvmVersion
package test.io
import org.junit.Test
diff --git a/libraries/stdlib/test/io/Files.kt b/libraries/stdlib/test/io/Files.kt
index 2286b9de5a4..682b7fbb0bd 100644
--- a/libraries/stdlib/test/io/Files.kt
+++ b/libraries/stdlib/test/io/Files.kt
@@ -1,3 +1,4 @@
+@file:kotlin.jvm.JvmVersion
package test.io
import java.io.*
diff --git a/libraries/stdlib/test/io/IOStreams.kt b/libraries/stdlib/test/io/IOStreams.kt
index 0e84966001b..6614e9c4fdd 100644
--- a/libraries/stdlib/test/io/IOStreams.kt
+++ b/libraries/stdlib/test/io/IOStreams.kt
@@ -1,3 +1,4 @@
+@file:kotlin.jvm.JvmVersion
package test.io
import org.junit.Test as test
diff --git a/libraries/stdlib/test/io/ReadWrite.kt b/libraries/stdlib/test/io/ReadWrite.kt
index 1bba4bf76ca..a88fb8559fa 100644
--- a/libraries/stdlib/test/io/ReadWrite.kt
+++ b/libraries/stdlib/test/io/ReadWrite.kt
@@ -1,3 +1,4 @@
+@file:kotlin.jvm.JvmVersion
package test.io
import org.junit.Test as test
diff --git a/libraries/stdlib/test/language/EscapedTestNamesTest.kt b/libraries/stdlib/test/language/EscapedTestNamesTest.kt
index 7cb7bfc6102..9c579117049 100644
--- a/libraries/stdlib/test/language/EscapedTestNamesTest.kt
+++ b/libraries/stdlib/test/language/EscapedTestNamesTest.kt
@@ -1,3 +1,4 @@
+@file:kotlin.jvm.JvmVersion // TODO: Can't run in JS: spaces in function name KT-4160
package test.language
import org.junit.Test as test
diff --git a/libraries/stdlib/test/numbers/CompanionIntrinsicObjectsJVMTest.kt b/libraries/stdlib/test/numbers/CompanionIntrinsicObjectsJVMTest.kt
index 56095b1612f..72ff3111cab 100644
--- a/libraries/stdlib/test/numbers/CompanionIntrinsicObjectsJVMTest.kt
+++ b/libraries/stdlib/test/numbers/CompanionIntrinsicObjectsJVMTest.kt
@@ -14,6 +14,7 @@
* limitations under the License.
*/
+@file:kotlin.jvm.JvmVersion
package test.numbers
import kotlin.test.*
diff --git a/libraries/stdlib/test/numbers/MathJVMTest.kt b/libraries/stdlib/test/numbers/MathJVMTest.kt
index a8851a1ac51..a433cf870ac 100644
--- a/libraries/stdlib/test/numbers/MathJVMTest.kt
+++ b/libraries/stdlib/test/numbers/MathJVMTest.kt
@@ -1,3 +1,4 @@
+@file:kotlin.jvm.JvmVersion
package test.numbers
import java.math.BigInteger
diff --git a/libraries/stdlib/test/numbers/NumbersJVMTest.kt b/libraries/stdlib/test/numbers/NumbersJVMTest.kt
index 30b75188215..2388eb37589 100644
--- a/libraries/stdlib/test/numbers/NumbersJVMTest.kt
+++ b/libraries/stdlib/test/numbers/NumbersJVMTest.kt
@@ -1,3 +1,4 @@
+@file:kotlin.jvm.JvmVersion
package test.numbers
import java.math.BigDecimal
diff --git a/libraries/stdlib/test/ranges/RangeIterationJVMTest.kt b/libraries/stdlib/test/ranges/RangeIterationJVMTest.kt
index a7ef5c317fd..2973da7f921 100644
--- a/libraries/stdlib/test/ranges/RangeIterationJVMTest.kt
+++ b/libraries/stdlib/test/ranges/RangeIterationJVMTest.kt
@@ -1,3 +1,4 @@
+@file:kotlin.jvm.JvmVersion
package test.ranges
import java.lang.Integer.MAX_VALUE as MaxI
diff --git a/libraries/stdlib/test/ranges/RangeJVMTest.kt b/libraries/stdlib/test/ranges/RangeJVMTest.kt
index 45b05e5ebd4..d614cbcebea 100644
--- a/libraries/stdlib/test/ranges/RangeJVMTest.kt
+++ b/libraries/stdlib/test/ranges/RangeJVMTest.kt
@@ -1,6 +1,6 @@
+@file:kotlin.jvm.JvmVersion
package test.ranges
-import kotlin.ranges.LongProgression.Companion
import java.lang.Double as jDouble
import java.lang.Float as jFloat
import org.junit.Test as test
diff --git a/libraries/stdlib/test/reflection/AnnotationsTest.kt b/libraries/stdlib/test/reflection/AnnotationsTest.kt
index aa2db872409..dc4d7c04c93 100644
--- a/libraries/stdlib/test/reflection/AnnotationsTest.kt
+++ b/libraries/stdlib/test/reflection/AnnotationsTest.kt
@@ -1,3 +1,4 @@
+@file:kotlin.jvm.JvmVersion
package test.reflection
import kotlin.test.*
diff --git a/libraries/stdlib/test/text/CharJVMTest.kt b/libraries/stdlib/test/text/CharJVMTest.kt
index 375a32667c1..4606b8a5685 100644
--- a/libraries/stdlib/test/text/CharJVMTest.kt
+++ b/libraries/stdlib/test/text/CharJVMTest.kt
@@ -1,3 +1,4 @@
+@file:kotlin.jvm.JvmVersion
package test.text
import kotlin.test.*
diff --git a/libraries/stdlib/test/text/RegexJVMTest.kt b/libraries/stdlib/test/text/RegexJVMTest.kt
index 9ddeefd309e..752e3c69a55 100644
--- a/libraries/stdlib/test/text/RegexJVMTest.kt
+++ b/libraries/stdlib/test/text/RegexJVMTest.kt
@@ -1,3 +1,4 @@
+@file:kotlin.jvm.JvmVersion
package test.text
import kotlin.test.*
diff --git a/libraries/stdlib/test/text/StringBuilderJVMTest.kt b/libraries/stdlib/test/text/StringBuilderJVMTest.kt
index 3e5ae4c2fc5..bb4838b6e62 100644
--- a/libraries/stdlib/test/text/StringBuilderJVMTest.kt
+++ b/libraries/stdlib/test/text/StringBuilderJVMTest.kt
@@ -1,6 +1,6 @@
+@file:kotlin.jvm.JvmVersion
package test.text
-import kotlin.*
import kotlin.test.*
import org.junit.Test as test
diff --git a/libraries/stdlib/test/text/StringJVMTest.kt b/libraries/stdlib/test/text/StringJVMTest.kt
index 19fd45660c6..7c62e28933a 100644
--- a/libraries/stdlib/test/text/StringJVMTest.kt
+++ b/libraries/stdlib/test/text/StringJVMTest.kt
@@ -1,3 +1,4 @@
+@file:kotlin.jvm.JvmVersion
package test.text
import test.collections.assertArrayNotSameButEquals
diff --git a/libraries/stdlib/test/utils/LazyJVMTest.kt b/libraries/stdlib/test/utils/LazyJVMTest.kt
index 19bad2a3622..f395189da57 100644
--- a/libraries/stdlib/test/utils/LazyJVMTest.kt
+++ b/libraries/stdlib/test/utils/LazyJVMTest.kt
@@ -1,3 +1,4 @@
+@file:kotlin.jvm.JvmVersion
package test.utils
diff --git a/libraries/stdlib/test/utils/PreconditionsJVMTest.kt b/libraries/stdlib/test/utils/PreconditionsJVMTest.kt
index 16b5571036d..4f7ebe6f5ec 100644
--- a/libraries/stdlib/test/utils/PreconditionsJVMTest.kt
+++ b/libraries/stdlib/test/utils/PreconditionsJVMTest.kt
@@ -1,3 +1,4 @@
+@file:kotlin.jvm.JvmVersion
package test.utils
import org.junit.Test as test
diff --git a/libraries/tools/kotlin-js-tests/pom.xml b/libraries/tools/kotlin-js-tests/pom.xml
index ee98da60c53..538793000ba 100644
--- a/libraries/tools/kotlin-js-tests/pom.xml
+++ b/libraries/tools/kotlin-js-tests/pom.xml
@@ -23,6 +23,11 @@
+
+ ${kotlin-dist}/kotlinc
+ JS
+
+
@@ -37,24 +42,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-