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 #include <drivers/devices.h> 021 #include <drivers/devices.h>
022 #include "fstest_utils.h" 022 #include "fstest_utils.h"
023 023
024 024
025 025
026 026
027 027
028 028
029 int main() !! 029 int main(void)
030 { 030 {
031 bochs_printf("init: Welcome in userland !\n" 031 bochs_printf("init: Welcome in userland !\n");
032 032
033 033
034 034
035 TEST_EXPECT_CONDITION(mkdir("/dev", S_IRWXAL 035 TEST_EXPECT_CONDITION(mkdir("/dev", S_IRWXALL), RETVAL == 0);
036 TEST_EXPECT_CONDITION(mknod("/dev/zero", S_I 036 TEST_EXPECT_CONDITION(mknod("/dev/zero", S_IRUSR | S_IWUSR,
037 S_IFCHR, SOS_CHA 037 S_IFCHR, SOS_CHARDEV_ZERO_MAJOR, SOS_CHARDEV_ZERO_MINOR), RETVAL == 0);
038 TEST_EXPECT_CONDITION(mknod("/dev/null", S_I 038 TEST_EXPECT_CONDITION(mknod("/dev/null", S_IRUSR | S_IWUSR,
039 S_IFCHR, SOS_CHA 039 S_IFCHR, SOS_CHARDEV_ZERO_MAJOR, SOS_CHARDEV_NULL_MINOR), RETVAL == 0);
040 TEST_EXPECT_CONDITION(mknod("/dev/kmem", S_I 040 TEST_EXPECT_CONDITION(mknod("/dev/kmem", S_IRUSR | S_IWUSR,
041 S_IFCHR, SOS_CHA 041 S_IFCHR, SOS_CHARDEV_MEM_MAJOR, SOS_CHARDEV_KMEM_MINOR), RETVAL == 0);
042 TEST_EXPECT_CONDITION(mknod("/dev/mem", S_IR 042 TEST_EXPECT_CONDITION(mknod("/dev/mem", S_IRUSR | S_IWUSR,
043 S_IFCHR, SOS_CHA 043 S_IFCHR, SOS_CHARDEV_MEM_MAJOR, SOS_CHARDEV_PHYSMEM_MINOR), RETVAL == 0);
044 TEST_EXPECT_CONDITION(mknod("/dev/tty", S_IR 044 TEST_EXPECT_CONDITION(mknod("/dev/tty", S_IRUSR | S_IWUSR,
045 S_IFCHR, SOS_CHA 045 S_IFCHR, SOS_CHARDEV_TTY_MAJOR, SOS_CHARDEV_CONSOLE_MINOR), RETVAL == 0);
046 TEST_EXPECT_CONDITION(mknod("/dev/ttyS", S_I 046 TEST_EXPECT_CONDITION(mknod("/dev/ttyS", S_IRUSR | S_IWUSR,
047 S_IFCHR, SOS_CHA 047 S_IFCHR, SOS_CHARDEV_TTY_MAJOR, SOS_CHARDEV_SERIAL_MINOR), RETVAL == 0);
048 048
>> 049 TEST_EXPECT_CONDITION(mknod("/dev/hda", S_IRUSR | S_IWUSR,
>> 050 S_IFBLK, SOS_BLOCKDEV_IDE_MAJOR, 0), RETVAL == 0);
>> 051 TEST_EXPECT_CONDITION(mknod("/dev/hda1", S_IRUSR | S_IWUSR,
>> 052 S_IFBLK, SOS_BLOCKDEV_IDE_MAJOR, 1), RETVAL == 0);
>> 053 TEST_EXPECT_CONDITION(mknod("/dev/hda2", S_IRUSR | S_IWUSR,
>> 054 S_IFBLK, SOS_BLOCKDEV_IDE_MAJOR, 2), RETVAL == 0);
>> 055 TEST_EXPECT_CONDITION(mknod("/dev/hda3", S_IRUSR | S_IWUSR,
>> 056 S_IFBLK, SOS_BLOCKDEV_IDE_MAJOR, 3), RETVAL == 0);
>> 057 TEST_EXPECT_CONDITION(mknod("/dev/hda4", S_IRUSR | S_IWUSR,
>> 058 S_IFBLK, SOS_BLOCKDEV_IDE_MAJOR, 4), RETVAL == 0);
>> 059 TEST_EXPECT_CONDITION(mknod("/dev/hda5", S_IRUSR | S_IWUSR,
>> 060 S_IFBLK, SOS_BLOCKDEV_IDE_MAJOR, 5), RETVAL == 0);
>> 061 TEST_EXPECT_CONDITION(mknod("/dev/hda6", S_IRUSR | S_IWUSR,
>> 062 S_IFBLK, SOS_BLOCKDEV_IDE_MAJOR, 6), RETVAL == 0);
>> 063 TEST_EXPECT_CONDITION(mknod("/dev/hda7", S_IRUSR | S_IWUSR,
>> 064 S_IFBLK, SOS_BLOCKDEV_IDE_MAJOR, 7), RETVAL == 0);
>> 065 TEST_EXPECT_CONDITION(mknod("/dev/hdb", S_IRUSR | S_IWUSR,
>> 066 S_IFBLK, SOS_BLOCKDEV_IDE_MAJOR, 16), RETVAL == 0);
>> 067 TEST_EXPECT_CONDITION(mknod("/dev/hdb1", S_IRUSR | S_IWUSR,
>> 068 S_IFBLK, SOS_BLOCKDEV_IDE_MAJOR, 17), RETVAL == 0);
>> 069
049 ls("/", 1, 1); 070 ls("/", 1, 1);
050 071
051 072
052 TEST_EXPECT_CONDITION(open("/dev/tty", O_RDW 073 TEST_EXPECT_CONDITION(open("/dev/tty", O_RDWR), RETVAL == 0);
053 TEST_EXPECT_CONDITION(open("/dev/tty", O_RDW 074 TEST_EXPECT_CONDITION(open("/dev/tty", O_RDWR), RETVAL == 1);
054 TEST_EXPECT_CONDITION(open("/dev/tty", O_RDW 075 TEST_EXPECT_CONDITION(open("/dev/tty", O_RDWR), RETVAL == 2);
055 076
056 if (fork() == 0) 077 if (fork() == 0)
057 exec ("shell"); 078 exec ("shell");
058 079
059 close (2); 080 close (2);
060 close (1); 081 close (1);
061 close (0); 082 close (0);
062 083
063 084
064 TEST_EXPECT_CONDITION(open("/dev/ttyS", O_RD 085 TEST_EXPECT_CONDITION(open("/dev/ttyS", O_RDWR), RETVAL == 0);
065 TEST_EXPECT_CONDITION(open("/dev/ttyS", O_RD 086 TEST_EXPECT_CONDITION(open("/dev/ttyS", O_RDWR), RETVAL == 1);
066 TEST_EXPECT_CONDITION(open("/dev/ttyS", O_RD 087 TEST_EXPECT_CONDITION(open("/dev/ttyS", O_RDWR), RETVAL == 2);
067 088
068 if (fork() == 0) 089 if (fork() == 0)
069 exec ("shell"); 090 exec ("shell");
070 091
071 close (2); 092 close (2);
072 close (1); 093 close (1);
073 close (0); 094 close (0);
>> 095
074 096
075 097
076 bochs_printf("init: The end\n"); 098 bochs_printf("init: The end\n");
077 return 0; 099 return 0;
078 } 100 }