OILS / tools / smoke-test.sh View on Github | oils.pub

57 lines, 30 significant
1#!/usr/bin/env bash
2#
3# Usage:
4# tools/lint-test.sh <function name>
5
6: ${LIB_OSH=stdlib/osh}
7source $LIB_OSH/bash-strict.sh
8source $LIB_OSH/task-five.sh
9source $LIB_OSH/no-quotes.sh
10
11source test/common.sh # run-test-funcs
12
13test-lint-backticks() {
14 local status stdout
15 nq-capture status stdout \
16 $OSH --tool lint -c 'a=`echo hi`'
17
18 nq-assert $status -eq 0
19
20 # TODO: stdout should contain a message
21 echo stdout=$stdout
22}
23
24test-deps() {
25 local status stdout
26 nq-capture status stdout \
27 $OSH --tool deps regtest/aports-html.sh
28
29 nq-assert $status -eq 0
30
31 # TODO: print out the assertion
32
33 # This works somewhat! Prints awk/ssh/wget/unzip, etc.
34 # But it probably doesn't follow 'source' ?
35
36 echo "stdout=$stdout"
37}
38
39test-fmt() {
40 local status stdout
41
42 # Bad indenting
43 nq-capture status stdout \
44 $OSH --tool fmt -c 'echo 1
45 echo 2
46echo3'
47
48 nq-assert $status -eq 0
49
50 echo "stdout=$stdout"
51}
52
53soil-run() {
54 run-test-funcs
55}
56
57task-five "$@"