]> pd.if.org Git - zpackage/blob - t/add.t
support for package dependencies
[zpackage] / t / add.t
1 #!/bin/sh
2
3 # test addfile
4
5 #printf "# PATH=%s\n" "$PATH" 1>&2
6 . tap.sh
7
8 PF=test.db
9
10 plan 34
11
12 require rm -rf tmp
13 require mkdir tmp
14 cd tmp || bailout 'cannot cd to tmp'
15
16 echo foo > foo
17 okexit 'making foo'
18
19 pkgid=zpmtest-1.0-1
20 PF=zpmtest-1.0-1.zpm
21
22 require -v zpm newpackage -C $pkgid
23 require -v zpm add -vvv -f $PF -p $pkgid foo
24 h=$(zpm hash foo)
25 require -v zpm extract -f zpmtest-1.0-1.zpm $h foo2
26 h2=$(zpm hash foo2)
27 okstreq "$h" "$h2" "foo and foo2 hash match"
28
29 pkglist=$(zpm showpkg zpmtest-1.0-1.zpm)
30 set $pkglist
31 okstreq "$1" "zpmtest" package name
32 okstreq "$2" "1.0" package version
33 okstreq "$3" "1" package release
34 okstreq "$4" "/foo" file foo in package
35 diag "$pkglist"
36
37 rm -f $PF
38 require zpm newpackage -f $PF -C $pkgid
39 require zpm add -f $PF -p zpmtest foo
40 rm -f foo2
41 require zpm extract -f $PF $h foo2
42 h2=$(zpm hash foo2)
43 okstreq "$h" "$h2"
44
45 pkglist=$(zpm showpkg $PF)
46 set $pkglist
47 okstreq "$1" "zpmtest" package name
48 okstreq "$2" "1.0" package version
49 okstreq "$3" "1" package release
50 okstreq "$4" "/foo" file foo in package
51 diag "$pkglist"
52
53 rm -f $PF
54 mkdir subdir
55 touch subdir/foo
56 require zpm newpackage -f $PF -C $pkgid
57 require -v zpm add -f $PF -S subdir -p zpmtest subdir/foo
58 fn=$(zpm showpkg $PF | awk '{print $4}')
59 okstreq "$fn" "/foo" file foo in package prefix striped
60 rm -f $PF
61
62 require zpm newpackage -f $PF -C $pkgid
63 require zpm add -f $PF -p zpmtest foo
64 ph=$(zpm pkg -f $PF zpmtest hash)
65 okstreq "$ph" "" package hash empty
66 mtime=$(zpm pkg -f $PF zpmtest build_time)
67 okstreq "$ph" "" package mtime empty
68
69 zpm add -C -f $PF -p zpmtest subdir/foo
70 okexit added file and completed package
71 ph=$(zpm pkg -f $PF zpmtest hash)
72 test -n "$ph"
73 okexit package hash not empty
74 diag "hash: $ph"
75 mtime=$(zpm pkg -f $PF zpmtest build_time)
76 test -n "$mtime"
77 okexit package mtime not empty
78
79 touch subdir/bar
80 require zpm add -f $PF -p zpmtest subdir/bar
81 ph=$(zpm pkg -f $PF zpmtest hash)
82 okstreq "$ph" "" package hash cleared
83 mtime=$(zpm pkg -f $PF zpmtest build_time)
84 okstreq "$ph" "" package mtime cleared
85
86 echo junk data > subdir/baz
87 require zpm add -f $PF subdir/baz
88 rm $PF
89 require zpm add -i -f $PF subdir/baz
90
91 finish
92
93 cd ..
94 rm -rf tmp