]> pd.if.org Git - zpackage/blob - t/add.t
switch to blake2
[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 diag "hash $h"
26 require -v zpm extract -f zpmtest-1.0-1.zpm $h foo2
27 h2=$(zpm hash foo2)
28 okstreq "$h" "$h2" "foo and foo2 hash match"
29
30 pkglist=$(zpm showpkg zpmtest-1.0-1.zpm)
31 set $pkglist
32 okstreq "$1" "zpmtest" package name
33 okstreq "$2" "1.0" package version
34 okstreq "$3" "1" package release
35 okstreq "$4" "/foo" file foo in package
36 diag "$pkglist"
37
38 rm -f $PF
39 require zpm newpackage -f $PF -C $pkgid
40 require zpm add -f $PF -p zpmtest foo
41 rm -f foo2
42 require zpm extract -f $PF $h foo2
43 h2=$(zpm hash foo2)
44 okstreq "$h" "$h2"
45
46 pkglist=$(zpm showpkg $PF)
47 set $pkglist
48 okstreq "$1" "zpmtest" package name
49 okstreq "$2" "1.0" package version
50 okstreq "$3" "1" package release
51 okstreq "$4" "/foo" file foo in package
52 diag "$pkglist"
53
54 rm -f $PF
55 mkdir subdir
56 touch subdir/foo
57 require zpm newpackage -f $PF -C $pkgid
58 require -v zpm add -f $PF -S subdir -p zpmtest subdir/foo
59 fn=$(zpm showpkg $PF | awk '{print $4}')
60 okstreq "$fn" "/foo" file foo in package prefix striped
61 rm -f $PF
62
63 require zpm newpackage -f $PF -C $pkgid
64 require zpm add -f $PF -p zpmtest foo
65 ph=$(zpm pkg -f $PF zpmtest hash)
66 okstreq "$ph" "" package hash empty
67 mtime=$(zpm pkg -f $PF zpmtest build_time)
68 okstreq "$ph" "" package mtime empty
69
70 zpm add -C -f $PF -p zpmtest subdir/foo
71 okexit added file and completed package
72 ph=$(zpm pkg -f $PF zpmtest hash)
73 test -n "$ph"
74 okexit package hash not empty
75 diag "hash: $ph"
76 mtime=$(zpm pkg -f $PF zpmtest build_time)
77 test -n "$mtime"
78 okexit package mtime not empty
79
80 touch subdir/bar
81 require zpm add -f $PF -p zpmtest subdir/bar
82 ph=$(zpm pkg -f $PF zpmtest hash)
83 okstreq "$ph" "" package hash cleared
84 mtime=$(zpm pkg -f $PF zpmtest build_time)
85 okstreq "$ph" "" package mtime cleared
86
87 echo junk data > subdir/baz
88 require zpm add -f $PF subdir/baz
89 rm $PF
90 require zpm add -i -f $PF subdir/baz
91
92 finish
93
94 cd ..
95 rm -rf tmp