diff --git a/lib/ansible/modules/windows/win_file.ps1 b/lib/ansible/modules/windows/win_file.ps1 index 69c268f8f7..68df390c92 100644 --- a/lib/ansible/modules/windows/win_file.ps1 +++ b/lib/ansible/modules/windows/win_file.ps1 @@ -35,7 +35,7 @@ if ($state -eq "touch") { if (Test-Path $path) { (Get-ChildItem $path).LastWriteTime = Get-Date } else { - echo $null > $path + Write-Output $null | Out-File -FilePath $path -Encoding ASCII } } $result.changed = $true diff --git a/test/integration/targets/win_file/tasks/main.yml b/test/integration/targets/win_file/tasks/main.yml index 7eeb97d023..d46bcbeb70 100644 --- a/test/integration/targets/win_file/tasks/main.yml +++ b/test/integration/targets/win_file/tasks/main.yml @@ -52,6 +52,16 @@ # - "file3_result.state == 'file'" # - "file3_result.mode == '0644'" +- name: stat the touched file + win_stat: path={{win_output_dir}}/baz.txt state=touch + register: file3_stat_result + +- name: verify that the touched file exists and is size 0 + assert: + that: + - "file3_stat_result.changed == false" + - "file3_stat_result.stat.size == 0" + - "file3_stat_result.stat.exists == true" #- name: change file mode # win_file: path={{win_output_dir}}/baz.txt mode=0600 # register: file4_result