Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

selftests/efivarfs: add create-read test

Test that reads from a newly-created efivarfs file (with no data written)
will return EOF.

Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
Cc: Matt Fleming <matt.fleming@intel.com>
Cc: Lingzhu Xiang <lxiang@redhat.com>
Cc: Dave Young <dyoung@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

authored by

Jeremy Kerr and committed by
Linus Torvalds
d974f67a 033a1a7f

+46 -1
+1 -1
tools/testing/selftests/efivarfs/Makefile
··· 1 1 CC = $(CROSS_COMPILE)gcc 2 2 CFLAGS = -Wall 3 3 4 - test_objs = open-unlink 4 + test_objs = open-unlink create-read 5 5 6 6 all: $(test_objs) 7 7
+38
tools/testing/selftests/efivarfs/create-read.c
··· 1 + #include <stdio.h> 2 + #include <stdint.h> 3 + #include <stdlib.h> 4 + #include <unistd.h> 5 + #include <sys/types.h> 6 + #include <sys/stat.h> 7 + #include <fcntl.h> 8 + #include <errno.h> 9 + #include <string.h> 10 + 11 + int main(int argc, char **argv) 12 + { 13 + const char *path; 14 + char buf[4]; 15 + int fd, rc; 16 + 17 + if (argc < 2) { 18 + fprintf(stderr, "usage: %s <path>\n", argv[0]); 19 + return EXIT_FAILURE; 20 + } 21 + 22 + path = argv[1]; 23 + 24 + /* create a test variable */ 25 + fd = open(path, O_RDWR | O_CREAT, 0600); 26 + if (fd < 0) { 27 + perror("open(O_WRONLY)"); 28 + return EXIT_FAILURE; 29 + } 30 + 31 + rc = read(fd, buf, sizeof(buf)); 32 + if (rc != 0) { 33 + fprintf(stderr, "Reading a new var should return EOF\n"); 34 + return EXIT_FAILURE; 35 + } 36 + 37 + return EXIT_SUCCESS; 38 + }
+7
tools/testing/selftests/efivarfs/efivarfs.sh
··· 70 70 fi 71 71 } 72 72 73 + test_create_read() 74 + { 75 + local file=$efivarfs_mount/$FUNCNAME-$test_guid 76 + ./create-read $file 77 + } 78 + 73 79 test_delete() 74 80 { 75 81 local attrs='\x07\x00\x00\x00' ··· 131 125 132 126 run_test test_create 133 127 run_test test_create_empty 128 + run_test test_create_read 134 129 run_test test_delete 135 130 run_test test_zero_size_delete 136 131 run_test test_open_unlink