Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / compiler-rt / test / fuzzer / fuzzer-dirs.test
blobc822c2f95c305b0093c71f487b5efdae501e9cfc
1 RUN: %cpp_compiler %S/SimpleTest.cpp -o %t-SimpleTest
3 RUN: rm -rf %t/SUB1
4 RUN: mkdir -p %t/SUB1/SUB2/SUB3
5 RUN: echo a > %t/SUB1/a
6 RUN: echo b > %t/SUB1/SUB2/b
7 RUN: echo c > %t/SUB1/SUB2/SUB3/c
8 RUN: %run %t-SimpleTest %t/SUB1 -runs=0 2>&1 | FileCheck %s --check-prefix=SUBDIRS
9 SUBDIRS: INFO: seed corpus: files: 3 min: 2b max: 2b total: 6b
10 RUN: echo -n zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz > %t/SUB1/f64
11 RUN: cat %t/SUB1/f64 %t/SUB1/f64 %t/SUB1/f64 %t/SUB1/f64 > %t/SUB1/f256
12 RUN: cat %t/SUB1/f256 %t/SUB1/f256 %t/SUB1/f256 %t/SUB1/f256 > %t/SUB1/f1024
13 RUN: cat %t/SUB1/f1024 %t/SUB1/f1024 %t/SUB1/f1024 %t/SUB1/f1024 > %t/SUB1/f4096
14 RUN: cat %t/SUB1/f4096 %t/SUB1/f4096 > %t/SUB1/f8192
15 RUN: %run %t-SimpleTest %t/SUB1 -runs=0 2>&1 | FileCheck %s --check-prefix=LONG
16 LONG: INFO: -max_len is not provided; libFuzzer will not generate inputs larger than 8192 bytes
17 RUN: rm -rf %t/SUB1
19 # Verify error message prints to console when directory does not exist
20 RUN: rm -rf %t.dir && mkdir -p %t.dir
21 RUN: not %run %t-SimpleTest -artifact_prefix=%t.dir/NONEXISTENT_DIR/ 2>&1 | FileCheck %s --check-prefix=NONEXISTENT_DIR_RGX
22 RUN: not %run %t-SimpleTest -artifact_prefix=%t.dir/NONEXISTENT_DIR/myprefix 2>&1 | FileCheck %s --check-prefix=NONEXISTENT_DIR_RGX
23 RUN: not %run %t-SimpleTest -features_dir=%t.dir/NONEXISTENT_DIR/ 2>&1 | FileCheck %s --check-prefix=NONEXISTENT_DIR_RGX
24 RUN: not %run %t-SimpleTest %t.dir/NONEXISTENT_DIR 2>&1 | FileCheck %s --check-prefix=NONEXISTENT_DIR_RGX
25 RUN: not %run %t-SimpleTest -exact_artifact_path=%t.dir/NONEXISTENT_DIR/myprefix 2>&1 | FileCheck %s --check-prefix=NONEXISTENT_DIR_RGX
26 NONEXISTENT_DIR_RGX: ERROR: The required directory "{{.*/NONEXISTENT_DIR/?}}" does not exist
28 # Verify error message prints to console when given directory is an empty
29 # string
30 RUN: not %run %t-SimpleTest "" 2>&1 | FileCheck %s --check-prefix=INVALID_DIR_RGX
31 INVALID_DIR_RGX: ERROR: Provided directory path is an empty string
33 # Verify error message prints to console when directory creation fails
34 # For platforms without functioning chmod (i.e. Windows), use a forbidden
35 # character in the directory name.
36 RUN: rm -rf %t.dir && mkdir -p %t.dir/access_restricted
37 RUN: chmod u-w %t.dir/access_restricted || true
38 RUN: not %run %t-SimpleTest -create_missing_dirs=1 %t.dir/access_restricted/?corpus? 2>&1 | FileCheck %s --check-prefix=DIR_CREATION_FAILURE
39 DIR_CREATION_FAILURE: ERROR: Failed to create directory "{{.*/access_restricted/\?corpus\?}}"
41 # Verify directories and sub-directories are created when -create_missing_dirs=1
42 RUN: not %run %t-SimpleTest -create_missing_dirs=1 -artifact_prefix=%t.dir/subdira/./././artifacts/ -features_dir=%t.dir/subdirb/dummy_dir/././../subdirb/features/ %t.dir/subdirc/corpus
43 RUN: test -e %t.dir/subdira/artifacts/
44 RUN: test -e %t.dir/subdirb/subdirb/features/
45 RUN: test -e %t.dir/subdirc/corpus/
46 RUN: test -e %t.dir/subdirb/dummy_dir
48 # Verify directories and sub-directories are created for exact_artifact_path
49 # when -create_missing_dirs=1
50 RUN: not %run %t-SimpleTest -create_missing_dirs=1 -exact_artifact_path=%t.dir/subdird/exact_artifacts/abc
51 RUN: test -e %t.dir/subdird/exact_artifacts/abc
53 # Verify directories and sub-directories are created for artifact_prefix when
54 # it's referring to a file name prefix and -create_missing_dirs=1
55 RUN: not %run %t-SimpleTest -create_missing_dirs=1 -artifact_prefix=%t.dir/subdire/myprefix
56 RUN: test -e %t.dir/subdire/ && not test -e %t.dir/subdire/myprefix
58 # Verify directories are created when referring to relative paths and
59 # -create_missing_dirs=1
60 RUN: cd %t.dir && not %run %t-SimpleTest -create_missing_dirs=1 -artifact_prefix=cwd_artifacts/ -features_dir=cwd_features/subdirtest/ ./cwd_corpus
61 RUN: test -e %t.dir/cwd_artifacts/
62 RUN: test -e %t.dir/cwd_features/subdirtest/
63 RUN: test -e %t.dir/cwd_corpus/