Skip to content

Commit

Permalink
test(dev-sever): add e2e test cases part 3 (#7833)
Browse files Browse the repository at this point in the history
  • Loading branch information
LingyuCoder authored Sep 12, 2024
1 parent fa38b86 commit 8bfd639
Show file tree
Hide file tree
Showing 73 changed files with 11,353 additions and 33 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -223,6 +223,8 @@ tests/plugin-test/css-extract/js

tests/plugin-test/html-plugin/js

!packages/rspack-dev-server/tests/fixtures/**/node_modules

/webpack-examples/**/dist

smoke-example
Expand Down
20 changes: 11 additions & 9 deletions packages/rspack-dev-server/jest.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,15 +13,17 @@ const config = {
testPathIgnorePatterns: isWin
? []
: [
// TODO: check why http proxy server throw error with websocket server
"<rootDir>/tests/e2e/allowed-hosts.test.js",
// TODO: check why this test timeout
"<rootDir>/tests/e2e/host.test.js",
// TODO: not support progress plugin event yet
"<rootDir>/tests/e2e/progress.test.js",
// TODO: check why this test throw error when run with other tests
"<rootDir>/tests/e2e/watch-files.test.js"
],
// TODO: check why http proxy server throw error with websocket server
"<rootDir>/tests/e2e/allowed-hosts.test.js",
// TODO: check why this test timeout
"<rootDir>/tests/e2e/host.test.js",
// TODO: not support progress plugin event yet
"<rootDir>/tests/e2e/progress.test.js",
// TODO: check why this test throw error when run with other tests
"<rootDir>/tests/e2e/watch-files.test.js",
// TODO: check why this test timeout
"<rootDir>/tests/e2e/web-socket-server-url.test.js"
],
cache: false,
testTimeout: process.env.CI ? 120000 : 30000,
transform: {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP

exports[`port should work using "<not-specified>" port : console messages 1`] = `
[
"[webpack-dev-server] Server started: Hot Module Replacement enabled, Live Reloading enabled, Progress disabled, Overlay enabled.",
"[HMR] Waiting for update signal from WDS...",
"Hey.",
]
`;

exports[`port should work using "<not-specified>" port : page errors 1`] = `[]`;

exports[`port should work using "0" port : console messages 1`] = `
[
"[webpack-dev-server] Server started: Hot Module Replacement enabled, Live Reloading enabled, Progress disabled, Overlay enabled.",
"[HMR] Waiting for update signal from WDS...",
"Hey.",
]
`;

exports[`port should work using "0" port : page errors 1`] = `[]`;

exports[`port should work using "8161" port : console messages 1`] = `
[
"[webpack-dev-server] Server started: Hot Module Replacement enabled, Live Reloading enabled, Progress disabled, Overlay enabled.",
"[HMR] Waiting for update signal from WDS...",
"Hey.",
]
`;

exports[`port should work using "8161" port : console messages 2`] = `
[
"[webpack-dev-server] Server started: Hot Module Replacement enabled, Live Reloading enabled, Progress disabled, Overlay enabled.",
"[HMR] Waiting for update signal from WDS...",
"Hey.",
]
`;

exports[`port should work using "8161" port : page errors 1`] = `[]`;

exports[`port should work using "8161" port : page errors 2`] = `[]`;

exports[`port should work using "auto" port : console messages 1`] = `
[
"[webpack-dev-server] Server started: Hot Module Replacement enabled, Live Reloading enabled, Progress disabled, Overlay enabled.",
"[HMR] Waiting for update signal from WDS...",
"Hey.",
]
`;

exports[`port should work using "auto" port : page errors 1`] = `[]`;

exports[`port should work using "undefined" port : console messages 1`] = `
[
"[webpack-dev-server] Server started: Hot Module Replacement enabled, Live Reloading enabled, Progress disabled, Overlay enabled.",
"[HMR] Waiting for update signal from WDS...",
"Hey.",
]
`;

exports[`port should work using "undefined" port : page errors 1`] = `[]`;
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP

exports[`server and client transport should throw an error on invalid path to client transport 1`] = `"client.webSocketTransport must be a string denoting a default implementation (e.g. 'sockjs', 'ws') or a full path to a JS file via require.resolve(...) which exports a class "`;

exports[`server and client transport should throw an error on invalid path to server transport 1`] = `"webSocketServer (webSocketServer.type) must be a string denoting a default implementation (e.g. 'ws', 'sockjs'), a full path to a JS file which exports a class extending BaseServer (webpack-dev-server/lib/servers/BaseServer.js) via require.resolve(...), or the class itself which extends BaseServer"`;

exports[`server and client transport should throw an error on wrong path 1`] = `"webSocketServer (webSocketServer.type) must be a string denoting a default implementation (e.g. 'ws', 'sockjs'), a full path to a JS file which exports a class extending BaseServer (webpack-dev-server/lib/servers/BaseServer.js) via require.resolve(...), or the class itself which extends BaseServer"`;

exports[`server and client transport should use "sockjs" transport and "sockjs" web socket server 1`] = `
[
"[webpack-dev-server] Server started: Hot Module Replacement enabled, Live Reloading enabled, Progress disabled, Overlay enabled.",
"[HMR] Waiting for update signal from WDS...",
]
`;

exports[`server and client transport should use "sockjs" transport, when web socket server is not specify 1`] = `[]`;

exports[`server and client transport should use "sockjs" web socket server when specify "sockjs" value 1`] = `
[
"[webpack-dev-server] Server started: Hot Module Replacement enabled, Live Reloading enabled, Progress disabled, Overlay enabled.",
"[HMR] Waiting for update signal from WDS...",
]
`;

exports[`server and client transport should use "sockjs" web socket server when specify "sockjs" value using object 1`] = `
[
"[webpack-dev-server] Server started: Hot Module Replacement enabled, Live Reloading enabled, Progress disabled, Overlay enabled.",
"[HMR] Waiting for update signal from WDS...",
]
`;

exports[`server and client transport should use "ws" transport and "ws" web socket server 1`] = `
[
"[webpack-dev-server] Server started: Hot Module Replacement enabled, Live Reloading enabled, Progress disabled, Overlay enabled.",
"[HMR] Waiting for update signal from WDS...",
]
`;

exports[`server and client transport should use "ws" transport, when web socket server is not specify 1`] = `
[
"[webpack-dev-server] Server started: Hot Module Replacement enabled, Live Reloading enabled, Progress disabled, Overlay enabled.",
"[HMR] Waiting for update signal from WDS...",
]
`;

exports[`server and client transport should use "ws" web socket server when specify "ws" value 1`] = `
[
"[webpack-dev-server] Server started: Hot Module Replacement enabled, Live Reloading enabled, Progress disabled, Overlay enabled.",
"[HMR] Waiting for update signal from WDS...",
]
`;

exports[`server and client transport should use "ws" web socket server when specify "ws" value using object 1`] = `
[
"[webpack-dev-server] Server started: Hot Module Replacement enabled, Live Reloading enabled, Progress disabled, Overlay enabled.",
"[HMR] Waiting for update signal from WDS...",
]
`;

exports[`server and client transport should use custom transport and "sockjs" web socket server 1`] = `
[
"[webpack-dev-server] Server started: Hot Module Replacement enabled, Live Reloading enabled, Progress disabled, Overlay enabled.",
"[HMR] Waiting for update signal from WDS...",
"open",
"hot",
"liveReload",
"reconnect",
"overlay",
"hash",
"ok",
]
`;

exports[`server and client transport should use custom web socket server when specify class 1`] = `
[
"[webpack-dev-server] Server started: Hot Module Replacement enabled, Live Reloading enabled, Progress disabled, Overlay enabled.",
"[HMR] Waiting for update signal from WDS...",
]
`;

exports[`server and client transport should use custom web socket server when specify class using object 1`] = `
[
"[webpack-dev-server] Server started: Hot Module Replacement enabled, Live Reloading enabled, Progress disabled, Overlay enabled.",
"[HMR] Waiting for update signal from WDS...",
]
`;

exports[`server and client transport should use custom web socket server when specify path to class 1`] = `
[
"[webpack-dev-server] Server started: Hot Module Replacement enabled, Live Reloading enabled, Progress disabled, Overlay enabled.",
"[HMR] Waiting for update signal from WDS...",
]
`;

exports[`server and client transport should use custom web socket server when specify path to class using object 1`] = `
[
"[webpack-dev-server] Server started: Hot Module Replacement enabled, Live Reloading enabled, Progress disabled, Overlay enabled.",
"[HMR] Waiting for update signal from WDS...",
]
`;

exports[`server and client transport should use default web socket server ("ws") 1`] = `
[
"[webpack-dev-server] Server started: Hot Module Replacement enabled, Live Reloading enabled, Progress disabled, Overlay enabled.",
"[HMR] Waiting for update signal from WDS...",
]
`;
Loading

2 comments on commit 8bfd639

@rspack-bot
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📝 Benchmark detail: Open

Name Base (2024-09-12 b1bf153) Current Change
10000_development-mode + exec 2.25 s ± 51 ms 2.22 s ± 22 ms -1.31 %
10000_development-mode_hmr + exec 724 ms ± 4.9 ms 693 ms ± 6.1 ms -4.32 %
10000_production-mode + exec 2.84 s ± 49 ms 2.84 s ± 27 ms +0.06 %
arco-pro_development-mode + exec 1.84 s ± 71 ms 1.87 s ± 61 ms +1.46 %
arco-pro_development-mode_hmr + exec 434 ms ± 1.5 ms 437 ms ± 1.1 ms +0.62 %
arco-pro_production-mode + exec 3.24 s ± 86 ms 3.26 s ± 80 ms +0.70 %
arco-pro_production-mode_generate-package-json-webpack-plugin + exec 3.31 s ± 72 ms 3.34 s ± 37 ms +1.01 %
threejs_development-mode_10x + exec 1.68 s ± 11 ms 1.69 s ± 19 ms +0.21 %
threejs_development-mode_10x_hmr + exec 807 ms ± 15 ms 810 ms ± 6.6 ms +0.34 %
threejs_production-mode_10x + exec 5.14 s ± 42 ms 5.19 s ± 26 ms +0.85 %

@rspack-bot
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📝 Ran ecosystem CI: Open

suite result
modernjs ✅ success
_selftest ✅ success
nx ❌ failure
rspress ✅ success
rslib ❌ failure
rsbuild ❌ failure
examples ✅ success

Please sign in to comment.