mirror of
https://github.com/aptly-dev/aptly.git
synced 2026-05-06 22:18:28 +00:00
Merge branch 'queeno-fix_truncation_bug'
This commit is contained in:
@@ -128,12 +128,15 @@ func (pool *PackagePool) Import(path string, hashMD5 string) error {
|
||||
// unable to stat target location?
|
||||
return err
|
||||
}
|
||||
// file doesn't exist, that's ok
|
||||
} else {
|
||||
// target already exists
|
||||
if targetInfo.Size() != sourceInfo.Size() {
|
||||
// trying to overwrite file?
|
||||
return fmt.Errorf("unable to import into pool: file %s already exists", poolPath)
|
||||
}
|
||||
|
||||
// assume that target is already there
|
||||
return nil
|
||||
}
|
||||
|
||||
// create subdirs as necessary
|
||||
|
||||
@@ -156,6 +156,7 @@ class BaseTest(object):
|
||||
'files': os.path.join(os.path.dirname(inspect.getsourcefile(BaseTest)), "files"),
|
||||
'udebs': os.path.join(os.path.dirname(inspect.getsourcefile(BaseTest)), "udebs"),
|
||||
'testfiles': os.path.join(os.path.dirname(inspect.getsourcefile(self.__class__)), self.__class__.__name__),
|
||||
'aptlyroot': os.path.join(os.environ["HOME"], ".aptly"),
|
||||
}
|
||||
if self.fixtureWebServer:
|
||||
params['url'] = self.webServerUrl
|
||||
@@ -258,6 +259,10 @@ class BaseTest(object):
|
||||
if os.path.exists(os.path.join(os.environ["HOME"], ".aptly", path)):
|
||||
raise Exception("path %s exists" % (path, ))
|
||||
|
||||
def check_file_not_empty(self, path):
|
||||
if os.stat(os.path.join(os.environ["HOME"], ".aptly", path))[6] == 0:
|
||||
raise Exception("file %s is empty" % (path, ))
|
||||
|
||||
def check_equal(self, a, b):
|
||||
if a != b:
|
||||
self.verify_match(a, b, match_prepare=pprint.pformat)
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
Loading packages...
|
||||
[+] libboost-program-options-dev_1.49.0.1_i386 added
|
||||
@@ -267,3 +267,19 @@ class AddRepo13Test(BaseTest):
|
||||
# check pool
|
||||
self.check_exists('pool/72/16/dmraid-udeb_1.0.0.rc16-4.1_amd64.udeb')
|
||||
self.check_exists('pool/b7/2c/pyspi_0.6.1-1.3.dsc')
|
||||
|
||||
|
||||
class AddRepo14Test(BaseTest):
|
||||
"""
|
||||
add same package to local repo twice and make sure the file doesn't get truncated.
|
||||
"""
|
||||
fixtureCmds = [
|
||||
"aptly repo create -comment=Repo14 -distribution=squeeze repo14",
|
||||
"aptly repo add repo14 ${files}/libboost-program-options-dev_1.49.0.1_i386.deb"
|
||||
]
|
||||
runCmd = "aptly repo add repo14 $aptlyroot/pool/00/35/libboost-program-options-dev_1.49.0.1_i386.deb"
|
||||
|
||||
def check(self):
|
||||
super(AddRepo14Test, self).check()
|
||||
# check pool
|
||||
self.check_file_not_empty('pool/00/35/libboost-program-options-dev_1.49.0.1_i386.deb')
|
||||
|
||||
Reference in New Issue
Block a user