From 8d282cf4c2abe9ee04332df4c37a4c636d8ae915 Mon Sep 17 00:00:00 2001 From: Alexandre Vanini <vanini.alexandre@gmail.com> Date: Tue, 30 Apr 2019 16:24:26 +0200 Subject: [PATCH] [TESTS] - TRY WT RESOURCES --- .../server_compilation/src/main/java/app.java | 71 +-------------- .../src/main/java/compilation.java | 81 ++++++++++++++++++ .../target/classes/app.class | Bin 3965 -> 1664 bytes .../target/classes/compilation.class | Bin 0 -> 4342 bytes .../server_rest/src/main/java/app.java | 4 +- 5 files changed, 85 insertions(+), 71 deletions(-) create mode 100644 tests/serveur_compilation/server_compilation/src/main/java/compilation.java create mode 100644 tests/serveur_compilation/server_compilation/target/classes/compilation.class diff --git a/tests/serveur_compilation/server_compilation/src/main/java/app.java b/tests/serveur_compilation/server_compilation/src/main/java/app.java index 9044c3b..3f62482 100644 --- a/tests/serveur_compilation/server_compilation/src/main/java/app.java +++ b/tests/serveur_compilation/server_compilation/src/main/java/app.java @@ -1,81 +1,14 @@ import io.javalin.Javalin; import org.json.JSONObject; -import java.io.*; -import java.util.ArrayList; -import java.util.HashMap; - -import org.apache.commons.lang.StringEscapeUtils; - - public class app { public static void main(String[] args) { Javalin app = Javalin.create().enableCorsForAllOrigins().start(6999); app.post("/", ctx -> { - - JSONObject input = new JSONObject(ctx.body()); - - PrintWriter writer = null; - File file = null; - - String filename = ""; - String cmd = ""; - - if (input.get("language").equals("python")) { - // Create a PrintWriter object targeting sample.py - - filename = "sample.py"; - writer = new PrintWriter(filename, "UTF-8"); - cmd = "python " + filename; - - } else if (input.get("language").equals("java")) { - // Create a PrintWriter object targeting sample.py - filename = "app.java"; - writer = new PrintWriter(filename, "UTF-8"); - cmd = "java " + filename; - } - - // For delete purpose, create a File object also targeting sample.py - file = new File(filename); - - // Complex file with tabulation structure for test purpose - writer.println(input.get("stream")); - - // Close the writer, the file has been filled and is ready to be executed - writer.close(); - - long start = System.currentTimeMillis(); - Process cmdProc = Runtime.getRuntime().exec(cmd); - cmdProc.waitFor(); - long elapsed = System.currentTimeMillis() - start; - - // Create Array lists that will contain output and error values of the executed program - /**************************/ - - String line, output = "", error = ""; - BufferedReader stdoutReaderl = new BufferedReader(new InputStreamReader(cmdProc.getInputStream())); - while ((line = stdoutReader.readLine()) != null) - output += line + "\n"; - - BufferedReader stderrReader = new BufferedReader(new InputStreamReader(cmdProc.getErrorStream())); - while ((line = stderrReader.readLine()) != null) - error += line + "\n"; - - /**************************/ - - HashMap<String, Object> json = new HashMap<>(); - - //exit value of the ran program - json.put("exit", cmdProc.exitValue()); - json.put("output", output); - json.put("error", error); - json.put("time", elapsed); - - ctx.json(json); - - file.delete(); + compilation cpl = new compilation(); + ctx.json(cpl.execute_kata(new JSONObject(ctx.body()))); }); } } diff --git a/tests/serveur_compilation/server_compilation/src/main/java/compilation.java b/tests/serveur_compilation/server_compilation/src/main/java/compilation.java new file mode 100644 index 0000000..c16e7ca --- /dev/null +++ b/tests/serveur_compilation/server_compilation/src/main/java/compilation.java @@ -0,0 +1,81 @@ +import org.json.JSONObject; + +import java.io.*; +import java.util.HashMap; + +public class compilation { + public HashMap<String, Object> execute_kata(JSONObject input) { + + + String filename = "", cmd = "", line, output = "", error = ""; + + switch (input.get("language").toString()) { + case "python": + filename = "sample.py"; + cmd = "python " + filename; + break; + case "java": + filename = "app.java"; + cmd = "java " + filename; + break; + } + + try (PrintWriter writer = new PrintWriter(filename, "UTF-8")) { + writer.println(input.get("stream")); + } catch (FileNotFoundException e) { + e.printStackTrace(); + } catch (UnsupportedEncodingException e) { + e.printStackTrace(); + } + + + long start,elapsed = 0; + Process cmdProc = null; + + try { + start = System.currentTimeMillis(); + cmdProc = Runtime.getRuntime().exec(cmd); + cmdProc.waitFor(); + + // Compute the execute time + elapsed = System.currentTimeMillis() - start; + } catch (IOException e) { + e.printStackTrace(); + } catch (InterruptedException e) { + e.printStackTrace(); + } + + // Create Array lists that will contain output and error values of the executed program + /**************************/ + + try (BufferedReader stdoutReader = new BufferedReader(new InputStreamReader(cmdProc.getInputStream()))) { + while ((line = stdoutReader.readLine()) != null) + output += line + "\n"; + } catch (IOException e) { + e.printStackTrace(); + } + + try (BufferedReader stderrReader = new BufferedReader(new InputStreamReader(cmdProc.getErrorStream()))) { + while ((line = stderrReader.readLine()) != null) + error += line + "\n"; + } catch (IOException e) { + e.printStackTrace(); + } + + /**************************/ + + HashMap<String, Object> json = new HashMap<>(); + + //exit value of the ran program + json.put("exit", cmdProc.exitValue()); + json.put("output", output); + json.put("error", error); + json.put("time", elapsed); + + // For delete purpose, create a File object also targeting sample.py + File file = new File(filename); + file.delete(); + + return json; + } +} diff --git a/tests/serveur_compilation/server_compilation/target/classes/app.class b/tests/serveur_compilation/server_compilation/target/classes/app.class index 13ac41ac2ff2bb50fa991e923c14965d0632abde..1bb05bb1f1ab76afd2e609b14706fe1f02fa8b93 100644 GIT binary patch delta 752 zcmew>*T5Ta>ff$?3=9k=46$4c0t^~l44MpDAVM2N=x{LT3NbJ+7=bv(><lJc3>*v^ z><p${3}y`GTnt<c79bHz5Z8*GL57{ddg8D5^~}iyIgAXvKFRsH1(`XCC7Jno){G2X zt`*6t1t3l_JA(})16Oc<X;E^jTV_rwBLhcbL4jUYVp$>&gCK(tJA*9`gB^oC4}$}U zaAa^|WMI^1WDs!5&o3!1DM~ExO)bgDPbubSV{jH=kmqM(aN%KaWpLwRaA)xFV`Sh) zvYL@WIKL=eKdU%DPv0xp-_JiOD>b=<oxzib!HdBgWS<WYgD-<04}(8L03(9{$QAlI ziFxVz5S5cRvu1L$7MCOzl`t}hYj{qc$R^6g#Sq94#KpkR5IotAElXG^GhZL1FDElk z-#I_8B(<Vs@-j9HN1oJ*)a25V)cEYgl0-%ZEe#(mPO;YX0qNB*Ey>K$_ed<x@J%eR zW@KOixp;CPr#3G;LkJH;C_^L<gB*kW<g1*fjM0<1xn8owFfyo4PUI4w%+GBUz|SDS z00PVmjG!Q7U}O+xU|`T^U}RuqU|?X?+RnhZk%57Mi9v*cfq@My$ig7Xz`(!*X0tMg zF^DrTFmN(RFi3(lPoBuFT@O;r$H2_Mz`)MH%fQJX$-oQNBgVkQz`!8IAjKffz`(%E zz{?=RAj`lgzy)$40~6TlNCsB0D%sr(9Ff}@IDNFVcQbHBYHefS-p;_Yje&O?17A48 zNf2v5$%&gmhJgocjW5I=Sq23LMFs{24hB&MB?e^%Mg|oI1_l-eMg~;|W(GB|uhbbL g7#JA17#JDC7@`=$86+9>pnlV5U}i92Fk~<Q08Wd7c>n+a literal 3965 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 diff --git a/tests/serveur_compilation/server_compilation/target/classes/compilation.class b/tests/serveur_compilation/server_compilation/target/classes/compilation.class new file mode 100644 index 0000000000000000000000000000000000000000..c940bcb0b792f79f564b9a8b0ccb5b52e4b1c5a0 GIT binary patch literal 4342 zcmX^0Z`VEs1_l#`OI!@L3^^POxf~36TnwoU`5=A)7eg9DAqPVdh%V+}DB)lzWoIbk zV&DcTEeFvRAfkYSp^}54ik+dFgQ13tL5QK2gP{&Y*Mo=#c7{eS1__2Hc7|py1}TOX zc7|3i1{sDHE`~OSb}ohvhE5RC#l?`$(9O=!!^NNkQq#-DpaP=%*ctjkQWLls)EOpn zF{m+20uhrr7^Z;e29VrTc7|zO4Ei8fO$YI3a52nem<1A<&A|}K!4Sp4Fo%m_F2g)_ zhWT6!mJAC(#6ot4MeGcV85!7YGV?M^>=+rCH8jH*8Cab2Q&Jfj_<b_-QvFJElTwR9 z5|eUL85x9p@{<#D!V-%zL42qnOG!p%F(U)7PjY^4L1s>3NoIbYH6sI0YDH>tX-R5) zc4A2)BZHQPPkvFlepYdQp1xPGzn_0nR%&vIwWd#2Vp*boX-Q^|zDHtlhHqklH6sIC zc~NFbY7rxYC`39lUq7HIGp{5ZENsolz?jO&AP<*w%gjmj%P(=uFU?DFtw>HSfI2}9 zt|BzAxU`@kzo;ZN#WgQEKP59S9a$l3aY<rP2_ple7qXR}{>W++Aco~6=B4X<=9Q!t z6_pl%j6<@IB_}fv97<q6fmH^V6lLb6gMy>DBqhJJBq%j81>`Xah-sPm`c9>3X{kl2 zDG(W`%G9DF2%nLGH8ZcEv;^cXY~jbqz>$`jlbV;9o65+*oSd7&$iS9gS_0O=np#wp zU&P43o|=<bP@I~=$iSYQn-WlzpUlW046z^VMvzEqaj`Wc0}Cj6;F4&O!UD30k%14Q zGc#Ww6ztZF3}UE>qOu?rnlLOODv^z`fe3-Eg$50h2sBODSu-;52A3ozXZt1=fX!lO zSi;V*l$~K2BLin}W_n&?Noi3kBSQeuX^Lojxq|aci;`18USnhsKuXbipg84Wuw$@i zWME)q-~f4{G%-DuhhaIx3Lb`)46Aq;Rx_+&WMC_(EXl~v<6&6KunrWWiDik544lP@ zxdl0?dIgn?4B{Y@^g;UdAwl3&nwbMm6zmYK3Oo$!88$F7a3mHKfURX@U<K(>U}O*m z(fX*_fsuhVG{jBU0_3=jj0|kWB}J);xjYP;7&h}TYyr6!q6=(eNJde9IVkh;Fl=Sm z#>gNGGZ5rsj6B4{upOjd1*QmJHezSk!NahVVHZ2YZXSj`410MP_A%_|VK@K^6Nm#c z^YxLk6eEKi*jTW$uw^Jl1~IS#j6A}~APJN31m%rju!kY}g@@rF!y!;e90n0bco>c{ ztYTzf<l<pC#&C#{K@hAFIYlxuu%uRGmhdnfXIR6|aDs>7B*Q5lhSLmZ7#UbfGILYe z8P0;l&M`9Zfb~MtJ;?O)JPa2YE;2H3BPA0?1_7`#u&*HLnUO&lOU^}62uTMp=YjP? zGbJMfb9!nCBZHa-Qa*twhn1aR<q)f^85uZA@*&cU3?drP(iN-%A_`KGkyxAoDdCwl zG(8y^*is8i6LX3g8AOpSftsip#mK;xSWu9fm%_-Pi>v@@Af_GA^lZ(@ppHd77Jq~> zGO!nb%J-Z+9F7QMWMECs$uCZ2WZ+FqNeM13C@4xT2A63P$acV!w>799;|CiGE=fX) z5|dL=!@RP%BsG_jK`^<rs3<kBBqTF8)i*OI2UM3aYiN3*#70nQ9w;#|GH|7*mcTip zC;<!=1{I^Ast>#GkwXg_#ny}r?B$7>C2pXynlC-I1SwH7GKj<M0OcM;YPV)&fO#BE z0_1UFXqaT?>qD{yI5;?pQWH}^bvh#h$QoBr?EuL;j0~KhOc0isQ<{q6Z&1EW2h~^X zWgt2KG)4w74NqiGKvh^XGBATH9Sf+{;4}wKLr75$6+t!uD#XaZhsZfT`FZJ#48j^- z$O=J%)@TU?mI%Wb8Q4-%b5ct{)u4uE6oVpz4TCKM2rw})f{JYhMg|841_pfwMg~R( z1_oBG?F@_?85kIt7#tZG7}&sqYz$5e3=BMAHY<ZOg9`(wtaoK_V_*VlX4}TV%D~US zz+@}L<SWGFC&XmMD#T>PrY*$0je%tw1FID~lNpC3`!)u))gYT0EI{TT{bz88fq_Aq z!Elul0|SG$B)bs%HU^HF3}Vb?9LpI5B-w>H!F)CrGY(M>kWMd<KClT443c0sFfbSk zary3M;EvqRz$3)Fje$>R8w1}q27bTg3{pY@a2Y`)ncWORkvc-c+ZjZx*d^Jug+#%Q z6a%?Wd^v-p71*WX%NcmAI3+nGIkz!LN^<O94pF_0L3%j@7f9bW23byXPDU&49Sm~j z>^m6bb+<7nSaC~oZ(~pl-@za!#-3`<3DU(Q$+L|?8Keu$Qr*p<7P*^2Jrbl+V>^T9 zb_Ojgu#9%370WROMW|;aS+_CpNwREX;1hy+$%=LP|63r#bV07<g|c|8_#}BH`9QAZ z-4C}#8QB&+Jhrf5*uqAVE&7q$84N(~7cvBS$Y=+H@iqpNa7i8^Q;-k9EHg<qsF=AJ z=MDx75N9`oWu(q_1}iIGN#1P?*5Q&o8yI*PHZtsCIKm*oaE#$J!#M^ChNTR*816Di zf$8TAG7MiB1sH`Hl)$tsg9@W1V-jN)g9Kv^V<BS+g9M`rV*_I|gA(I>#uJPe7$g`k zF<xi9#UR1h#rTZzC4&+J3pi0<V=!f4VBlilW8h&ZVc=sZXW(b(W)NWLV-RAP$RNzH zltG+fBZCCP9tKH<BMjmUw-{s@?lMR++-Hztc)}pd@SH)K;U$9%!#f5AhK~%23||;j z7=ALSGBPo!F>)|yG72#0F$yziF^V#1GfFY&G0HONFv>INGO92bGg>m3FuE|9GA1#Y zF=jCsGd3_-Fg7!oF}5<8Gj=gpG0tbOW?aQ!!+3(hmhl3E72`7od&ZXxwv4YC>=-{V zI5YlaaAV?RaAy)`@L-Z<@MO|r@L@7x@MW@M@CRqoPYe<a8yPei+!;I=*ct9Kurhcu zcrmauyacnn8Q2+qGDtD_F!(aCGm3)6{1|u`<-sg}1|CL722F+lhCl`uMoR{Fh9HJu z1|G%+24<*OD_9*!$8xy3`3&w1Az*dS;Obt()PV{GXo11NWXllB5XQjBz|3UD5Y7<D zz{J4DWX=%55XivHz{O<D5Xlh8z{<eKq|Xq=5XivB@R8AnA)3LLfs^42qbEZQLo5R~ z<4*<`hB$_J1|B9822O?qhC~Klh9pSg1eHr>;9*E%U|>>YQ25Va!@$YTV8hOk%Fd9+ z&XC3cq1YMH7#SG&d88zNGKl?WkYnJ$sz``|k)1)}KLaNYLxk8FB*02IeljpQu`@_{ zvNOoA{bx{N;KpJe0|N^?Lpn&kk|#TZ3fmtB5q1W({|p)oJjklyE`+FOXHa8c_|L$O zstD>2gc6uTd6A7mR|R+Oe+DL0C!$#jvJp)MidkS!41EtUWPt0FOa?}VEHEn@0P|E5 AFaQ7m literal 0 HcmV?d00001 diff --git a/tests/serveur_compilation/server_rest/src/main/java/app.java b/tests/serveur_compilation/server_rest/src/main/java/app.java index 83b57af..14dee56 100644 --- a/tests/serveur_compilation/server_rest/src/main/java/app.java +++ b/tests/serveur_compilation/server_rest/src/main/java/app.java @@ -7,7 +7,7 @@ import org.apache.commons.lang.StringEscapeUtils; public class app { - public static void main(String[] args) { + public static void main(String[] args) { Javalin app = Javalin.create().enableCorsForAllOrigins().start(7000); @@ -26,7 +26,7 @@ public class app { String code = StringEscapeUtils.escapeJava(ctx.queryParams("code").get(0)); wr.writeBytes("{\"language\":\""+type+"\",\"stream\":\""+code+"\"}"); - //wr.writeBytes("{\"language\":\"python\",\"stream\":\"def avg(marks):\\n assert len(marks) != 0\\n return sum(marks)/len(marks)\\nmark1 = []\\nprint('Average of mark1:',avg(mark1))\"}"); + wr.close(); BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream())); -- GitLab