binaryen-sys 0.13.0

Bindings to the binaryen library
Documentation
;; Test that invalid command line option combinations are properly rejected with
;; helpful error messages.

;; --instrument cannot be used with --profile
;; RUN: not wasm-split %s --instrument --profile %t 2>&1 \
;; RUN:   | filecheck %s --check-prefix INSTRUMENT-PROFILE

;; --instrument cannot be used with -o1
;; RUN: not wasm-split %s --instrument -o1 %t 2>&1 \
;; RUN:   | filecheck %s --check-prefix INSTRUMENT-OUT1

;; --instrument cannot be used with -o2
;; RUN: not wasm-split %s --instrument -o2 %t 2>&1 \
;; RUN:   | filecheck %s --check-prefix INSTRUMENT-OUT2

;; --instrument cannot be used with --symbolmap
;; RUN: not wasm-split %s --instrument --symbolmap 2>&1 \
;; RUN:   | filecheck %s --check-prefix INSTRUMENT-SYMBOLMAP

;; --instrument cannot be used with --placeholder-namespace
;; RUN: not wasm-split %s --instrument --placeholder-namespace=foo 2>&1 \
;; RUN:   | filecheck %s --check-prefix INSTRUMENT-PLACEHOLDER-NS
;; --instrument cannot be used with --export-prefix
;; RUN: not wasm-split %s --instrument --export-prefix=foo 2>&1 \
;; RUN:   | filecheck %s --check-prefix INSTRUMENT-EXPORT-PREFIX

;; --instrument cannot be used with --keep-funcs
;; RUN: not wasm-split %s --instrument --keep-funcs=foo 2>&1 \
;; RUN:   | filecheck %s --check-prefix INSTRUMENT-KEEP-FUNCS

;; --instrument cannot be used with --split-funcs
;; RUN: not wasm-split %s --instrument --split-funcs=foo 2>&1 \
;; RUN:   | filecheck %s --check-prefix INSTRUMENT-SPLIT-FUNCS

;; Split mode requires -o1 and -o2 rather than -o
;; RUN: not wasm-split %s -o %t 2>&1 \
;; RUN:   | filecheck %s --check-prefix SPLIT-OUT

;; --instrument is required to use --profile-export
;; RUN: not wasm-split %s --profile-export=foo 2>&1 \
;; RUN:   | filecheck %s --check-prefix SPLIT-PROFILE-EXPORT

;; --secondary-memory-name cannot be used with Split mode
;; RUN: not wasm-split %s --secondary-memory-name=foo 2>&1 \
;; RUN:   | filecheck %s --check-prefix SPLIT-SECONDARY-MEMORY-NAME

;; -S cannot be used with --merge-profiles
;; RUN: not wasm-split %s --merge-profiles -S 2>&1 \
;; RUN:   | filecheck %s --check-prefix MERGE-EMIT-TEXT

;; -g cannot be used with --merge-profiles
;; RUN: not wasm-split %s --merge-profiles -g 2>&1 \
;; RUN:   | filecheck %s --check-prefix MERGE-DEBUGINFO

;; --profile cannot be used with --keep-funcs
;; RUN: not wasm-split %s --profile=foo --keep-funcs=foo 2>&1 \
;; RUN:   | filecheck %s --check-prefix PROFILE-KEEP

;; --profile cannot be used with --split-funcs
;; RUN: not wasm-split %s --profile=foo --split-funcs=foo 2>&1 \
;; RUN:   | filecheck %s --check-prefix PROFILE-SPLIT

;; --keep-funcs cannot be used with --split-funcs
;; RUN: not wasm-split %s  --keep-funcs=foo --split-funcs=foo 2>&1 \
;; RUN:   | filecheck %s --check-prefix KEEP-SPLIT

;; INSTRUMENT-PROFILE: error: Option --profile cannot be used in instrument mode.

;; INSTRUMENT-OUT1: error: Option --primary-output cannot be used in instrument mode.

;; INSTRUMENT-OUT2: error: Option --secondary-output cannot be used in instrument mode.

;; INSTRUMENT-SYMBOLMAP: error: Option --symbolmap cannot be used in instrument mode.

;; INSTRUMENT-PLACEHOLDER-NS: error: Option --placeholder-namespace cannot be used in instrument mode.

;; INSTRUMENT-EXPORT-PREFIX: error: Option --export-prefix cannot be used in instrument mode.

;; INSTRUMENT-KEEP-FUNCS: error: Option --keep-funcs cannot be used in instrument mode.

;; INSTRUMENT-SPLIT-FUNCS: error: Option --split-funcs cannot be used in instrument mode.

;; SPLIT-OUT: error: Option --output cannot be used in split mode.

;; SPLIT-PROFILE-EXPORT: error: Option --profile-export cannot be used in split mode.

;; SPLIT-SECONDARY-MEMORY-NAME: error: Option --secondary-memory-name cannot be used in split mode.

;; MERGE-EMIT-TEXT: error: Option --emit-text cannot be used in merge-profiles mode.

;; MERGE-DEBUGINFO: error: Option --debuginfo cannot be used in merge-profiles mode.

;; PROFILE-KEEP: error: Cannot use both --profile and --keep-funcs.

;; PROFILE-SPLIT: error: Cannot use both --profile and --split-funcs.

;; KEEP-SPLIT: error: Cannot use both --keep-funcs and --split-funcs.

(module)