@@ -18,7 +18,6 @@ import {
1818import { shouldSpawnCliProcess } from "../../../src/node/main"
1919import { generatePassword , paths } from "../../../src/node/util"
2020import {
21- DEFAULT_SOCKET_PATH ,
2221 EditorSessionManager ,
2322 EditorSessionManagerClient ,
2423 makeEditorSessionManagerServer ,
@@ -37,6 +36,7 @@ const defaults = {
3736 usingEnvHashedPassword : false ,
3837 "extensions-dir" : path . join ( paths . data , "extensions" ) ,
3938 "user-data-dir" : paths . data ,
39+ "session-socket" : path . join ( paths . data , "code-server-ipc.sock" ) ,
4040 _ : [ ] ,
4141}
4242
@@ -103,6 +103,8 @@ describe("parser", () => {
103103
104104 "--disable-getting-started-override" ,
105105
106+ [ "--session-socket" , "/tmp/override-code-server-ipc-socket" ] ,
107+
106108 [ "--host" , "0.0.0.0" ] ,
107109 "4" ,
108110 "--" ,
@@ -136,6 +138,7 @@ describe("parser", () => {
136138 "welcome-text" : "welcome to code" ,
137139 version : true ,
138140 "bind-addr" : "192.169.0.1:8080" ,
141+ "session-socket" : "/tmp/override-code-server-ipc-socket" ,
139142 } )
140143 } )
141144
@@ -504,22 +507,23 @@ describe("cli", () => {
504507 it ( "should use existing if inside code-server" , async ( ) => {
505508 process . env . VSCODE_IPC_HOOK_CLI = "test"
506509 const args : UserProvidedArgs = { }
507- expect ( await shouldOpenInExistingInstance ( args ) ) . toStrictEqual ( "test" )
510+ expect ( await shouldOpenInExistingInstance ( args , "" ) ) . toStrictEqual ( "test" )
508511
509512 args . port = 8081
510513 args . _ = [ "./file" ]
511- expect ( await shouldOpenInExistingInstance ( args ) ) . toStrictEqual ( "test" )
514+ expect ( await shouldOpenInExistingInstance ( args , "" ) ) . toStrictEqual ( "test" )
512515 } )
513516
514517 it ( "should use existing if --reuse-window is set" , async ( ) => {
515- const server = await makeEditorSessionManagerServer ( DEFAULT_SOCKET_PATH , new EditorSessionManager ( ) )
518+ const sessionSocket = path . join ( tmpDirPath , "session-socket" )
519+ const server = await makeEditorSessionManagerServer ( sessionSocket , new EditorSessionManager ( ) )
516520
517521 const args : UserProvidedArgs = { }
518522 args [ "reuse-window" ] = true
519- await expect ( shouldOpenInExistingInstance ( args ) ) . resolves . toStrictEqual ( undefined )
523+ await expect ( shouldOpenInExistingInstance ( args , sessionSocket ) ) . resolves . toStrictEqual ( undefined )
520524
521525 const socketPath = path . join ( tmpDirPath , "socket" )
522- const client = new EditorSessionManagerClient ( DEFAULT_SOCKET_PATH )
526+ const client = new EditorSessionManagerClient ( sessionSocket )
523527 await client . addSession ( {
524528 entry : {
525529 workspace : {
@@ -537,24 +541,25 @@ describe("cli", () => {
537541 } )
538542 const vscodeSockets = listenOn ( socketPath )
539543
540- await expect ( shouldOpenInExistingInstance ( args ) ) . resolves . toStrictEqual ( socketPath )
544+ await expect ( shouldOpenInExistingInstance ( args , sessionSocket ) ) . resolves . toStrictEqual ( socketPath )
541545
542546 args . port = 8081
543- await expect ( shouldOpenInExistingInstance ( args ) ) . resolves . toStrictEqual ( socketPath )
547+ await expect ( shouldOpenInExistingInstance ( args , sessionSocket ) ) . resolves . toStrictEqual ( socketPath )
544548
545549 server . close ( )
546550 vscodeSockets . close ( )
547551 } )
548552
549553 it ( "should use existing if --new-window is set" , async ( ) => {
550- const server = await makeEditorSessionManagerServer ( DEFAULT_SOCKET_PATH , new EditorSessionManager ( ) )
554+ const sessionSocket = path . join ( tmpDirPath , "session-socket" )
555+ const server = await makeEditorSessionManagerServer ( sessionSocket , new EditorSessionManager ( ) )
551556
552557 const args : UserProvidedArgs = { }
553558 args [ "new-window" ] = true
554- await expect ( shouldOpenInExistingInstance ( args ) ) . resolves . toStrictEqual ( undefined )
559+ await expect ( shouldOpenInExistingInstance ( args , sessionSocket ) ) . resolves . toStrictEqual ( undefined )
555560
556561 const socketPath = path . join ( tmpDirPath , "socket" )
557- const client = new EditorSessionManagerClient ( DEFAULT_SOCKET_PATH )
562+ const client = new EditorSessionManagerClient ( sessionSocket )
558563 await client . addSession ( {
559564 entry : {
560565 workspace : {
@@ -572,25 +577,26 @@ describe("cli", () => {
572577 } )
573578 const vscodeSockets = listenOn ( socketPath )
574579
575- expect ( await shouldOpenInExistingInstance ( args ) ) . toStrictEqual ( socketPath )
580+ expect ( await shouldOpenInExistingInstance ( args , sessionSocket ) ) . toStrictEqual ( socketPath )
576581
577582 args . port = 8081
578- expect ( await shouldOpenInExistingInstance ( args ) ) . toStrictEqual ( socketPath )
583+ expect ( await shouldOpenInExistingInstance ( args , sessionSocket ) ) . toStrictEqual ( socketPath )
579584
580585 server . close ( )
581586 vscodeSockets . close ( )
582587 } )
583588
584589 it ( "should use existing if no unrelated flags are set, has positional, and socket is active" , async ( ) => {
585- const server = await makeEditorSessionManagerServer ( DEFAULT_SOCKET_PATH , new EditorSessionManager ( ) )
590+ const sessionSocket = path . join ( tmpDirPath , "session-socket" )
591+ const server = await makeEditorSessionManagerServer ( sessionSocket , new EditorSessionManager ( ) )
586592
587593 const args : UserProvidedArgs = { }
588- expect ( await shouldOpenInExistingInstance ( args ) ) . toStrictEqual ( undefined )
594+ expect ( await shouldOpenInExistingInstance ( args , sessionSocket ) ) . toStrictEqual ( undefined )
589595
590596 args . _ = [ "./file" ]
591- expect ( await shouldOpenInExistingInstance ( args ) ) . toStrictEqual ( undefined )
597+ expect ( await shouldOpenInExistingInstance ( args , sessionSocket ) ) . toStrictEqual ( undefined )
592598
593- const client = new EditorSessionManagerClient ( DEFAULT_SOCKET_PATH )
599+ const client = new EditorSessionManagerClient ( sessionSocket )
594600 const socketPath = path . join ( tmpDirPath , "socket" )
595601 await client . addSession ( {
596602 entry : {
@@ -609,18 +615,19 @@ describe("cli", () => {
609615 } )
610616 const vscodeSockets = listenOn ( socketPath )
611617
612- expect ( await shouldOpenInExistingInstance ( args ) ) . toStrictEqual ( socketPath )
618+ expect ( await shouldOpenInExistingInstance ( args , sessionSocket ) ) . toStrictEqual ( socketPath )
613619
614620 args . port = 8081
615- expect ( await shouldOpenInExistingInstance ( args ) ) . toStrictEqual ( undefined )
621+ expect ( await shouldOpenInExistingInstance ( args , sessionSocket ) ) . toStrictEqual ( undefined )
616622
617623 server . close ( )
618624 vscodeSockets . close ( )
619625 } )
620626
621627 it ( "should prefer matching sessions for only the first path" , async ( ) => {
622- const server = await makeEditorSessionManagerServer ( DEFAULT_SOCKET_PATH , new EditorSessionManager ( ) )
623- const client = new EditorSessionManagerClient ( DEFAULT_SOCKET_PATH )
628+ const sessionSocket = path . join ( tmpDirPath , "session-socket" )
629+ const server = await makeEditorSessionManagerServer ( sessionSocket , new EditorSessionManager ( ) )
630+ const client = new EditorSessionManagerClient ( sessionSocket )
624631 await client . addSession ( {
625632 entry : {
626633 workspace : {
@@ -655,7 +662,7 @@ describe("cli", () => {
655662
656663 const args : UserProvidedArgs = { }
657664 args . _ = [ "/aaa/file" , "/bbb/file" ]
658- expect ( await shouldOpenInExistingInstance ( args ) ) . toStrictEqual ( `${ tmpDirPath } /vscode-ipc-aaa.sock ` )
665+ expect ( await shouldOpenInExistingInstance ( args , sessionSocket ) ) . toStrictEqual ( `${ tmpDirPath } /vscode-ipc-aaa.` )
659666
660667 server . close ( )
661668 } )
0 commit comments