more x86_64 work. started to put the mmu bits together in the (former) stage2 loader.
[newos.git] / apps / test_output / test_output.c
blobb3c9bb835f06ace06e9acf5af11ebb482b7f7188
1 #include <stdio.h>
2 #include <stdlib.h>
4 void testFormatting(FILE* f);
5 void testLongLine(FILE* f);
6 void test(FILE* f);
8 char* longString = "To fully test the TTY, one should lower the line buffer size to less than 512. A very long line: asdlaskd sdflsdkjh dsadlfjh fsdlfajdsfh \
9 sdfalasdjkfsdaf sdflsdajkfhsdf sdflasdjfhsdf ds fsdljfhdsaf sdafljksdfhsdlfkjsdfhsd \
10 sdalkfjsdfh dslfjksdafhsda fsdlafjksdafh sdaflsdafjsdhf asdflsdfjkasdhf dsflasdjkfsdhf sdf sdafjhsdaf sdaflsdjf sdalfjdsfh we flsdjfhsdf sdlafjsdf sd \
11 sdalkfjsdfh dslfjksdafhsda fsdlafjksdafh sdaflsdafjsdhf asdflsdfjkasdhf dsflasdjkfsdhf sdf sdafjhsdaf sdaflsdjf sdalfjdsfh we flsdjfhsdf sdlafjsdf sd \
12 sdalkfjsdfh dslfjksdafhsda fsdlafjksdafh sdaflsdafjsdhf asdflsdfjkasdhf dsflasdjkfsdhf sdf sdafjhsdaf sdaflsdjf sdalfjdsfh we flsdjfhsdf sdlafjsdf sd \
13 sdalkfjsdfh dslfjksdafhsda fsdlafjksdafh sdaflsdafjsdhf asdflsdfjkasdhf dsflasdjkfsdhf sdf sdafjhsdaf sdaflsdjf sdalfjdsfh we flsdjfhsdf sdlafjsdf sd \
14 sdalkfjsdfh dslfjksdafhsda fsdlafjksdafh sdaflsdafjsdhf asdflsdfjkasdhf dsflasdjkfsdhf sdf sdafjhsdaf sdaflsdjf sdalfjdsfh we flsdjfhsdf sdlafjsdf sd \
15 sdalkfjsdfh dslfjksdafhsda fsdlafjksdafh sdaflsdafjsdhf asdflsdfjkasdhf dsflasdjkfsdhf sdf sdafjhsdaf sdaflsdjf sdalfjdsfh we flsdjfhsdf sdlafjsdf sd \
16 sdalkfjsdfh dslfjksdafhsda fsdlafjksdafh sdaflsdafjsdhf asdflsdfjkasdhf dsflasdjkfsdhf sdf sdafjhsdaf sdaflsdjf sdalfjdsfh we flsdjfhsdf sdlafjsdf sd \
17 sdalkfjsdfh dslfjksdafhsda fsdlafjksdafh sdaflsdafjsdhf asdflsdfjkasdhf dsflasdjkfsdhf sdf sdafjhsdaf sdaflsdjf sdalfjdsfh we flsdjfhsdf sdlafjsdf sd \
18 sdalkfjsdfh dslfjksdafhsda fsdlafjksdafh sdaflsdafjsdhf asdflsdfjkasdhf dsflasdjkfsdhf sdf sdafjhsdaf sdaflsdjf sdalfjdsfh we flsdjfhsdf sdlafjsdf sd \
19 sdalkfjsdfh dslfjksdafhsda fsdlafjksdafh sdaflsdafjsdhf asdflsdfjkasdhf dsflasdjkfsdhf sdf sdafjhsdaf sdaflsdjf sdalfjdsfh we flsdjfhsdf sdlafjsdf sd \
20 sdalkfjsdfh dslfjksdafhsda fsdlafjksdafh sdaflsdafjsdhf asdflsdfjkasdhf dsflasdjkfsdhf sdf sdafjhsdaf sdaflsdjf sdalfjdsfh we flsdjfhsdf sdlafjsdf sd \
21 sdalkfjsdfh dslfjksdafhsda fsdlafjksdafh sdaflsdafjsdhf asdflsdfjkasdhf dsflasdjkfsdhf sdf sdafjhsdaf sdaflsdjf sdalfjdsfh we flsdjfhsdf sdlafjsdf sd \
22 sdalkfjsdfh dslfjksdafhsda fsdlafjksdafh sdaflsdafjsdhf asdflsdfjkasdhf dsflasdjkfsdhf sdf sdafjhsdaf sdaflsdjf sdalfjdsfh we flsdjfhsdf sdlafjsdf sd \
23 sdalkfjsdfh dslfjksdafhsda fsdlafjksdafh sdaflsdafjsdhf asdflsdfjkasdhf dsflasdjkfsdhf sdf sdafjhsdaf sdaflsdjf sdalfjdsfh we flsdjfhsdf sdlafjsdf sd \
24 sdalkfjsdfh dslfjksdafhsda fsdlafjksdafh sdaflsdafjsdhf asdflsdfjkasdhf dsflasdjkfsdhf sdf sdafjhsdaf sdaflsdjf sdalfjdsfh we flsdjfhsdf sdlafjsdf sd\r\n";
27 static char* getLongString()
29 return longString;
33 void testFormatting(FILE* f)
35 int* ptr;
36 ptr = (int*)malloc(sizeof(int));
38 fprintf(f, "char(10): \'%10c\'\r\n", 'c');
39 fprintf(f, "string(5): \"%5s\"\r\n", "Justin Smith");
40 fprintf(f, "pointer(10): \"%10p\"\r\n", ptr);
41 fprintf(f, "so far(20): %n", ptr);
42 fprintf(f, "\"%20d\"\r\n", *ptr);
43 fprintf(f, "octal(10):21: \"%10o\"\r\n", 21);
44 fprintf(f, "hex(5):-21: \"%5x\"\r\n", -21);
45 fprintf(f, "signed int(10):-21: \"%10d\"\r\n", -21);
46 fprintf(f, "unsigned int(20):-21: \"%20u\"\r\n", -21);
48 free(ptr);
51 void testLongLine(FILE* f)
53 fprintf(f, getLongString());
56 static void testPrintf(FILE* f)
58 testLongLine(f);
59 testFormatting(f);
62 static void testFputs(FILE* f)
64 fputs("\nfputs:\n\n\n", f);
65 fputs(getLongString(), f);
68 int main(int argc, char** argv)
70 char* path;
71 FILE* f;
73 if(argc > 1)
75 f = fopen(argv[1], "w");
76 path = argv[1];
78 else
80 f = stdout;
81 path = "stdout";
83 printf("A test of \"fprintf\" to file: \"%s\".\r\n\n", path);
85 if(f != (FILE*)0)
87 testPrintf(f);
88 testFputs(f);
90 else
92 printf("File could not be opened.\r\n" );
95 return 0;