## This test checks updating a dynamic shared library ID in a MachO binary.

# RUN: yaml2obj %s --docnum=1 -o %t

## Specifying -id once:
# RUN: llvm-install-name-tool -id /usr/lib/A_long_long_test %t
# RUN: llvm-objdump -p %t | FileCheck %s --check-prefix=ID --implicit-check-not='name /usr'

# ID: name /usr/lib/A_long_long_test

## Specifying -id more than once:
# RUN: llvm-install-name-tool -id /usr/lib/B_long -id /usr/lib/K_long -id /usr/A_short  %t
# RUN: llvm-objdump -p %t | FileCheck %s --check-prefix=ID-MULTIPLE --implicit-check-not='name /usr'

# ID-MULTIPLE: name /usr/A_short

## Specifying -id with empty string:
# RUN: not llvm-install-name-tool -id '' %t 2>&1 | \
# RUN:   FileCheck %s --check-prefix=EMPTY

# EMPTY: cannot specify an empty id

## Missing id argument:
# RUN: not llvm-install-name-tool %t -id 2>&1 | \
# RUN:   FileCheck %s --check-prefix=MISSING

# MISSING: missing argument to -id option

## Shared dylib binary
--- !mach-o
FileHeader:
  magic:           0xFEEDFACF
  cputype:         0x01000007
  cpusubtype:      0x00000003
  filetype:        0x00000006
  ncmds:           1
  sizeofcmds:      56
  flags:           0x00002000
  reserved:        0x00000000
LoadCommands:
  - cmd:                        LC_ID_DYLIB
    cmdsize:                    56
    dylib:
        name:                   24
        timestamp:              2
        current_version:        82115073
        compatibility_version:  65536
    Content:                    '/usr/lib/A'

# RUN: yaml2obj %s --docnum=2 -o %t

## Check that -id option has no effect if binary is not a shared dylib:
# RUN: cp %t %t1
# RUN: llvm-install-name-tool -id /usr/lib/J %t
# RUN: cmp %t %t1

## Executable binary
--- !mach-o
FileHeader:
  magic:           0xFEEDFACF
  cputype:         0x01000007
  cpusubtype:      0x00000003
  filetype:        0x00000001
  ncmds:           0
  sizeofcmds:      0
  flags:           0x00002000
  reserved:        0x00000000
