## This tests that the umask is respected when
## assigning permissions of output files.

## Windows has no umask so this test makes no sense, nor would
## it work because there is no umask(1) in a Windows environment
# UNSUPPORTED: system-windows
# REQUIRES: shell

# RUN: rm -f %t
# RUN: touch %t
# RUN: chmod 0755 %t
# RUN: ls -l %t | cut -f 1 -d ' ' > %t.0755
# RUN: chmod 0600 %t
# RUN: ls -l %t | cut -f 1 -d ' ' > %t.0600
# RUN: chmod 0655 %t
# RUN: ls -l %t | cut -f 1 -d ' ' > %t.0655

# RUN: yaml2obj %s -o %t

# RUN: umask 0022
# RUN: chmod 0777 %t
# RUN: llvm-objcopy %t %t1
# RUN: ls -l %t1 | cut -f 1 -d ' ' | cmp - %t.0755

# RUN: umask 0177
# RUN: llvm-objcopy %t %t2
# RUN: ls -l %t2 | cut -f 1 -d ' ' | cmp - %t.0600

# RUN: umask 0122
# RUN: llvm-objcopy %t %t3
# RUN: ls -l %t3 | cut -f 1 -d ' ' | cmp - %t.0655

--- !ELF
FileHeader:
  Class:   ELFCLASS64
  Data:    ELFDATA2LSB
  Type:    ET_EXEC
  Machine: EM_X86_64
