// Tests for clang-ssaf-linker input validation. // RUN: rm -rf %t // RUN: mkdir -p %t // No extension on output. // RUN: not clang-ssaf-linker %S/Inputs/tu-empty.json -o lu 2>&1 \ // RUN: | FileCheck %s --match-full-lines --check-prefix=NO-EXT-OUTPUT // NO-EXT-OUTPUT: clang-ssaf-linker: error: failed to validate path 'lu': Extension not supplied // No extension on input. // RUN: not clang-ssaf-linker %S/Inputs/tu-noext -o %t/lu.json 2>&1 \ // RUN: | FileCheck %s --match-full-lines --check-prefix=NO-EXT-INPUT // NO-EXT-INPUT: clang-ssaf-linker: error: failed to validate path '{{.*}}tu-noext': Extension not supplied // Invalid extension on output. // RUN: not clang-ssaf-linker %S/Inputs/tu-empty.json -o lu.txt 2>&1 \ // RUN: | FileCheck %s --match-full-lines --check-prefix=BAD-EXT-OUTPUT // BAD-EXT-OUTPUT: clang-ssaf-linker: error: failed to validate path 'lu.txt': No format registered for extension 'txt' // Invalid extension on input. // RUN: not clang-ssaf-linker %S/Inputs/tu-badext.txt -o %t/lu.json 2>&1 \ // RUN: | FileCheck %s --match-full-lines --check-prefix=BAD-EXT-INPUT // BAD-EXT-INPUT: clang-ssaf-linker: error: failed to validate path '{{.*}}tu-badext.txt': No format registered for extension 'txt' // Output directory does not exist. // RUN: not clang-ssaf-linker %S/Inputs/tu-empty.json -o %S/Outputs/NonExistentDirectory/lu.json 2>&1 \ // RUN: | FileCheck %s --match-full-lines --check-prefix=OUTPUT-PARENT-DIR-MISSING // OUTPUT-PARENT-DIR-MISSING: clang-ssaf-linker: error: failed to validate path '{{.*}}lu.json': Parent directory does not exist // Input is a directory, not a file. // RUN: not clang-ssaf-linker %S/Inputs -o %t/lu.json 2>&1 \ // RUN: | FileCheck %s --match-full-lines --check-prefix=INPUT-IS-DIR // INPUT-IS-DIR: clang-ssaf-linker: error: failed to validate path '{{.*}}Inputs': Path is not a file // Input summary does not exist. // RUN: not clang-ssaf-linker %S/Inputs/tu-nonexistent.json -o %t/lu.json 2>&1 \ // RUN: | FileCheck %s --match-full-lines --check-prefix=NO-INPUT-FILE // NO-INPUT-FILE: clang-ssaf-linker: error: failed to validate path '{{.*}}tu-nonexistent.json': Path does not exist