Make incremental test launcher fail on errors during evaluation.

Also provide a method to check that a node has "error type" assigned,
which may come in handy.
This commit is contained in:
Fedor Isakov 2020-06-26 17:36:10 +02:00
parent d2d4578514
commit 598d6c109d
4 changed files with 148 additions and 1 deletions

View File

@ -1526,6 +1526,7 @@
<module ref="26e8f4ce-2a35-4f44-8065-e5ba154b18e9(jetbrains.mps.lang.coderules.runtime)" kind="cl" />
<module ref="ceab5195-25ea-4f22-9b92-103b95ca8c0c(jetbrains.mps.lang.core)" kind="cl" />
<module ref="f486b8aa-5b2d-4ec0-8ef5-8f45d773fb84(jetbrains.mps.lang.typechecking.runtime)" kind="cl" />
<module ref="7a5dda62-9140-4668-ab76-d5ed1746f2b2(jetbrains.mps.lang.typesystem)" kind="cl" />
<module ref="a5478664-6b44-4c62-a9f7-434f8aa57eee(jetbrains.mps.logic.runtime)" kind="cl" />
<module ref="b189d6c6-9397-4d64-88af-1ac73760a4f5(jetbrains.mps.logic.test)" kind="cl" />
<module ref="3a1f0f04-b5e0-43be-884e-b856bfdeca21(jetbrains.mps.typechecking.testlang)" kind="cl" />
@ -4876,6 +4877,7 @@
<fileset file="${artifacts.mps}/plugins/mps-testing/languages/languageDesign/jetbrains.mps.lang.test.matcher.jar" />
<fileset file="${artifacts.mps}/plugins/mps-testing/languages/languageDesign/jetbrains.mps.lang.test.runtime.jar" />
<fileset file="${artifacts.mps}/languages/languageDesign/jetbrains.mps.lang.traceable.jar" />
<fileset file="${artifacts.mps}/languages/languageDesign/jetbrains.mps.lang.typesystem.jar" />
</classpath>
</javac>
</target>

View File

@ -1732,6 +1732,11 @@
<ref role="3bR37D" node="5wYq9r5EBDN" resolve="jetbrains.mps.coderules.runtime" />
</node>
</node>
<node concept="1SiIV0" id="2Qsys8cJfZM" role="3bR37C">
<node concept="3bR9La" id="2Qsys8cJfZN" role="1SiIV1">
<ref role="3bR37D" to="ffeo:7Kfy9QB6Lc2" resolve="jetbrains.mps.lang.typesystem" />
</node>
</node>
</node>
</node>
<node concept="2G$12M" id="78H58oeeFzd" role="3989C9">

View File

@ -27,6 +27,7 @@
<dependency reexport="false">c4803b19-6d89-4a3b-bf82-390769514add(jetbrains.mps.lang.coderules)</dependency>
<dependency reexport="false">f3061a53-9226-4cc5-a443-f952ceaf5816(jetbrains.mps.baseLanguage)</dependency>
<dependency reexport="false">f113d56b-63e3-4120-a89c-2f5dcb8c6290(jetbrains.mps.coderules.runtime)</dependency>
<dependency reexport="false">7a5dda62-9140-4668-ab76-d5ed1746f2b2(jetbrains.mps.lang.typesystem)</dependency>
</dependencies>
<languageVersions>
<language slang="l:f3061a53-9226-4cc5-a443-f952ceaf5816:jetbrains.mps.baseLanguage" version="11" />
@ -83,6 +84,7 @@
<module reference="c72da2b9-7cce-4447-8389-f407dc1158b7(jetbrains.mps.lang.structure)" version="0" />
<module reference="9ded098b-ad6a-4657-bfd9-48636cfe8bc3(jetbrains.mps.lang.traceable)" version="0" />
<module reference="f486b8aa-5b2d-4ec0-8ef5-8f45d773fb84(jetbrains.mps.lang.typechecking.runtime)" version="0" />
<module reference="7a5dda62-9140-4668-ab76-d5ed1746f2b2(jetbrains.mps.lang.typesystem)" version="0" />
<module reference="35320f26-77cb-4c55-be9f-a97a27770af1(jetbrains.mps.logic)" version="0" />
<module reference="bbf5c548-7111-4a53-a117-cdefc664cf34(jetbrains.mps.logic.reactor)" version="0" />
<module reference="a5478664-6b44-4c62-a9f7-434f8aa57eee(jetbrains.mps.logic.runtime)" version="0" />

View File

@ -35,6 +35,7 @@
<import index="33ny" ref="6354ebe7-c22a-4a0f-ac54-50b52ab9b065/java:java.util(JDK/)" />
<import index="tpcu" ref="r:00000000-0000-4000-0000-011c89590282(jetbrains.mps.lang.core.behavior)" />
<import index="psoy" ref="r:78313117-90ee-47a5-a91e-b5213df7f611(jetbrains.mps.coderules.runtime.result)" />
<import index="tpd4" ref="r:00000000-0000-4000-0000-011c895902b4(jetbrains.mps.lang.typesystem.structure)" />
</imports>
<registry>
<language id="f3061a53-9226-4cc5-a443-f952ceaf5816" name="jetbrains.mps.baseLanguage">
@ -268,6 +269,9 @@
<concept id="1180031783296" name="jetbrains.mps.lang.smodel.structure.Concept_IsSubConceptOfOperation" flags="nn" index="2Zo12i">
<child id="1180031783297" name="conceptArgument" index="2Zo12j" />
</concept>
<concept id="1139621453865" name="jetbrains.mps.lang.smodel.structure.Node_IsInstanceOfOperation" flags="nn" index="1mIQ4w">
<child id="1177027386292" name="conceptArgument" index="cj9EA" />
</concept>
<concept id="1144100932627" name="jetbrains.mps.lang.smodel.structure.OperationParm_Inclusion" flags="ng" index="1xIGOp" />
<concept id="1140131837776" name="jetbrains.mps.lang.smodel.structure.Node_ReplaceWithAnotherOperation" flags="nn" index="1P9Npp">
<child id="1140131861877" name="replacementNode" index="1P9ThW" />
@ -1196,6 +1200,35 @@
</node>
</node>
</node>
<node concept="3clFbJ" id="2Qsys8chqyZ" role="3cqZAp">
<node concept="3clFbS" id="2Qsys8chqz1" role="3clFbx">
<node concept="YS8fn" id="2Qsys8chrir" role="3cqZAp">
<node concept="2ShNRf" id="2Qsys8chxD1" role="YScLw">
<node concept="1pGfFk" id="2Qsys8chy5J" role="2ShVmc">
<ref role="37wK5l" to="wyt6:~RuntimeException.&lt;init&gt;(java.lang.Throwable)" resolve="RuntimeException" />
<node concept="2OqwBi" id="2Qsys8chrnD" role="37wK5m">
<node concept="37vLTw" id="2Qsys8chrko" role="2Oq$k0">
<ref role="3cqZAo" node="6QH_LDtbV6b" resolve="res2" />
</node>
<node concept="liA8E" id="2Qsys8chrq2" role="2OqNvi">
<ref role="37wK5l" to="psoy:5X1yxJI3vjy" resolve="cause" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="3fqX7Q" id="2Qsys8chqMR" role="3clFbw">
<node concept="2OqwBi" id="2Qsys8chr8d" role="3fr31v">
<node concept="37vLTw" id="2Qsys8chqS7" role="2Oq$k0">
<ref role="3cqZAo" node="6QH_LDtbV6b" resolve="res2" />
</node>
<node concept="liA8E" id="2Qsys8chret" role="2OqNvi">
<ref role="37wK5l" to="psoy:7Oc59RS_hsj" resolve="isSuccessful" />
</node>
</node>
</node>
</node>
<node concept="3clFbH" id="WJTIIom6y5" role="3cqZAp" />
<node concept="3cpWs8" id="WJTIIoYvBk" role="3cqZAp">
<node concept="3cpWsn" id="WJTIIoYvBn" role="3cpWs9">
@ -4614,6 +4647,111 @@
</node>
</node>
<node concept="2tJIrI" id="WJTIIotT1L" role="jymVt" />
<node concept="3clFb_" id="2Qsys8cv$IF" role="jymVt">
<property role="TrG5h" value="ensureErrorType" />
<node concept="37vLTG" id="2Qsys8cv$IG" role="3clF46">
<property role="TrG5h" value="target" />
<node concept="3Tqbb2" id="2Qsys8cv$IH" role="1tU5fm" />
</node>
<node concept="3clFbS" id="2Qsys8cv$II" role="3clF47">
<node concept="3SKdUt" id="2Qsys8cvG91" role="3cqZAp">
<node concept="1PaTwC" id="2Qsys8cvG92" role="1aUNEU">
<node concept="3oM_SD" id="2Qsys8cvG93" role="1PaTwD">
<property role="3oM_SC" value="NB:" />
</node>
<node concept="3oM_SD" id="2Qsys8cvG94" role="1PaTwD">
<property role="3oM_SC" value="checks" />
</node>
<node concept="3oM_SD" id="2Qsys8cvG95" role="1PaTwD">
<property role="3oM_SC" value="only" />
</node>
<node concept="3oM_SD" id="2Qsys8cvG96" role="1PaTwD">
<property role="3oM_SC" value="the" />
</node>
<node concept="3oM_SD" id="2Qsys8cvG97" role="1PaTwD">
<property role="3oM_SC" value="last" />
</node>
<node concept="3oM_SD" id="2Qsys8cvG98" role="1PaTwD">
<property role="3oM_SC" value="types" />
</node>
<node concept="3oM_SD" id="2Qsys8cvG99" role="1PaTwD">
<property role="3oM_SC" value="set" />
</node>
<node concept="3oM_SD" id="2Qsys8cvG9a" role="1PaTwD">
<property role="3oM_SC" value="delta;" />
</node>
<node concept="3oM_SD" id="2Qsys8cvG9b" role="1PaTwD">
<property role="3oM_SC" value="not" />
</node>
<node concept="3oM_SD" id="2Qsys8cvG9c" role="1PaTwD">
<property role="3oM_SC" value="all" />
</node>
<node concept="3oM_SD" id="2Qsys8cvG9d" role="1PaTwD">
<property role="3oM_SC" value="types" />
</node>
</node>
</node>
<node concept="3cpWs8" id="2Qsys8cvG9e" role="3cqZAp">
<node concept="3cpWsn" id="2Qsys8cvG9f" role="3cpWs9">
<property role="TrG5h" value="computedType" />
<node concept="3Tqbb2" id="2Qsys8cvG9g" role="1tU5fm" />
<node concept="3EllGN" id="2Qsys8cvG9h" role="33vP2m">
<node concept="2OqwBi" id="2Qsys8cvG9i" role="3ElVtu">
<node concept="37vLTw" id="2Qsys8cvG9j" role="2Oq$k0">
<ref role="3cqZAo" node="2Qsys8cv$IG" resolve="target" />
</node>
<node concept="iZEcu" id="2Qsys8cvG9k" role="2OqNvi" />
</node>
<node concept="2OqwBi" id="2Qsys8cvG9l" role="3ElQJh">
<node concept="37vLTw" id="2Qsys8cvG9m" role="2Oq$k0">
<ref role="3cqZAo" node="WJTIIokuum" resolve="launcher" />
</node>
<node concept="liA8E" id="2Qsys8cvG9n" role="2OqNvi">
<ref role="37wK5l" node="3o9wrC3D6US" resolve="getTypes" />
</node>
</node>
</node>
</node>
</node>
<node concept="2Hmddi" id="2Qsys8cvIue" role="3cqZAp">
<node concept="37vLTw" id="2Qsys8cvIuf" role="2Hmdds">
<ref role="3cqZAo" node="2Qsys8cvG9f" resolve="computedType" />
</node>
<node concept="3_1$Yv" id="2Qsys8cvIug" role="3_9lra">
<node concept="2YIFZM" id="2Qsys8cvIuh" role="3_1BAH">
<ref role="37wK5l" to="wyt6:~String.format(java.lang.String,java.lang.Object...)" resolve="format" />
<ref role="1Pybhc" to="wyt6:~String" resolve="String" />
<node concept="Xl_RD" id="2Qsys8cvIui" role="37wK5m">
<property role="Xl_RC" value="expected type for node! [%s]" />
</node>
<node concept="37vLTw" id="2Qsys8cvIuj" role="37wK5m">
<ref role="3cqZAo" node="2Qsys8cv$IG" resolve="target" />
</node>
</node>
</node>
</node>
<node concept="3vwNmj" id="2Qsys8cxg$U" role="3cqZAp">
<node concept="2OqwBi" id="2Qsys8cxhdD" role="3vwVQn">
<node concept="37vLTw" id="2Qsys8cxhdE" role="2Oq$k0">
<ref role="3cqZAo" node="2Qsys8cvG9f" resolve="computedType" />
</node>
<node concept="1mIQ4w" id="2Qsys8cxhdF" role="2OqNvi">
<node concept="chp4Y" id="2Qsys8cxhdG" role="cj9EA">
<ref role="cht4Q" to="tpd4:hfSilrT" resolve="RuntimeErrorType" />
</node>
</node>
</node>
</node>
<node concept="3cpWs6" id="2Qsys8cv$IW" role="3cqZAp">
<node concept="Xjq3P" id="2Qsys8cv$IX" role="3cqZAk" />
</node>
</node>
<node concept="3Tm1VV" id="2Qsys8cvKFA" role="1B3o_S" />
<node concept="3uibUv" id="2Qsys8cv$IZ" role="3clF45">
<ref role="3uigEE" node="WJTIIojUvH" resolve="IncrementalTestBuilder" />
</node>
</node>
<node concept="2tJIrI" id="WJTIIowbGI" role="jymVt" />
<node concept="3clFb_" id="WJTIIotPrU" role="jymVt">
<property role="TrG5h" value="ensureNoType" />
<node concept="37vLTG" id="WJTIIotPrV" role="3clF46">
@ -4662,7 +4800,7 @@
<ref role="3uigEE" node="WJTIIojUvH" resolve="IncrementalTestBuilder" />
</node>
</node>
<node concept="2tJIrI" id="WJTIIowbGI" role="jymVt" />
<node concept="2tJIrI" id="2Qsys8cvBzu" role="jymVt" />
<node concept="3clFb_" id="WJTIIomjLv" role="jymVt">
<property role="TrG5h" value="ensureFailed" />
<node concept="37vLTG" id="WJTIIomJPr" role="3clF46">