From a207f29f15bee07102d5a514c56a5a66ff2b35f4 Mon Sep 17 00:00:00 2001 From: aalsaqer <aalsaqer@student.unimelb.edu.au> Date: Fri, 31 Aug 2018 14:42:01 +1000 Subject: [PATCH] new examples --- build.xml | 47 ++++++++++-------- classes/swen90006/machine/BoundaryTests.class | Bin 2225 -> 2765 bytes classes/swen90006/machine/BugException.class | Bin 387 -> 659 bytes .../machine/InvalidInstructionException.class | Bin 266 -> 266 bytes classes/swen90006/machine/Machine.class | Bin 4003 -> 4300 bytes .../machine/NoReturnValueException.class | Bin 256 -> 256 bytes .../swen90006/machine/PartitioningTests.class | Bin 2229 -> 2214 bytes classes/swen90006/machine/SimpleDriver.class | Bin 2109 -> 2297 bytes examples/array.s | 3 +- .../swen90006/machine/BugException.java | 14 +++--- test/swen90006/machine/BoundaryTests.java | 25 +++++++++- 11 files changed, 60 insertions(+), 29 deletions(-) diff --git a/build.xml b/build.xml index 658996f..3386c31 100644 --- a/build.xml +++ b/build.xml @@ -16,28 +16,35 @@ </target> <target name="partitioning" depends="classes"> - <junit printsummary="yes" fork="yes" haltonfailure="yes"> - <classpath> - <pathelement path="classes/"/> - <pathelement path="lib/junit-4.11.jar"/> - <pathelement path="lib/hamcrest-core-1.3.jar"/> - </classpath> - <formatter type="plain"/> - <test name="swen90006.machine.PartitioningTests"/> - </junit> + <parallel threadCount="1" timeout="5000"> + <sequential> + <junit printsummary="yes" fork="yes" haltonfailure="yes"> + <classpath> + <pathelement path="classes/"/> + <pathelement path="lib/junit-4.11.jar"/> + <pathelement path="lib/hamcrest-core-1.3.jar"/> + </classpath> + <formatter type="plain"/> + <test name="swen90006.machine.PartitioningTests"/> + </junit> + </sequential> + </parallel> </target> - <target name="boundary" depends="classes"> - <junit printsummary="yes" fork="yes" haltonfailure="yes"> - <classpath> - <pathelement path="classes/"/> - <pathelement path="lib/junit-4.11.jar"/> - <pathelement path="lib/hamcrest-core-1.3.jar"/> - </classpath> - <formatter type="plain"/> - <test name="swen90006.machine.BoundaryTests"/> - </junit> + <target name="boundary" depends="classes"> + <parallel threadCount="1" timeout="5000"> + <sequential> + <junit printsummary="yes" fork="yes" haltonfailure="yes"> + <classpath> + <pathelement path="classes/"/> + <pathelement path="lib/junit-4.11.jar"/> + <pathelement path="lib/hamcrest-core-1.3.jar"/> + </classpath> + <formatter type="plain"/> + <test name="swen90006.machine.BoundaryTests"/> + </junit> + </sequential> + </parallel> </target> - </project> diff --git a/classes/swen90006/machine/BoundaryTests.class b/classes/swen90006/machine/BoundaryTests.class index 75ca15dbf4f906cd2b7beec235fa91a8de079579..5de9d64622916194eb3374e519052f1cbdc4b160 100644 GIT binary patch delta 1374 zcmdlecviIj)W2Q(7#JAL7$$KsXft@SGC%+m7lRjrH#>t57XvGUCkKNsH-j649|wa! zhz<Zr268Y2aWQBy1hX@Qa53;Pc!G#fn0{S$hA=J$VUX5vm>4riTLcF~BnLwj2SYSi z*p7jLA%%k>hKs?KA(o3Fjv=0%A%Tk_ks*nTA(<hCogtNzA&nuOgCT>9A(J7Ci$R4U zn~NchA%~qImz^PR;_4HO`IAc+jq8Oy^U4x)GE+SBic5-0lS?x5^NJZ6^nHrUQ}Zkh z3=GWla}$#@GV@aPF%`O2B&QaDbXYSo2>X`ilw=l^=A;IdmZTQtg`^gjFfvH_<(Ift zB$t+?h8N}MrK4IRP?VZDc{QUOO94AW;pBgep7lBmy6g-^JPgGQC5#NhS&3zd`lThA zIr@%8MTwO@nIIDx6L}a)8Oj(L7?XGy${EUd7%CVl85vBRtztrpQ;UjY9D_rHW70EA zVuHh6{lGrZbu`p9GBC7=Nv%lCEyzhNj!6WWr&r9w;Kbm}$RG*x>*S?O!pv0+)suHK z>DL!C)G#twl5T8#a(+RjUNIws6-jz?LBSW4T2fk+2hwa_Pm=DG%(D2B)Z!A5R@TrE zH(d)JhFXR?c7}Q$h6aX4Mg{?JVCE#|rRxWm6lLb6vokdDFf=o?ursvsFtjnW!@?V^ z#I+)s4-&KN3>`cSoeW)*-I#R+x_KCS7<zda`WX6o7$z`G+}zB}%UrL;pbbv@JPeEs zIt;oDj0}1V3=Dz{j0}tn3=FJV+Zh-)f)y|_=riatFoC6c85qFQP$>fj1_m|;Mg~K$ zun{3;#$aV8U}cPYlLgqNMPVkGf~CyBQhJje*v-*o%%L(p?7C<&77V%!%nW*y&#_CY zSTZm$urM$(STTUi<z`@HFlAt5uuf*MVPIsig&M)lAzKfU200vJtsO*$fq_AZfr){c zfq_9xOGt7%1Fz3+2ENGc4E(-2+S?ce!Xe=S(u-uYJp&_y1Ka=&1{MYu1_lNhEg>lk z1MFm5Id?FyY-Feh1uV!Mgc}^;Mrc8ekkb;9#%6>FgACXZbTgPh*#a6*X$;H^paREO zNNxv%yf35Q4h98n=DiGx+ZdE|b}$4f`z>dXv|`!Bpem%cjX_-!#M;K7!LoxvQ+ERc zBLfG61cNk#3Iij93j+g#Bm>ib25ANsb_OkW21RxTS9S(B21a%U6;TFv1_lNu1`h@X E0LCQ@F8}}l delta 838 zcmX>rx>2zH)W2Q(7#J9g8M?U`)EJyu86bd(i@}A#m7T$ji-DEFnS;Tdo56#@lY_wv zM0<lIeK;6=xfoO#{MZ@%xfu8uoIykYOusHWLm(G}Fi2|<OpF<%EtrELgo`1RA&iS5 zoFRf;har-SA&McIiy?*~mYpGvlOdiVfrBBDiy?_2nTtW5A%%+}o*|W;A&s3Oed68| zj2V;L7>y^JFnRH&u`@)nGi0(eWU({EO>ScH3|42*U}wnYVaQ>~Wn>V}N-Rs%FD=Q; z(RVB=O04wBEG}VWU`%9Z$l_thW5{P@U`*m+C}7CvVJKuMVq_3Vtw_u*$Vn~MPXsB~ zE9POaWU!iS&n(AW%uq5pfmz=!hoO{_fi*P5P1k~*A(MxpjG>&Jp@N5@lA(%`K>%!D zPGVlVesD=qW?niwLp2XW4MQzELmdx8JwwCfS{4bmMjnPHhUUq$S#$+jco<q4+ISe+ z89I0vIvKh)-(cZou2*GH1IGX-10#bvg9Za5gC+w5gCGMV10w?i1FP0{2F8tG1&j<@ z3>pkfU};_k2Cy_#N}GX!fsKKYK?f|XOGud>SeZUpnIXtFF$NX}W(EcZE)fPM5eB9m z3@i{UVdffuH5h_5XilEWVJ?a)V+56X$e|mADr3x`!N3f5vIqkc*vTBb8H6LZGl=X5 zd&-1?fq{jAk-?M!q>r0{k->n0k-;pP!JL7S!2)V*0;g;}NE+ltkW-jI5d{s2GzMk{ zP<k^KlH9={<;&=|gF#xGc`t*^HU?Rp9Sm}Q%NZoCST->z2q|u3P?7|(wlOHP>|jvQ z-N3-ez`-EFAk84pz{p_Dz`!8M!1SL%nt_F#!G@i|mYu<loxz@gk)6Rol#9WUfq{XE I!HIzZ0DiW0NdN!< diff --git a/classes/swen90006/machine/BugException.class b/classes/swen90006/machine/BugException.class index f118d84a4f1eb3cda19ec8de216e3dc339d6090c..8ec803fc103ba36c5d6d192e2a60d3cdcc09c5d2 100644 GIT binary patch literal 659 zcmX^0Z`VEs1_m<*Ss?}n25v3}76u-623~dsK1K#Mo6Nk-5<5l)Q4OE0#Ii*FoW#6z z{os<K%)E4K%`ip=7U%qwR7M5?r~Leq;*z4o0^ih<jQo^hel`Yv4h8`p20;cP9tKth zHbw@y;_}oyO9KM~GyUAe<c!R`RDGw?bk~aH)Pj=C{5(bmVT28EQ7#5y1`$RE&B**x zg_5Go^z_uC)D(sMyi|q!G=-9kRE6Ty<kF(dl1hc7()40QE=EQM@!Z7hROkG><iwKj z%#sY}{Ji3l#JrMXMg}!(p1|}MJA)|5-I9z9DhL;4=9T4Vr$W6BG2JaOxg@`+lAS@C zk%7%8KR>&)fRTa6GcPZ-$T=smxHz?#kzoe1l~6MvLFAE`my(lOtOC(!jp+;|5fqIf zl?AC-lt&|}_fN`7O)jz4L=u7;;hdP06P#I+YR%3d!^ohD;XiC{V`PxSuZ}^Hfti7Y z0R$Ks7(ubkz{tSPz`!8Rz{J1=N>p0fyBHW57`8JoZ3L-eU}BJ9U|`^4U}O+ukYW&L UkYwOsU|`^2U}WHAU}WF|0HX7{O8@`> delta 234 zcmbQt+RUtV>ff$?3=9m$43g{&JX{Qn47?l+d?1=1L<n#(a4-n6GYGLW2v3yKQV`Ed zEKAhSNz6;v4=yRn%u9DF&CE$jE#hI|WDsFw(3rSXgP(^%ltGM#L7YJXB+4~0&0L6) zfmuT{jFEvYv7jI|FNKjocj9Z+ET~><Mh1?Oe28(33?dquKIoQMGbl2!GjK3~03!n< z11AH>ZQKkD3@QxF3``6R3=&$q85kqCGcXA;Z)0H5-p0VPje&JL1KUQB76t|Y`pPU) diff --git a/classes/swen90006/machine/InvalidInstructionException.class b/classes/swen90006/machine/InvalidInstructionException.class index b825f28f0bae9bc7d1352fc96ae041000ea4a729..b3f25d4547b9f1e25ba7bd67083bf90255f76e6c 100644 GIT binary patch delta 17 YcmeBT>SE$J^>5cc1_lPRjT}sj05~`WQvd(} delta 17 YcmeBT>SE$J^>5cc1_lP>jT}sj05~ZHPyhe` diff --git a/classes/swen90006/machine/Machine.class b/classes/swen90006/machine/Machine.class index bc67cdff3d66160515599de443f4aea563326bac..e06c46bfae2c3ecc1f099f913ef298b643eb2afc 100644 GIT binary patch literal 4300 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 FvjL4ttAhXl literal 4003 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 X7NLR+jNp2YRci|a(;86a#=rmosEtlI diff --git a/classes/swen90006/machine/NoReturnValueException.class b/classes/swen90006/machine/NoReturnValueException.class index 8e5254e009b57eb2894b9bb735e33962cd163259..dccdbed2d7ed8229a93d01ac2be229f43c10e792 100644 GIT binary patch delta 16 XcmZo*YGC3x^>5cc1_lPRi5x!wGEW8+ delta 16 XcmZo*YGC3x^>5cc1_lP>i5x!wGD8Lt diff --git a/classes/swen90006/machine/PartitioningTests.class b/classes/swen90006/machine/PartitioningTests.class index af52566636122d3ab4edeca3dfd4fb3e867aa1db..1956a4b569518fd62c2163fb19c998dccf2e5f65 100644 GIT binary patch delta 402 zcmdlgxJ<DA)W2Q(7#JAL7}~fP)EFFC86bd(i@}k>iJifji-DEFfrG(?o57aBm4m?z zM7x6|JvbOVxfoO#yx1AMxfu8u96*E*OusHWgD)3@Fi5K(OpF<%&7XrIfQ!L~A&`q9 zh#{C=harTEA(SDEiy@pLf}J6flOc*Bnu8&Riy@XFj*CH_A)bpNiXnlWA(5RSY2xY= zjLDNr7;9Nl*cnnM|6}wsPUB%nXUJe=5Y9?0OVlqd$;{DrEGkN@^vNtPVPs%T<YCBU z$YNw*OyXh4X2{}U$YIEx+{9$YoX3zqc{h`OWI96uBLiz_h?}kj4?`hC5j#UM4?_t< zDI<db*u<Q~ymbBGlA_GKbasX^9)@y;3U-D{9)>E0YM7;9C9W08sRbpO`FZRNH9QQp z40V&;m~{o}c^DcP8hIF+7@Bz)S{Pb4H#1AHN~y9l$gnfmurt^)FtRhqi!#_TFfcGN I*fTHy08_b2;s5{u delta 417 zcmZ1`xK*(J)W2Q(7#J9g8M?U`)EJyu86bd(i@}A#m7T$ji-DEFnS;Tdo56#@lY_wv zM0<lIeK;6=xfoO#{MZ@%xfu8uoIykYOusHWLm(G}Fi2|<OpF<%EtrELgo`1RA&iS5 zoFRf;har-SA&McIiy?*~mYpGvlOdiVfrBBDiy?_2nTtW5A%%+}o*|W;A&s3Oed6j9 zj2V+l7;Aac*cl?(88X=!ve+5oCVyr0Gt1^-$YIE3WDw3uEKAfcEy>K$cPuJOtn|q& zE@5O~Ok`)s;$g^R$Y*3=OyXfEV94iTC}b#_T*hR^T+C21c|DVUOb$aSBLiz_h?}kj zJ3}T9Lm5LkJ3|EzLnT8MBZC0g+?>R`bp7CxqRhN>c7|#mh8l)ic7{40hI)nunAKn< zt`*6t1tppJdF%|0JPb_?&6CZUbp={@7+M+Hco^ClI(Qg58M-!?FiWsX*|0O%vNPDR XGuSgQvNJe{GB`3YFfcJVF)#oCDr`=_ diff --git a/classes/swen90006/machine/SimpleDriver.class b/classes/swen90006/machine/SimpleDriver.class index e2898a8d0db987dacaa7428260b0686b6d57b7e3..8005196bd7d3f94b52b969d55fc6d13d97071a75 100644 GIT binary patch delta 1178 zcmdlh@Kdn<)W2Q(7#JAL7@FA`w7D2$7<4!pbQ$zG81%Uq3>XZB7#J8#xfpaA%s3d# zxfnDUEVvjf8LZeDthpF$7;L#1>=^9X85}qm9Jv_y7@R<Qow*q_8C--I7(p5t8FaW9 z7#ZBS7~B~=gcz6@yf_%VK_Wgv49pCs?5qra><s=BXXo1nurma*GXya*aJg0_rxuiC z=I0eNGDsGer{-B27#Nu8=O!j+Wag#n`$A|Q21N!Xc7|Xch7g9($%c%YNntz;;S3Rs z3<6I1`6b0AMTrHzsU;ctDaHJ343QiRQ9KOM3^6<mu?%sH46LCcZn_pc4Dk#J><o!K z3`q>hj0^%<iDilUIf;4c`oSednR)5#3@JPesSIiC4Cy=!84Q_|-!eL@W-(;*Fyt_V z@-XBw<Z&?M^Dq=J6tXiE@h}uKlyESVf~+Z<yo$++gNLCUq@rT79P@n+E`~~mDn<sS z$+e7%3XF^l;<<_0sm}R%$%!T5nI##{`FX`9iFqZ(j0~b0o|{uxHZn3QPqt=KVq}~w z%ogb_6i}3(UX+-tP?TC+np0w>z{thOpswMAaI$A!Nosm(k+mk07{nXaj0_y<sU^<& zrFkWc491h6Ga1!0vNKeJTw2e_pn@<XGp{T^I~D4Ch~wN6lS}f8D%lwt85!7o^7FGx z3m6%AJoEBWi=1;3i;Gi>85w3Ey8~(lB<wvB^HOqBi&Y>Rt>I2ng9R}{C|w^#XGmp1 zs`X?;R=LTQY{K<WDd)tToZ!roRBLvICPoHT42NU0l#xLWzd8m*25ANv1_lO31}O$v z1~~>s26+Ys1||jt1||kZP%>kvXJk-jU|<krU}RuqU|?X?+RnhVkpToa8B`cl8JIxQ zj9d)N46F<c44bs}vCL<X*~Gvs#IlWnbrS=#*1lZ~Yzz$B7+6_$Ft7`8>|o&ZVf5X> zz@^1(#Jrb*dm96f_6`PK-{lPAejsi9+Zb4NH!(18V-NsoV66As#2~1%lR=1)VHbli z*r44EjFH<JMEn@7Safx^F^KM95VK<0#2_fivWr0+tYSHX4oHMqNMaiUt0W7=INf6m zLYo+vb+<7{?qZMvs{`4vk%5Upoxzg9hJlYEh@q9CgMp8MkwFbyGO)@2&ts5bU}k4f zXJ^o0XV7F|WM|+L{?A~}zycRz2L%l~1K%G86?O)`UkuC)S_}*fEDVecd<;wsbqov) kpj=<W(7;g3Ajx3Fz`!8Iz`|h6z{p?%CSAd#Cz$jF023etxBvhE delta 960 zcmew<xL2V5)W2Q(7#J9g8Ctj)lo?Do8B7_>I2g>i7%Uhp*%_?37+4uhI2f!!v<--` z1rc^!45keB91IRz42}#=Tnx?(F6<1hTnugu?pzEW44&)^UK|YGTns`CJ|F{qIT-x7 z8T=Un*ck%37$g`>KtvE1Loh>#3<pCf$iy%XhHwss2o8owkX#fyLo_=>%*2*_^;mX> zICh43b_OqYhCoIJF4v0W)Pj=C{Jdfw1`P&Hc7_BVhD3&>$p(y?%E>$oDGaHM4B}ad zWr_MZiFxVz!6ikRdFf82nK>z`MT`uJlYN*K{dpMD7}7yR1`k6fLlzH1HbV|018ZoA zo2~^rLmUr7E<+wWLp~2f0Yf1pg8;f|><mRb48;s3><pzm3}p=ElXo*Zb5}4_@-S2} zBr!55O}1xM;$UZp=V7R3sF}>pD5qY_P{+<t&%@Bb(8$Oj5Kxq#UX+-tP?TC+np0w> z0CGtaBLgGXWMw8RW=001$!u&!tUL_O3^kKeneOv4GO#5U6r|>*Ff!<BOwMJIbj0+U zH6w$JhNq?vx?7<>w`OGED9MKe1|x%r#^zq;jf|61Si_lgH70*xldFeFA*oJJEpg5- z%`0J0WKd#IW?*1oWRPM|VNhjYWKd&ZU|?cUXJBGr1VsS@BZC$L1A`y~BLgD?0|Tqp zb_T|c3?RVCpv|Dezyy+JbY@^?U}a!nc&)XMWj=%ECI%)U=4}itn;4jOGq6V1Z)ac= zV&BHVp|x)t1Lrmdu5An~EISyug?M%_@cJ<N?qJ~4Vm4yl%fP>lK|p&4gP`wn25~=- zA;Q}jSadfrFl}QH0cl|L+r%IWG7)5;*fs_Zot+Hgj0|u?cQZ&tZfB76W3*z?)!D`% zwSz(0ie(c+JzS5>HU<t!mTe5OLUP*}I3O-r&R_{r#3UrYje$iH<mPP*BD%*I<e{zy z*`=_JfkSs2gCg7}kZU$FFfo`gxG{J#2r<MnY-HHNAjH7Ppv%C(V8+0v^PfS6ftj5_ zkDWo^gq^{FfsviTQ20MX7y}DLke$JRoxun!{D;Aiox$)I12cm$0|NsK10#bF0|Nle C@V+Pj diff --git a/examples/array.s b/examples/array.s index 54b5878..976f537 100644 --- a/examples/array.s +++ b/examples/array.s @@ -29,7 +29,8 @@ MOV R1 0 ; i = 0; MOV R0 100 MOV R5 0 ; sum = 0; - + ;RET R5 + SUB R4 R3 R1 ; while(i != N) JZ R4 6 ; { LDR R4 R0 0 ; diff --git a/mutants/mutant-1/swen90006/machine/BugException.java b/mutants/mutant-1/swen90006/machine/BugException.java index 41cb9ca..8c55483 100644 --- a/mutants/mutant-1/swen90006/machine/BugException.java +++ b/mutants/mutant-1/swen90006/machine/BugException.java @@ -1,7 +1,7 @@ -package swen90006.machine; - -public class BugException extends Exception { - public BugException(String msg){ - super("You triggered one of the security bugs!\n" + msg); - } -} +package swen90006.machine; + +public class BugException extends Exception { + public BugException(String msg){ + super("You triggered one of the security bugs!\n" + msg); + } +} diff --git a/test/swen90006/machine/BoundaryTests.java b/test/swen90006/machine/BoundaryTests.java index 61ce1ca..2106399 100644 --- a/test/swen90006/machine/BoundaryTests.java +++ b/test/swen90006/machine/BoundaryTests.java @@ -47,7 +47,7 @@ public class BoundaryTests //Test test opens a file and executes the machine @Test public void aFileOpenTest() { - final List<String> lines = readInstructions("examples/array.s"); + final List<String> lines = readInstructions("C:\\Users\\ASUS\\git\\SWEN90006-A1-2018\\examples\\array.s"); Machine m = new Machine(); assertEquals(m.execute(lines), 45); } @@ -71,6 +71,29 @@ public class BoundaryTests assertEquals("Some failure message", expected, actual); } + @Test(expected = InvalidInstructionException.class) +public void InvalidInstructions() { + final List<String> lines = readInstructions("C:\\Users\\ASUS\\git\\SWEN90006-A1-2018\\examples\\array_copy.s"); + Machine m = new Machine(); + m.execute(lines); + } + + @Test public void MultipuleRuternTest() { + final List<String> lines = readInstructions("C:\\Users\\ASUS\\git\\SWEN90006-A1-2018\\examples\\multiReturn.s"); + Machine m = new Machine(); + int val = m.execute(lines); + + assertEquals(val, 0); + } + + @Test public void NotExcuteWrongInstructions() { + final List<String> lines = readInstructions("C:\\Users\\ASUS\\git\\SWEN90006-A1-2018\\examples\\div_test.s"); + Machine m = new Machine(); + int val = m.execute(lines); + + assertEquals(val, 100); + } + //Read in a file containing a program and convert into a list of //string instructions private List<String> readInstructions(String file) -- GitLab