From a538edba2d461f785093f36e48c046cce3eee920 Mon Sep 17 00:00:00 2001 From: "Kartik K. Agaram" Date: Sat, 5 Mar 2016 23:59:59 -0800 Subject: 2729 --- Readme.md | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/Readme.md b/Readme.md index af869685..260bbdea 100644 --- a/Readme.md +++ b/Readme.md @@ -32,13 +32,18 @@ recording manual tests right after the first time you perform them: I hope to attain this world by creating a comprehensive library of fakes and hooks for the entire software stack, at all layers of abstraction (programming -language, OS, standard libraries, application libraries). - -To reduce my workload and get to a proof-of-concept quickly, this is a very -*alien* software stack. I've stolen ideas from lots of previous systems, but -it's not like anything you're used to. The 'OS' will lack virtual memory, user -accounts, any unprivileged mode, address space isolation, and many other -features. +language, OS, standard libraries, application libraries). As a concrete +example, the `open()` syscall in modern unix implicitly requires the file +system. The implicit dependency makes it hard to test code that calls +`open()`. The Mu Way is to make the file system an explicit argument, thereby +allowing us to use a fake file system in tests. We do this for every syscall, +every possible way the system can interact with the outside world. + +As you might surmise, this is a lot of work. To reduce my workload and get to +a proof-of-concept quickly, this is a very *alien* software stack. I've stolen +ideas from lots of previous systems, but it's not like anything you're used +to. The 'OS' will lack virtual memory, user accounts, any unprivileged mode, +address space isolation, and many other features. To avoid building a compiler I'm going to do all my programming in (extremely type-safe) assembly (for an idealized virtual machine that nonetheless will -- cgit 1.4.1-2-gfad0 value='v1.4.4'/>
path: root/test/tc_commandlist.py
blob: 12f78b14d7517f8f2c3a36f67494e9b70b59d2af (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85