8000 Quote chmod as it failes with folders containing spaces. fixes #605 · dotnet-script/dotnet-script@4d8c717 · GitHub
[go: up one dir, main page]

Skip to content

Commit 4d8c717

Browse files
committed
Quote chmod as it failes with folders containing spaces. fixes #605
1 parent 8772ac5 commit 4d8c717

File tree

2 files changed

+21
-1
lines changed

2 files changed

+21
-1
lines changed

src/Dotnet.Script.Core/Scaffolder.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ public void CreateNewScriptFile(string fileName, string currentDirectory)
6363
RuntimeInformation.IsOSPlatform(OSPlatform.Linux))
6464
{
6565
// mark .csx file as executable, this activates the shebang to run dotnet-script as interpreter
66-
_commandRunner.Execute($"/bin/chmod", $"+x {pathToScriptFile}");
66+
_commandRunner.Execute($"/bin/chmod", $"+x \"{pathToScriptFile}\"");
6767
}
6868
_scriptConsole.WriteSuccess($"...'{pathToScriptFile}' [Created]");
6969
}

src/Dotnet.Script.Tests/ScaffoldingTests.cs

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@ public void ShouldInitializeScriptFolder()
2525
{
2626
using (var scriptFolder = new DisposableFolder())
2727
{
28+
ScriptTestRunner.Default.ExecuteInProcess($"init {scriptFolder.Path}");
29+
2830
var (output, exitCode) = ScriptTestRunner.Default.Execute("init", scriptFolder.Path);
2931

3032
Assert.Equal(0, exitCode);
@@ -34,6 +36,24 @@ public void ShouldInitializeScriptFolder()
3436
}
3537
}
3638

39+
[Fact]
40+
public void ShouldInitializeScriptFolderContainingWhitespace()
41+
{
42+
using (var scriptFolder = new DisposableFolder())
43+
{
44+
var path = Path.Combine(scriptFolder.Path, "Folder with whitespace");
45+
Directory.CreateDirectory(path);
46+
47+
var (output, exitCode) = ScriptTestRunner.Default.Execute("init", path);
48+
49+
Assert.Equal(0, exitCode);
50+
Assert.DoesNotContain("No such file or directory", output, StringComparison.OrdinalIgnoreCase);
51+
Assert.True(File.Exists(Path.Combine(path, "main.csx")));
52+
Assert.True(File.Exists(Path.Combine(path, "omnisharp.json")));
53+
Assert.True(File.Exists(Path.Combine(path, ".vscode", "launch.json")));
54+
}
55+
}
56+
3757
[OnlyOnUnixFact]
3858
public void ShouldRegisterToRunCsxScriptDirectly()
3959
{

0 commit comments

Comments
 (0)
0