Diff markup
001 001
002 002
003 003
004 004
005 005
006 006
007 007
008 008
009 009
010 010
011 011
012 012
013 013
014 014
015 015
016 016
017 017
018 018
019 #include <libc.h> 019 #include <libc.h>
020 #include <debug.h> 020 #include <debug.h>
021 !! 021 #include <drivers/devices.h>
>> 022 #include "fstest_utils.h"
022 023
023 024
024 025
025 !! 026
026 027
027 028
028 int main() 029 int main()
029 { 030 {
>> 031 bochs_printf("init: Welcome in userland !\n");
030 032
031 <<
032 if (fork() == 0) <<
033 exec("myprog7"); <<
034 033
035 if (fork() == 0) !! 034
036 exec("myprog8"); !! 035 TEST_EXPECT_CONDITION(mkdir("/dev", S_IRWXALL), RETVAL == 0);
>> 036 TEST_EXPECT_CONDITION(mknod("/dev/zero", S_IRUSR | S_IWUSR,
>> 037 S_IFCHR, SOS_CHARDEV_ZERO_MAJOR, SOS_CHARDEV_ZERO_MINOR), RETVAL == 0);
>> 038 TEST_EXPECT_CONDITION(mknod("/dev/null", S_IRUSR | S_IWUSR,
>> 039 S_IFCHR, SOS_CHARDEV_ZERO_MAJOR, SOS_CHARDEV_NULL_MINOR), RETVAL == 0);
>> 040 TEST_EXPECT_CONDITION(mknod("/dev/kmem", S_IRUSR | S_IWUSR,
>> 041 S_IFCHR, SOS_CHARDEV_MEM_MAJOR, SOS_CHARDEV_KMEM_MINOR), RETVAL == 0);
>> 042 TEST_EXPECT_CONDITION(mknod("/dev/mem", S_IRUSR | S_IWUSR,
>> 043 S_IFCHR, SOS_CHARDEV_MEM_MAJOR, SOS_CHARDEV_PHYSMEM_MINOR), RETVAL == 0);
>> 044 TEST_EXPECT_CONDITION(mknod("/dev/tty", S_IRUSR | S_IWUSR,
>> 045 S_IFCHR, SOS_CHARDEV_TTY_MAJOR, SOS_CHARDEV_CONSOLE_MINOR), RETVAL == 0);
>> 046 TEST_EXPECT_CONDITION(mknod("/dev/ttyS", S_IRUSR | S_IWUSR,
>> 047 S_IFCHR, SOS_CHARDEV_TTY_MAJOR, SOS_CHARDEV_SERIAL_MINOR), RETVAL == 0);
037 048
038 if (fork() == 0) !! 049 ls("/", 1, 1);
039 exec("myprog9"); <<
040 050
041 if (fork() == 0) !! 051
042 exec("myprog10"); !! 052 TEST_EXPECT_CONDITION(open("/dev/tty", O_RDWR), RETVAL == 0);
>> 053 TEST_EXPECT_CONDITION(open("/dev/tty", O_RDWR), RETVAL == 1);
>> 054 TEST_EXPECT_CONDITION(open("/dev/tty", O_RDWR), RETVAL == 2);
043 055
044 if (fork() == 0) 056 if (fork() == 0)
045 exec("myprog11"); !! 057 exec ("shell");
046 058
047 if (fork() == 0) !! 059 close (2);
048 exec("myprog12"); !! 060 close (1);
049 !! 061 close (0);
050 if (fork() == 0) <<
051 exec("myprog13"); <<
052 062
053 if (fork() == 0) !! 063
054 exec("myprog14"); !! 064 TEST_EXPECT_CONDITION(open("/dev/ttyS", O_RDWR), RETVAL == 0);
>> 065 TEST_EXPECT_CONDITION(open("/dev/ttyS", O_RDWR), RETVAL == 1);
>> 066 TEST_EXPECT_CONDITION(open("/dev/ttyS", O_RDWR), RETVAL == 2);
055 067
056 if (fork() == 0) 068 if (fork() == 0)
057 exec("banner"); !! 069 exec ("shell");
>> 070
>> 071 close (2);
>> 072 close (1);
>> 073 close (0);
>> 074
058 075
059 bochs_printf("init: The end\n"); 076 bochs_printf("init: The end\n");
060 return 0; 077 return 0;
061 } 078 }