From 5f15ab1c379fcd254785a398775fe12ceefdbe60 Mon Sep 17 00:00:00 2001 From: Omar Rizwan Date: Tue, 29 Dec 2020 02:35:03 -0800 Subject: [PATCH] improve test reliability; try clear scriptsForTab (doesn't work yet) --- extension/background.js | 3 +-- test/Makefile | 5 +++++ test/test | Bin 0 -> 49784 bytes test.c => test/test.c | 19 ++++++++++--------- 4 files changed, 16 insertions(+), 11 deletions(-) create mode 100644 test/Makefile create mode 100755 test/test rename test.c => test/test.c (56%) diff --git a/extension/background.js b/extension/background.js index ab15933..4de9b67 100644 --- a/extension/background.js +++ b/extension/background.js @@ -84,14 +84,13 @@ const BrowserState = { scriptsForTab: {} }; chrome.debugger.onEvent.addListener((source, method, params) => { console.log(source, method, params); - if (method === "Page.") { + if (method === "Page.frameStartedLoading") { // we're gonna assume we're always plugged into both Page and Debugger. BrowserState.scriptsForTab[source.tabId] = []; } else if (method === "Debugger.scriptParsed") { BrowserState.scriptsForTab[source.tabId] = BrowserState.scriptsForTab[source.tabId] || []; BrowserState.scriptsForTab[source.tabId].push(params); - // FIXME: clear these out when page changes in tab (how?) } }); })(); diff --git a/test/Makefile b/test/Makefile new file mode 100644 index 0000000..060a265 --- /dev/null +++ b/test/Makefile @@ -0,0 +1,5 @@ +run-test: test + ./test + +test: test.c + cc -o $@ $^ diff --git a/test/test b/test/test new file mode 100755 index 0000000000000000000000000000000000000000..36de26f71716c24619b4a5e568535f684bb25a67 GIT binary patch literal 49784 zcmeI4U2GiH702)93j=kWsEDt&VOWyLMv2$uqiUi$b->$fL>e0sAOb~~*`4d`lGzzE zbH}mOR@&5|?bcYbR6t0)M187&2OcN_3!#`GB`>H^p88M;g9KWOfWliqA?`VIXYAcg zEU5Z`TK%td=iGDV-v2%4cX#*g?mxc%{K|DgWL66yR#D$T{m@z=o)s32gt(1*fx48# zyZ7Xu$Uic~(bkq}b+75M&Od3Qln3*N4z^B-*AKMDMB-B_BJDgwO0C8m- z=+$X1h8p{8%+Ng7h+4BNWvHWKxD;yF8~laQ+nmfu{d7S`qPH#y7(H25?x+eV)~;7h z^!6q5*-uh6k*o46g*vEsN0#(k`Mr_oT~0*UZ*DEx^g_zWJ67==S@A~v*l*Q){g*!5_KsDcOTp>9~|0$z?|-Y(Gg_h)@J$h#+}cKKXXzZ@tclyMZFH1 z8@B$^MD#A+jvP?;GU*fb9I7`5fFx<6-LD(mnY5$KT;* z4*b5k{f*XlHV2aNda@RE-Xj-YRhR~DVgP5D4zop zp;p!22YM;5N|7c}+e)4F=T8})J&Dh}&_DnLKmY_l00ck)1V8`;KmY_l00ck)1V8`; zKmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;{x=9b zTBv_gn7m*W>c6{Gs7DtIQ_-cubpLI1PidC#D>YuFTSpYUNWtsVU_F1K@fVIy_g^7X z&o>$~WG63)uIJ}!A7#4UoGVPeZyi28GL!26^nAR-6zwt{%{PuLPycc;Sy8%Jn7kso zPTWD;lJePjgZqu?WHWm+C$yeM3kuaLH_a{@yCs^w@6!;e8Lq_Z4IFZiBSgVJ%STNN(PSMvzgRk06{rYnKS%=`(&lZlq zf081HPtPoFdGkRb7Pq_=KWF3TJMr_~_<4$+`=);~M`rhd#Vz&KLd@`8Lb32EDV1;H z(Z6_<<lJROQBt?cI1$y)vWAO@`-X zd$QJHp~gpT&kTOnE53lbNp6@8Dw>L*Ojg=Qx zd@onDOGl3ce&jj5Plwj_?U7d|L03831NF2jX_^!E^F`f~7FE0Ai7>ts*q!~aq_Rmq zs#Nx^K)Jr{Si3l}kuX>FbS{WIU8$;E^6H*lIY*7;*{!{$acF8z3%LH5Xtszv$8Cd?GbU-cF~XY&Z293M_W?o zta7D5*;*~J`mPI7EX(=CYOWpX?IV6E3YC+K0=HMwMe(NnuUT7DQ7ejMsir2Kw6s7~ z{V{cQRV{fi%D{J9Yy3}Ero|5Wp1RZAVddXMZq1f{qvE^n_mSn!_td%Zn7(gxe>Ow+ zQR&NW+R`8mz=8k>fB*=900@8p2!H?xfB*=900@8p2!H?xfB*=900@8p2!H?xfB*=9 z00@8p2!H?xfB*=900@8p2!H?xfB*=900@8p2!H?xfB*=900@8p2!H?xfB*=900?}4 z1jgxq0{G7WexKOq68mCePbT)2#D0I7VrLKl0T2KI5C8!X009sH0T2KI5C8!X009sH z0T2KI5C8!X009sH0T2KI5C8!X009sH0T2KI5C8!X009sH0T2KI5C8!X009sH0T2KI z5C8!X009sH0T2KI5cvNku<9Z3`GKRxN6AfF zMvAp!jjWcX8ds%AD_K@Hr?G3K;woA4J=#HsQauydu6TeJ+nyu#RPBl<_N^k7)uI;C zW1b)9bShg5pBm-yAE~eJ5TdVU{_lWSbY(Ws)A%>Xz7X>}jK3-IYl(kv;t%gM? #include +#include #include #include @@ -24,20 +25,20 @@ char* expand(char* phrase) { // expand path with wildcard // integration tests int main() { - assert(system("node extension/background.js --unhandled-rejections=strict") == 0); // run quick local JS tests + assert(system("node ../extension/background.js --unhandled-rejections=strict") == 0); // run quick local JS tests // reload the extension so we know it's the latest code. - system("echo reload > fs/mnt/runtime/reload"); // this may error, but it should still have effect - // FIXME: race here - sleep(4); + system("echo reload > ../fs/mnt/runtime/reload 2>/dev/null"); // this may error, but it should still have effect + // spin until the extension reloads. + struct stat st; while (stat("../fs/mnt/tabs", &st) != 0) {} + + assert(file_contents_equal(expand("../fs/mnt/extensions/TabFS*/enabled"), "true")); // FIXME: synthesize some kind of web page - assert(system("echo about:blank > fs/mnt/tabs/create") == 0); + assert(system("echo about:blank > ../fs/mnt/tabs/create") == 0); // FIXME: race here - assert(file_contents_equal("fs/mnt/tabs/last-focused/url.txt", "about:blank")); - assert(system("echo remove > fs/mnt/tabs/last-focused/control") == 0); - - assert(file_contents_equal(expand("fs/mnt/extensions/TabFS*/enabled"), "true")); + assert(file_contents_equal("../fs/mnt/tabs/last-focused/url.txt", "about:blank")); + assert(system("echo remove > ../fs/mnt/tabs/last-focused/control") == 0); assert(1); printf("Done!\n"); }