mirror of
https://github.com/aptly-dev/aptly.git
synced 2026-05-08 22:30:41 +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?
|
// unable to stat target location?
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
// file doesn't exist, that's ok
|
|
||||||
} else {
|
} else {
|
||||||
|
// target already exists
|
||||||
if targetInfo.Size() != sourceInfo.Size() {
|
if targetInfo.Size() != sourceInfo.Size() {
|
||||||
// trying to overwrite file?
|
// trying to overwrite file?
|
||||||
return fmt.Errorf("unable to import into pool: file %s already exists", poolPath)
|
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
|
// create subdirs as necessary
|
||||||
|
|||||||
@@ -156,6 +156,7 @@ class BaseTest(object):
|
|||||||
'files': os.path.join(os.path.dirname(inspect.getsourcefile(BaseTest)), "files"),
|
'files': os.path.join(os.path.dirname(inspect.getsourcefile(BaseTest)), "files"),
|
||||||
'udebs': os.path.join(os.path.dirname(inspect.getsourcefile(BaseTest)), "udebs"),
|
'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__),
|
'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:
|
if self.fixtureWebServer:
|
||||||
params['url'] = self.webServerUrl
|
params['url'] = self.webServerUrl
|
||||||
@@ -258,6 +259,10 @@ class BaseTest(object):
|
|||||||
if os.path.exists(os.path.join(os.environ["HOME"], ".aptly", path)):
|
if os.path.exists(os.path.join(os.environ["HOME"], ".aptly", path)):
|
||||||
raise Exception("path %s exists" % (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):
|
def check_equal(self, a, b):
|
||||||
if a != b:
|
if a != b:
|
||||||
self.verify_match(a, b, match_prepare=pprint.pformat)
|
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
|
# check pool
|
||||||
self.check_exists('pool/72/16/dmraid-udeb_1.0.0.rc16-4.1_amd64.udeb')
|
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')
|
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