@@ -159,14 +159,36 @@ jobs:
159
159
- run : mv .github/workflows/busybox.config busybox/.config
160
160
- run : cd busybox && make ${{ env.MAKE_CROSS_COMPILE }} -j3
161
161
162
+ # Setup: module parameters test
163
+ - run : |
164
+ cp samples/rust/rust_module_parameters.rs samples/rust/rust_module_parameters_builtin_default.rs
165
+ cp samples/rust/rust_module_parameters.rs samples/rust/rust_module_parameters_builtin_custom.rs
166
+ cp samples/rust/rust_module_parameters.rs samples/rust/rust_module_parameters_loadable_default.rs
167
+ cp samples/rust/rust_module_parameters.rs samples/rust/rust_module_parameters_loadable_custom.rs
168
+
169
+ sed -i 's:" my_:" built-in default my_:g' samples/rust/rust_module_parameters_builtin_default.rs
170
+ sed -i 's:" my_:" built-in custom my_:g' samples/rust/rust_module_parameters_builtin_custom.rs
171
+ sed -i 's:" my_:" loadable default my_:g' samples/rust/rust_module_parameters_loadable_default.rs
172
+ sed -i 's:" my_:" loadable custom my_:g' samples/rust/rust_module_parameters_loadable_custom.rs
173
+
174
+ sed -i 's:rust_module_parameters:rust_module_parameters_builtin_default:g' samples/rust/rust_module_parameters_builtin_default.rs
175
+ sed -i 's:rust_module_parameters:rust_module_parameters_builtin_custom:g' samples/rust/rust_module_parameters_builtin_custom.rs
176
+ sed -i 's:rust_module_parameters:rust_module_parameters_loadable_default:g' samples/rust/rust_module_parameters_loadable_default.rs
177
+ sed -i 's:rust_module_parameters:rust_module_parameters_loadable_custom:g' samples/rust/rust_module_parameters_loadable_custom.rs
178
+
179
+ echo 'obj-y += rust_module_parameters_builtin_default.o' >> samples/rust/Makefile
180
+ echo 'obj-y += rust_module_parameters_builtin_custom.o' >> samples/rust/Makefile
181
+ echo 'obj-m += rust_module_parameters_loadable_default.o' >> samples/rust/Makefile
182
+ echo 'obj-m += rust_module_parameters_loadable_custom.o' >> samples/rust/Makefile
183
+
162
184
# Build
163
185
- run : mv .github/workflows/kernel-${{ matrix.arch }}-${{ matrix.config }}.config .config
164
186
165
187
- if : matrix.output == 'build'
166
188
run : |
167
189
mkdir ${{ env.BUILD_DIR }}
168
190
mv .config ${{ env.BUILD_DIR }}.config
169
- sed -i 's:drivers/ :${{ env.BUILD_DIR }}drivers /:' .github/workflows/qemu-initramfs.desc
191
+ sed -i 's:samples/rust/ :${{ env.BUILD_DIR }}samples/rust /:' .github/workflows/qemu-initramfs.desc
170
192
171
193
- run : make ${{ env.MAKE_ARCH }} ${{ env.MAKE_CROSS_COMPILE }} ${{ env.MAKE_TOOLCHAIN }} ${{ env.MAKE_OUTPUT }} ${{ env.MAKE_SYSROOT }} -j3
172
194
@@ -184,55 +206,67 @@ jobs:
184
206
-vga none \
185
207
-no-reboot \
186
208
-append '${{ env.QEMU_APPEND }} \
187
- rust_example.my_i32=123321 \
188
- rust_example.my_str=🦀mod \
189
- rust_example_2.my_i32=234432 \
190
- rust_example_2.my_array=1,2,3' \
209
+ rust_module_parameters_builtin_custom.my_bool=n \
210
+ rust_module_parameters_builtin_custom.my_i32=345543 \
211
+ rust_module_parameters_builtin_custom.my_str=🦀mod \
212
+ rust_module_parameters_builtin_custom.my_usize=84 \
213
+ rust_module_parameters_builtin_custom.my_array=1,2,3 \
214
+ ' \
191
215
| sed s:$'\r'$:: \
192
216
| tee qemu-stdout.log
193
217
194
218
# Check
195
219
- run : |
196
- grep '] Rust Example (init)$' qemu-stdout.log
197
- grep '] \[2] Rust Example (init)$' qemu-stdout.log
198
- grep '] \[3] Rust Example (init)$' qemu-stdout.log
199
- grep '] \[4] Rust Example (init)$' qemu-stdout.log
200
-
201
- grep '] my_i32: 123321$' qemu-stdout.log
202
- grep '] \[2] my_i32: 234432$' qemu-stdout.log
203
- grep '] \[3] my_i32: 345543$' qemu-stdout.log
204
- grep '] \[4] my_i32: 456654$' qemu-stdout.log
205
-
206
- grep '] my_usize: 42$' qemu-stdout.log
207
- grep '] \[2] my_usize: 42$' qemu-stdout.log
208
- grep '] \[3] my_usize: 42$' qemu-stdout.log
209
- grep '] \[4] my_usize: 84$' qemu-stdout.log
210
-
211
- grep '] my_str: 🦀mod$' qemu-stdout.log
212
- grep '] \[2] my_str: default str val$' qemu-stdout.log
213
- grep '] \[3] my_str: 🦀mod$' qemu-stdout.log
214
- grep '] \[4] my_str: default str val$' qemu-stdout.log
215
-
216
- grep '] my_array: \[0, 1]$' qemu-stdout.log
217
- grep '] \[2] my_array: \[1, 2, 3]$' qemu-stdout.log
218
- grep '] \[3] my_array: \[0, 1]$' qemu-stdout.log
219
- grep '] \[4] my_array: \[1, 2, 3]$' qemu-stdout.log
220
-
221
- grep '] \[3] Rust Example (exit)$' qemu-stdout.log
222
- grep '] \[4] Rust Example (exit)$' qemu-stdout.log
220
+ grep '] Rust minimal sample (init)$' qemu-stdout.log
221
+ grep '] Rust minimal sample (exit)$' qemu-stdout.log
222
+
223
+ grep '] Rust module parameters sample (init)$' qemu-stdout.log
224
+ grep '] built-in default my_bool: true$' qemu-stdout.log
225
+ grep '] built-in default my_i32: 42$' qemu-stdout.log
226
+ grep '] built-in default my_str: default str val$' qemu-stdout.log
227
+ grep '] built-in default my_usize: 42$' qemu-stdout.log
228
+ grep '] built-in default my_array: \[0, 1]$' qemu-stdout.log
229
+ grep '] built-in custom my_bool: false$' qemu-stdout.log
230
+ grep '] built-in custom my_i32: 345543$' qemu-stdout.log
231
+ grep '] built-in custom my_str: 🦀mod$' qemu-stdout.log
232
+ grep '] built-in custom my_usize: 84$' qemu-stdout.log
233
+ grep '] built-in custom my_array: \[1, 2, 3]$' qemu-stdout.log
234
+ grep '] loadable default my_bool: true$' qemu-stdout.log
235
+ grep '] loadable default my_i32: 42$' qemu-stdout.log
236
+ grep '] loadable default my_str: default str val$' qemu-stdout.log
237
+ grep '] loadable default my_usize: 42$' qemu-stdout.log
238
+ grep '] loadable default my_array: \[0, 1]$' qemu-stdout.log
239
+ grep '] loadable custom my_bool: false$' qemu-stdout.log
240
+ grep '] loadable custom my_i32: 345543$' qemu-stdout.log
241
+ grep '] loadable custom my_str: 🦀mod$' qemu-stdout.log
242
+ grep '] loadable custom my_usize: 84$' qemu-stdout.log
243
+ grep '] loadable custom my_array: \[1, 2, 3]$' qemu-stdout.log
244
+ grep '] Rust module parameters sample (exit)$' qemu-stdout.log
245
+
246
+ grep '] Rust synchronisation primitives sample (init)$' qemu-stdout.log
247
+ grep '] Rust synchronisation primitives sample (exit)$' qemu-stdout.log
248
+
249
+ grep '] Rust character device sample (init)$' qemu-stdout.log
250
+ grep '] Rust character device sample (exit)$' qemu-stdout.log
251
+
252
+ grep '] Rust miscellaneous device sample (init)$' qemu-stdout.log
253
+ grep '] Rust miscellaneous device sample (exit)$' qemu-stdout.log
254
+
255
+ grep '] Rust stack probing sample (init)$' qemu-stdout.log
256
+ grep '] Rust stack probing sample (exit)$' qemu-stdout.log
223
257
224
258
# Report
225
259
- run : |
226
260
ls -l \
227
- ${{ env.BUILD_DIR }}drivers/char/rust_example .o \
228
- ${{ env.BUILD_DIR }}drivers/char/rust_example_3 .ko \
261
+ ${{ env.BUILD_DIR }}samples/rust/* .o \
262
+ ${{ env.BUILD_DIR }}samples/rust/* .ko \
229
263
${{ env.BUILD_DIR }}rust/*.o \
230
264
${{ env.BUILD_DIR }}vmlinux \
231
265
${{ env.BUILD_DIR }}${{ env.IMAGE_PATH }}
232
266
233
267
size \
234
- ${{ env.BUILD_DIR }}drivers/char/rust_example .o \
235
- ${{ env.BUILD_DIR }}drivers/char/rust_example_3 .ko \
268
+ ${{ env.BUILD_DIR }}samples/rust/* .o \
269
+ ${{ env.BUILD_DIR }}samples/rust/* .ko \
236
270
${{ env.BUILD_DIR }}rust/*.o \
237
271
${{ env.BUILD_DIR }}vmlinux
238
272
0 commit comments