@@ -18,7 +18,6 @@ import {
18
18
import { shouldSpawnCliProcess } from "../../../src/node/main"
19
19
import { generatePassword , paths } from "../../../src/node/util"
20
20
import {
21
- DEFAULT_SOCKET_PATH ,
22
21
EditorSessionManager ,
23
22
EditorSessionManagerClient ,
24
23
makeEditorSessionManagerServer ,
@@ -37,6 +36,7 @@ const defaults = {
37
36
usingEnvHashedPassword : false ,
38
37
"extensions-dir" : path . join ( paths . data , "extensions" ) ,
39
38
"user-data-dir" : paths . data ,
39
+ "session-socket" : path . join ( paths . data , "code-server-ipc.sock" ) ,
40
40
_ : [ ] ,
41
41
}
42
42
@@ -103,6 +103,8 @@ describe("parser", () => {
103
103
104
104
"--disable-getting-started-override" ,
105
105
106
+ [ "--session-socket" , "/tmp/override-code-server-ipc-socket" ] ,
107
+
106
108
[ "--host" , "0.0.0.0" ] ,
107
109
"4" ,
108
110
"--" ,
@@ -136,6 +138,7 @@ describe("parser", () => {
136
138
"welcome-text" : "welcome to code" ,
137
139
version : true ,
138
140
"bind-addr" : "192.169.0.1:8080" ,
141
+ "session-socket" : "/tmp/override-code-server-ipc-socket" ,
139
142
} )
140
143
} )
141
144
@@ -504,22 +507,23 @@ describe("cli", () => {
504
507
it ( "should use existing if inside code-server" , async ( ) => {
505
508
process . env . VSCODE_IPC_HOOK_CLI = "test"
506
509
const args : UserProvidedArgs = { }
507
- expect ( await shouldOpenInExistingInstance ( args ) ) . toStrictEqual ( "test" )
510
+ expect ( await shouldOpenInExistingInstance ( args , "" ) ) . toStrictEqual ( "test" )
508
511
509
512
args . port = 8081
510
513
args . _ = [ "./file" ]
511
- expect ( await shouldOpenInExistingInstance ( args ) ) . toStrictEqual ( "test" )
514
+ expect ( await shouldOpenInExistingInstance ( args , "" ) ) . toStrictEqual ( "test" )
512
515
} )
513
516
514
517
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 ( ) )
516
520
517
521
const args : UserProvidedArgs = { }
518
522
args [ "reuse-window" ] = true
519
- await expect ( shouldOpenInExistingInstance ( args ) ) . resolves . toStrictEqual ( undefined )
523
+ await expect ( shouldOpenInExistingInstance ( args , sessionSocket ) ) . resolves . toStrictEqual ( undefined )
520
524
521
525
const socketPath = path . join ( tmpDirPath , "socket" )
522
- const client = new EditorSessionManagerClient ( DEFAULT_SOCKET_PATH )
526
+ const client = new EditorSessionManagerClient ( sessionSocket )
523
527
await client . addSession ( {
524
528
entry : {
525
529
workspace : {
@@ -537,24 +541,25 @@ describe("cli", () => {
537
541
} )
538
542
const vscodeSockets = listenOn ( socketPath )
539
543
540
- await expect ( shouldOpenInExistingInstance ( args ) ) . resolves . toStrictEqual ( socketPath )
544
+ await expect ( shouldOpenInExistingInstance ( args , sessionSocket ) ) . resolves . toStrictEqual ( socketPath )
541
545
542
546
args . port = 8081
543
- await expect ( shouldOpenInExistingInstance ( args ) ) . resolves . toStrictEqual ( socketPath )
547
+ await expect ( shouldOpenInExistingInstance ( args , sessionSocket ) ) . resolves . toStrictEqual ( socketPath )
544
548
545
549
server . close ( )
546
550
vscodeSockets . close ( )
547
551
} )
548
552
549
553
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 ( ) )
551
556
552
557
const args : UserProvidedArgs = { }
553
558
args [ "new-window" ] = true
554
- await expect ( shouldOpenInExistingInstance ( args ) ) . resolves . toStrictEqual ( undefined )
559
+ await expect ( shouldOpenInExistingInstance ( args , sessionSocket ) ) . resolves . toStrictEqual ( undefined )
555
560
556
561
const socketPath = path . join ( tmpDirPath , "socket" )
557
- const client = new EditorSessionManagerClient ( DEFAULT_SOCKET_PATH )
562
+ const client = new EditorSessionManagerClient ( sessionSocket )
558
563
await client . addSession ( {
559
564
entry : {
560
565
workspace : {
@@ -572,25 +577,26 @@ describe("cli", () => {
572
577
} )
573
578
const vscodeSockets = listenOn ( socketPath )
574
579
575
- expect ( await shouldOpenInExistingInstance ( args ) ) . toStrictEqual ( socketPath )
580
+ expect ( await shouldOpenInExistingInstance ( args , sessionSocket ) ) . toStrictEqual ( socketPath )
576
581
577
582
args . port = 8081
578
- expect ( await shouldOpenInExistingInstance ( args ) ) . toStrictEqual ( socketPath )
583
+ expect ( await shouldOpenInExistingInstance ( args , sessionSocket ) ) . toStrictEqual ( socketPath )
579
584
580
585
server . close ( )
581
586
vscodeSockets . close ( )
582
587
} )
583
588
584
589
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 ( ) )
586
592
587
593
const args : UserProvidedArgs = { }
588
- expect ( await shouldOpenInExistingInstance ( args ) ) . toStrictEqual ( undefined )
594
+ expect ( await shouldOpenInExistingInstance ( args , sessionSocket ) ) . toStrictEqual ( undefined )
589
595
590
596
args . _ = [ "./file" ]
591
- expect ( await shouldOpenInExistingInstance ( args ) ) . toStrictEqual ( undefined )
597
+ expect ( await shouldOpenInExistingInstance ( args , sessionSocket ) ) . toStrictEqual ( undefined )
592
598
593
- const client = new EditorSessionManagerClient ( DEFAULT_SOCKET_PATH )
599
+ const client = new EditorSessionManagerClient ( sessionSocket )
594
600
const socketPath = path . join ( tmpDirPath , "socket" )
595
601
await client . addSession ( {
596
602
entry : {
@@ -609,18 +615,19 @@ describe("cli", () => {
609
615
} )
610
616
const vscodeSockets = listenOn ( socketPath )
611
617
612
- expect ( await shouldOpenInExistingInstance ( args ) ) . toStrictEqual ( socketPath )
618
+ expect ( await shouldOpenInExistingInstance ( args , sessionSocket ) ) . toStrictEqual ( socketPath )
613
619
614
620
args . port = 8081
615
- expect ( await shouldOpenInExistingInstance ( args ) ) . toStrictEqual ( undefined )
621
+ expect ( await shouldOpenInExistingInstance ( args , sessionSocket ) ) . toStrictEqual ( undefined )
616
622
617
623
server . close ( )
618
624
vscodeSockets . close ( )
619
625
} )
620
626
621
627
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 )
624
631
await client . addSession ( {
625
632
entry : {
626
633
workspace : {
@@ -655,7 +662,7 @@ describe("cli", () => {
655
662
656
663
const args : UserProvidedArgs = { }
657
664
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.` )
659
666
660
667
server . close ( )
661
668
} )
0 commit comments