librazor/test.lua
author J. Ali Harlow <ali@juiblex.co.uk>
Thu Oct 09 17:27:41 2014 +0100 (2014-10-09)
changeset 455 df914f383f5c
permissions -rw-r--r--
Support downloading from local repository even without libcurl

Using the --url option of the razor executable, it is possible
to specify a yum repository on the local machine (eg., on installation
media) and import from there, eg.,:

C> razor --url file:///d:/ import-yum

This will be handled by libcurl if available but if not, an internal
copy routine will be used.

Note that if Microsoft's KTM implementation of atomic transactions is
used, then the current directory must support atomic transactions
(also improve error messages for this, and other, cases).
     1 dofile("/testfile")
     2 assert(loadfile("/testfile"))
     3 assert(io.input("/testfile"))
     4 assert(io.output("/file1"))
     5 file = assert(io.open("/file1", "w"))
     6 assert(io.input(file))
     7 assert(io.output(file))
     8 file:write("Hello world\n")
     9 file:close()
    10 assert(io.input())
    11 assert(io.output())
    12 for line in assert(io.lines("/file1")) do
    13 	assert(line == "Hello world")
    14 end
    15 file, err = io.popen("/testfile", "r")
    16 if file == nil then
    17 	assert(string.find(err, " not supported") == 1)
    18 else
    19 	assert(file:read() == "Abracadabra!")
    20 	file:close();
    21 end
    22 assert(os.rename("/file1","/file2"))
    23 assert(os.remove("/file2"))
    24 assert(posix.mkdir("/testdir"))
    25 assert(posix.stat("/testdir"))
    26 assert(posix.chdir("/testdir"))
    27 assert(posix.getcwd() == "/testdir")
    28 assert(posix.mkdir("dir1"))
    29 assert(posix.link("/testdir/dir1", "/testdir/link", true))
    30 assert(posix.readlink("/testdir/link") == "/testdir/dir1")
    31 assert(posix.unlink("/testdir/link"))
    32 assert(posix.link("/testfile", "/testdir/magic", false))
    33 assert(posix.chmod("/testfile","a+x"))
    34 assert(posix.access("/testfile","x"))
    35 pid = posix.fork()
    36 if pid == 0 then
    37 	assert(posix.exec("/testfile"))
    38 else
    39 	posix.wait(pid)
    40 end
    41 assert(posix.chdir("/"))
    42 posix.setenv("PATH","/bin:/usr/bin:/testdir",true)
    43 pid = posix.fork()
    44 if pid == 0 then
    45 	assert(posix.execp("magic"))
    46 else
    47 	posix.wait(pid)
    48 end
    49 assert(posix.utime("/testfile"))
    50 assert(posix.pathconf("/testdir/magic"))
    51 assert(posix.mkfifo("/testdir/fifo"))
    52 assert(posix.dir())
    53 assert(posix.dir("/testdir"))
    54 assert(posix.files())
    55 assert(posix.files("/testdir"))
    56 for _,f in pairs(posix.glob("/testdir/*")) do
    57 	assert(string.find(f, "/testdir/") == 1)
    58 end
    59 assert(posix.rmdir("/testdir/dir1"))
    60 assert(posix.chown("/testfile",-1,-1))