# versions of test plugins:

# pasted output from processSDKmap.sh:
# ----
org.eclipse.jdt.core.tests.builder=org.eclipse.jdt.core.tests.builder_3.7.1.v_B76_R37x
org.eclipse.test.performance=org.eclipse.test.performance_3.7.0.v20101027
org.eclipse.jdt.debug.tests=org.eclipse.jdt.debug.tests_3.1.201.v20110803_r371
org.eclipse.jdt.ui.tests=org.eclipse.jdt.ui.tests_3.7.1.r371_v20110824-0800
org.eclipse.jdt.ui.tests.refactoring=org.eclipse.jdt.ui.tests.refactoring_3.7.1.r371_v20110824-0800
# ----

# tests referenced without version qualifier:
org.eclipse.jdt.core.tests.compiler=org.eclipse.jdt.core.tests.compiler_3.7.1
org.eclipse.jdt.core.tests.model=org.eclipse.jdt.core.tests.model_3.7.1

# this is part of eclipse-test-framework and holds library.xml:
org.eclipse.test=org.eclipse.test_3.3.100

org.eclipse.objectteams.otdt.tests=org.eclipse.objectteams.otdt.tests_1.3.0
org.eclipse.objectteams.otdt.ui.tests=org.eclipse.objectteams.otdt.ui.tests_1.3.0
org.eclipse.objectteams.otdt.ui.tests.dom=org.eclipse.objectteams.otdt.ui.tests.dom_1.3.0
org.eclipse.objectteams.otdt.debug.tests=org.eclipse.objectteams.otdt.debug.tests_1.3.0
org.eclipse.objectteams.otdt.ui.tests.refactoring=org.eclipse.objectteams.otdt.ui.tests.refactoring_1.3.0
org.eclipse.objectteams.otdt.test.builder=org.eclipse.objectteams.otdt.test.builder_1.3.0

