blob: 1e38ff31cf59079b0a5a0d6a4f4ada97f084ac7e (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
|
name: Escaping characters in Makefile
on:
push:
pull_request:
workflow_dispatch:
jobs:
quoting_arguments:
name: Quoting arguments
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: make test
run: |
cd makefile_escaping
diff <( echo "$expected" ) <( make -f quoting_args.mk test )
env:
expected: |-
Same
line?
Same line?
Same
line?
Same line?
escaping_quotes:
name: Escaping quotes
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: make test
run: |
cd makefile_escaping
diff <( echo "$expected" ) <( make -f escaping_quotes.mk test )
env:
expected: |-
printf '%s\n' 'Includes '\'' quote'
Includes ' quote
bash -c 'printf '\''%s\n'\'' '\''Includes '\''\'\'''\'' quote'\'''
Includes ' quote
bash -c 'bash -c '\''printf '\''\'\'''\''%s\n'\''\'\'''\'' '\''\'\'''\''Includes '\''\'\'''\''\'\''\'\'''\'''\''\'\'''\'' quote'\''\'\'''\'''\'''
Includes ' quote
shell_output:
name: Shell output
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: "Includes ' quote"
run: |
cd makefile_escaping
diff <( echo "$expected_includes_quote" ) <( mkdir -p -- "Includes ' quote" && cd -- "Includes ' quote" && make -f ../escaping_shell.mk test )
- name: 'Maybe a comment #'
run: |
cd makefile_escaping
diff <( echo "$expected_maybe_comment" ) <( mkdir -p -- 'Maybe a comment #' && cd -- 'Maybe a comment #' && make -f ../escaping_shell.mk test )
- name: 'Variable ${reference}'
run: |
cd makefile_escaping
diff <( echo "$expected_variable_reference" ) <( mkdir -p -- 'Variable ${reference}' && cd -- 'Variable ${reference}' && make -f ../escaping_shell.mk test )
env:
expected_includes_quote: |-
Includes ' quote
Composite value - Simple value - Includes ' quote
expected_maybe_comment: |-
Maybe a comment #
Composite value - Simple value - Maybe a comment #
expected_variable_reference: |-
Variable ${reference}
Composite value - Simple value - Variable ${reference}
env_variables:
name: Environment variables
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: make test w/ default test_var
run: |
cd makefile_escaping
diff <( echo "$expected_default" ) <( make -f escaping_env_vars.mk test )
- name: make test w/ tricky test_var
run: |
cd makefile_escaping
diff <( echo "$expected_tricky" ) <( test_var="Quote ' "'and variable ${reference}' make -f escaping_env_vars.mk test )
- name: make test w/ overridden test_var
run: |
cd makefile_escaping
diff <( echo "$expected_overridden" ) <( make -f escaping_env_vars.mk test test_var="Quote ' "'and variable ${reference}' )
env:
expected_default: |-
New simple value in test_var
Composite value - New simple value - New simple value in test_var
expected_tricky: |-
Quote ' and variable ${reference}
Composite value - New simple value - Quote ' and variable ${reference}
expected_overridden: |-
Quote ' and variable ${reference}
Composite value - New simple value - Quote ' and variable ${reference}
|