From e85c92deb06573afe76642bf5b3f68866b9a0382 Mon Sep 17 00:00:00 2001 From: liuxingbaoyu <30521560+liuxingbaoyu@users.noreply.github.com> Date: Wed, 27 Jul 2022 04:21:56 +0800 Subject: [PATCH 1/2] chore: Improve test-cov --- CONTRIBUTING.md | 3 +-- Makefile | 11 ++++++----- Makefile.source.mjs | 13 +++++++++++++ jest.config.js | 2 +- scripts/test-cov.sh | 11 ----------- scripts/test.sh | 2 +- 6 files changed, 22 insertions(+), 20 deletions(-) delete mode 100755 scripts/test-cov.sh diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 499b75591580..56d6d8b892cc 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -210,8 +210,7 @@ $ OVERWRITE=true TEST_ONLY=babel-plugin-transform-classes make test-only To test the code coverage, use: ```sh -$ BABEL_ENV=cov make build -$ ./scripts/test-cov.sh +make test-cov ``` #### Troubleshooting Tests diff --git a/Makefile b/Makefile index c145efc5211a..819a88eb0bbd 100644 --- a/Makefile +++ b/Makefile @@ -81,6 +81,9 @@ fix-json: clean: $(MAKEJS) clean +test-cov: + $(MAKEJS) test-cov + test: lint test-only clone-license: @@ -137,14 +140,12 @@ update-env-corejs-fixture: OVERWRITE=true $(YARN) jest packages/babel-preset-env test-ci: build-standalone-ci - BABEL_ENV=test $(YARN) jest --maxWorkers=4 --ci + BABEL_ENV=test $(YARN) jest --maxWorkers=100% --ci $(MAKE) test-clean -# Does not work on Windows -test-ci-coverage: SHELL:=/bin/bash test-ci-coverage: - BABEL_COVERAGE=true BABEL_ENV=test $(MAKE) bootstrap - BABEL_ENV=test TEST_TYPE=cov ./scripts/test-cov.sh + BABEL_ENV=test BABEL_COVERAGE=true $(MAKE) bootstrap + BABEL_ENV=test BABEL_COVERAGE=true $(YARN) jest --maxWorkers=100% --ci bootstrap-flow: rm -rf build/flow diff --git a/Makefile.source.mjs b/Makefile.source.mjs index d91f320785f6..accda78978d1 100644 --- a/Makefile.source.mjs +++ b/Makefile.source.mjs @@ -377,6 +377,19 @@ target["test-only"] = function (args = []) { yarn(["jest", ...args]); }; +target["test-cov"] = function () { + env( + () => { + target["build"](); + yarn(["jest", "--coverage"]); + }, + { + BABEL_ENV: "test", + BABEL_COVERAGE: "true", + } + ); +}; + /** * PUBLISH */ diff --git a/jest.config.js b/jest.config.js index 5782261dd3ea..5f5a7873354b 100644 --- a/jest.config.js +++ b/jest.config.js @@ -37,7 +37,7 @@ module.exports = { // in production builds. They are marked using the .skip-bundled.js extension. ...(isPublishBundle ? ["\\.skip-bundled\\.js$"] : []), // Ignore @babel/standalone test in coverage testing because it is not built - ...(process.env.TEST_TYPE === "cov" + ...(process.env.BABEL_COVERAGE === "true" ? ["/packages/babel-standalone/"] : []), ], diff --git a/scripts/test-cov.sh b/scripts/test-cov.sh deleted file mode 100755 index a68765eaeb47..000000000000 --- a/scripts/test-cov.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/bash -set -e - -node="yarn node" -jestArgs="--coverage" - -if [ -n "$CI" ]; then - jestArgs="${jestArgs} --maxWorkers=4 --ci" -fi - -$node "$(yarn bin jest)" $jestArgs diff --git a/scripts/test.sh b/scripts/test.sh index 6de38157cb41..3c318c1c52e6 100755 --- a/scripts/test.sh +++ b/scripts/test.sh @@ -10,7 +10,7 @@ if [ "$TEST_DEBUG" ]; then fi if [ -n "$CI" ]; then - jestArgs+=("--maxWorkers=4") + jestArgs+=("--maxWorkers=100%") jestArgs+=("--ci") fi From f75de4044d8b5b236a9efba3594caaa06943c706 Mon Sep 17 00:00:00 2001 From: liuxingbaoyu <30521560+liuxingbaoyu@users.noreply.github.com> Date: Wed, 27 Jul 2022 11:08:30 +0800 Subject: [PATCH 2/2] rebase --- Makefile.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile.js b/Makefile.js index 9afde19e5fcc..598fa6b2eb10 100644 --- a/Makefile.js +++ b/Makefile.js @@ -1,3 +1,3 @@ /* eslint-disable */ // prettier-ignore -"use strict";var e=require("os"),t=require("fs"),r=require("path"),n=require("events"),i=require("assert"),o=require("util"),s=require("child_process");function c(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var a=c(e),u=c(t),l=c(r),f=c(n),p=c(i),h=c(o),d=c(s),v="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},y=function(e){return e&&e.Math==Math&&e},g=y("object"==typeof globalThis&&globalThis)||y("object"==typeof window&&window)||y("object"==typeof self&&self)||y("object"==typeof v&&v)||function(){return this}()||Function("return this")(),m={},b=function(e){try{return!!e()}catch(e){return!0}},w=!b((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]})),E=!b((function(){var e=function(){}.bind();return"function"!=typeof e||e.hasOwnProperty("prototype")})),S=E,x=Function.prototype.call,k=S?x.bind(x):function(){return x.apply(x,arguments)},O={},j={}.propertyIsEnumerable,_=Object.getOwnPropertyDescriptor,A=_&&!j.call({1:2},1);O.f=A?function(e){var t=_(this,e);return!!t&&t.enumerable}:j;var R,I,F=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}},L=E,P=Function.prototype,T=P.bind,D=P.call,C=L&&T.bind(D,D),N=L?function(e){return e&&C(e)}:function(e){return e&&function(){return D.apply(e,arguments)}},M=N,G=M({}.toString),$=M("".slice),B=function(e){return $(G(e),8,-1)},U=b,W=B,q=Object,z=N("".split),X=U((function(){return!q("z").propertyIsEnumerable(0)}))?function(e){return"String"==W(e)?z(e,""):q(e)}:q,Y=TypeError,K=function(e){if(null==e)throw Y("Can't call method on "+e);return e},H=X,V=K,Q=function(e){return H(V(e))},J=function(e){return"function"==typeof e},Z=J,ee=function(e){return"object"==typeof e?null!==e:Z(e)},te=g,re=J,ne=function(e){return re(e)?e:void 0},ie=function(e,t){return arguments.length<2?ne(te[e]):te[e]&&te[e][t]},oe=N({}.isPrototypeOf),se=ie("navigator","userAgent")||"",ce=g,ae=se,ue=ce.process,le=ce.Deno,fe=ue&&ue.versions||le&&le.version,pe=fe&&fe.v8;pe&&(I=(R=pe.split("."))[0]>0&&R[0]<4?1:+(R[0]+R[1])),!I&&ae&&(!(R=ae.match(/Edge\/(\d+)/))||R[1]>=74)&&(R=ae.match(/Chrome\/(\d+)/))&&(I=+R[1]);var he=I,de=he,ve=b,ye=!!Object.getOwnPropertySymbols&&!ve((function(){var e=Symbol();return!String(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&de&&de<41})),ge=ye&&!Symbol.sham&&"symbol"==typeof Symbol.iterator,me=ie,be=J,we=oe,Ee=Object,Se=ge?function(e){return"symbol"==typeof e}:function(e){var t=me("Symbol");return be(t)&&we(t.prototype,Ee(e))},xe=String,ke=function(e){try{return xe(e)}catch(e){return"Object"}},Oe=J,je=ke,_e=TypeError,Ae=function(e){if(Oe(e))return e;throw _e(je(e)+" is not a function")},Re=Ae,Ie=function(e,t){var r=e[t];return null==r?void 0:Re(r)},Fe=k,Le=J,Pe=ee,Te=TypeError,De={exports:{}},Ce=g,Ne=Object.defineProperty,Me=function(e,t){try{Ne(Ce,e,{value:t,configurable:!0,writable:!0})}catch(r){Ce[e]=t}return t},Ge=Me,$e=g["__core-js_shared__"]||Ge("__core-js_shared__",{}),Be=$e;(De.exports=function(e,t){return Be[e]||(Be[e]=void 0!==t?t:{})})("versions",[]).push({version:"3.23.4",mode:"global",copyright:"© 2014-2022 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.23.4/LICENSE",source:"https://github.com/zloirock/core-js"});var Ue=K,We=Object,qe=function(e){return We(Ue(e))},ze=qe,Xe=N({}.hasOwnProperty),Ye=Object.hasOwn||function(e,t){return Xe(ze(e),t)},Ke=N,He=0,Ve=Math.random(),Qe=Ke(1..toString),Je=function(e){return"Symbol("+(void 0===e?"":e)+")_"+Qe(++He+Ve,36)},Ze=g,et=De.exports,tt=Ye,rt=Je,nt=ye,it=ge,ot=et("wks"),st=Ze.Symbol,ct=st&&st.for,at=it?st:st&&st.withoutSetter||rt,ut=function(e){if(!tt(ot,e)||!nt&&"string"!=typeof ot[e]){var t="Symbol."+e;nt&&tt(st,e)?ot[e]=st[e]:ot[e]=it&&ct?ct(t):at(t)}return ot[e]},lt=k,ft=ee,pt=Se,ht=Ie,dt=function(e,t){var r,n;if("string"===t&&Le(r=e.toString)&&!Pe(n=Fe(r,e)))return n;if(Le(r=e.valueOf)&&!Pe(n=Fe(r,e)))return n;if("string"!==t&&Le(r=e.toString)&&!Pe(n=Fe(r,e)))return n;throw Te("Can't convert object to primitive value")},vt=TypeError,yt=ut("toPrimitive"),gt=function(e,t){if(!ft(e)||pt(e))return e;var r,n=ht(e,yt);if(n){if(void 0===t&&(t="default"),r=lt(n,e,t),!ft(r)||pt(r))return r;throw vt("Can't convert object to primitive value")}return void 0===t&&(t="number"),dt(e,t)},mt=Se,bt=function(e){var t=gt(e,"string");return mt(t)?t:t+""},wt=ee,Et=g.document,St=wt(Et)&&wt(Et.createElement),xt=function(e){return St?Et.createElement(e):{}},kt=xt,Ot=!w&&!b((function(){return 7!=Object.defineProperty(kt("div"),"a",{get:function(){return 7}}).a})),jt=w,_t=k,At=O,Rt=F,It=Q,Ft=bt,Lt=Ye,Pt=Ot,Tt=Object.getOwnPropertyDescriptor;m.f=jt?Tt:function(e,t){if(e=It(e),t=Ft(t),Pt)try{return Tt(e,t)}catch(e){}if(Lt(e,t))return Rt(!_t(At.f,e,t),e[t])};var Dt={},Ct=w&&b((function(){return 42!=Object.defineProperty((function(){}),"prototype",{value:42,writable:!1}).prototype})),Nt=ee,Mt=String,Gt=TypeError,$t=function(e){if(Nt(e))return e;throw Gt(Mt(e)+" is not an object")},Bt=w,Ut=Ot,Wt=Ct,qt=$t,zt=bt,Xt=TypeError,Yt=Object.defineProperty,Kt=Object.getOwnPropertyDescriptor;Dt.f=Bt?Wt?function(e,t,r){if(qt(e),t=zt(t),qt(r),"function"==typeof e&&"prototype"===t&&"value"in r&&"writable"in r&&!r.writable){var n=Kt(e,t);n&&n.writable&&(e[t]=r.value,r={configurable:"configurable"in r?r.configurable:n.configurable,enumerable:"enumerable"in r?r.enumerable:n.enumerable,writable:!1})}return Yt(e,t,r)}:Yt:function(e,t,r){if(qt(e),t=zt(t),qt(r),Ut)try{return Yt(e,t,r)}catch(e){}if("get"in r||"set"in r)throw Xt("Accessors not supported");return"value"in r&&(e[t]=r.value),e};var Ht=Dt,Vt=F,Qt=w?function(e,t,r){return Ht.f(e,t,Vt(1,r))}:function(e,t,r){return e[t]=r,e},Jt={exports:{}},Zt=w,er=Ye,tr=Function.prototype,rr=Zt&&Object.getOwnPropertyDescriptor,nr=er(tr,"name"),ir={EXISTS:nr,PROPER:nr&&"something"===function(){}.name,CONFIGURABLE:nr&&(!Zt||Zt&&rr(tr,"name").configurable)},or=J,sr=$e,cr=N(Function.toString);or(sr.inspectSource)||(sr.inspectSource=function(e){return cr(e)});var ar,ur,lr,fr=sr.inspectSource,pr=J,hr=fr,dr=g.WeakMap,vr=pr(dr)&&/native code/.test(hr(dr)),yr=De.exports,gr=Je,mr=yr("keys"),br=function(e){return mr[e]||(mr[e]=gr(e))},wr={},Er=vr,Sr=g,xr=N,kr=ee,Or=Qt,jr=Ye,_r=$e,Ar=br,Rr=wr,Ir=Sr.TypeError,Fr=Sr.WeakMap;if(Er||_r.state){var Lr=_r.state||(_r.state=new Fr),Pr=xr(Lr.get),Tr=xr(Lr.has),Dr=xr(Lr.set);ar=function(e,t){if(Tr(Lr,e))throw new Ir("Object already initialized");return t.facade=e,Dr(Lr,e,t),t},ur=function(e){return Pr(Lr,e)||{}},lr=function(e){return Tr(Lr,e)}}else{var Cr=Ar("state");Rr[Cr]=!0,ar=function(e,t){if(jr(e,Cr))throw new Ir("Object already initialized");return t.facade=e,Or(e,Cr,t),t},ur=function(e){return jr(e,Cr)?e[Cr]:{}},lr=function(e){return jr(e,Cr)}}var Nr={set:ar,get:ur,has:lr,enforce:function(e){return lr(e)?ur(e):ar(e,{})},getterFor:function(e){return function(t){var r;if(!kr(t)||(r=ur(t)).type!==e)throw Ir("Incompatible receiver, "+e+" required");return r}}},Mr=b,Gr=J,$r=Ye,Br=w,Ur=ir.CONFIGURABLE,Wr=fr,qr=Nr.enforce,zr=Nr.get,Xr=Object.defineProperty,Yr=Br&&!Mr((function(){return 8!==Xr((function(){}),"length",{value:8}).length})),Kr=String(String).split("String"),Hr=Jt.exports=function(e,t,r){"Symbol("===String(t).slice(0,7)&&(t="["+String(t).replace(/^Symbol\(([^)]*)\)/,"$1")+"]"),r&&r.getter&&(t="get "+t),r&&r.setter&&(t="set "+t),(!$r(e,"name")||Ur&&e.name!==t)&&(Br?Xr(e,"name",{value:t,configurable:!0}):e.name=t),Yr&&r&&$r(r,"arity")&&e.length!==r.arity&&Xr(e,"length",{value:r.arity});try{r&&$r(r,"constructor")&&r.constructor?Br&&Xr(e,"prototype",{writable:!1}):e.prototype&&(e.prototype=void 0)}catch(e){}var n=qr(e);return $r(n,"source")||(n.source=Kr.join("string"==typeof t?t:"")),e};Function.prototype.toString=Hr((function(){return Gr(this)&&zr(this).source||Wr(this)}),"toString");var Vr=J,Qr=Dt,Jr=Jt.exports,Zr=Me,en=function(e,t,r,n){n||(n={});var i=n.enumerable,o=void 0!==n.name?n.name:t;if(Vr(r)&&Jr(r,o,n),n.global)i?e[t]=r:Zr(t,r);else{try{n.unsafe?e[t]&&(i=!0):delete e[t]}catch(e){}i?e[t]=r:Qr.f(e,t,{value:r,enumerable:!1,configurable:!n.nonConfigurable,writable:!n.nonWritable})}return e},tn={},rn=Math.ceil,nn=Math.floor,on=Math.trunc||function(e){var t=+e;return(t>0?nn:rn)(t)},sn=function(e){var t=+e;return t!=t||0===t?0:on(t)},cn=sn,an=Math.max,un=Math.min,ln=function(e,t){var r=cn(e);return r<0?an(r+t,0):un(r,t)},fn=sn,pn=Math.min,hn=function(e){return e>0?pn(fn(e),9007199254740991):0},dn=hn,vn=function(e){return dn(e.length)},yn=Q,gn=ln,mn=vn,bn=function(e){return function(t,r,n){var i,o=yn(t),s=mn(o),c=gn(n,s);if(e&&r!=r){for(;s>c;)if((i=o[c++])!=i)return!0}else for(;s>c;c++)if((e||c in o)&&o[c]===r)return e||c||0;return!e&&-1}},wn={includes:bn(!0),indexOf:bn(!1)},En=Ye,Sn=Q,xn=wn.indexOf,kn=wr,On=N([].push),jn=function(e,t){var r,n=Sn(e),i=0,o=[];for(r in n)!En(kn,r)&&En(n,r)&&On(o,r);for(;t.length>i;)En(n,r=t[i++])&&(~xn(o,r)||On(o,r));return o},_n=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],An=jn,Rn=_n.concat("length","prototype");tn.f=Object.getOwnPropertyNames||function(e){return An(e,Rn)};var In={};In.f=Object.getOwnPropertySymbols;var Fn=ie,Ln=tn,Pn=In,Tn=$t,Dn=N([].concat),Cn=Fn("Reflect","ownKeys")||function(e){var t=Ln.f(Tn(e)),r=Pn.f;return r?Dn(t,r(e)):t},Nn=Ye,Mn=Cn,Gn=m,$n=Dt,Bn=function(e,t,r){for(var n=Mn(t),i=$n.f,o=Gn.f,s=0;ss;)gi.f(e,r=i[s++],n[r]);return e};var Ei,Si=ie("document","documentElement"),xi=$t,ki=fi,Oi=_n,ji=wr,_i=Si,Ai=xt,Ri=br("IE_PROTO"),Ii=function(){},Fi=function(e){return"