diff options
| -rw-r--r-- | meta/lib/oeqa/selftest/wic.py | 72 |
1 files changed, 42 insertions, 30 deletions
diff --git a/meta/lib/oeqa/selftest/wic.py b/meta/lib/oeqa/selftest/wic.py index b279b8ccb7..355a69ca1c 100644 --- a/meta/lib/oeqa/selftest/wic.py +++ b/meta/lib/oeqa/selftest/wic.py | |||
| @@ -36,8 +36,8 @@ from oeqa.utils.decorators import testcase | |||
| 36 | class Wic(oeSelfTest): | 36 | class Wic(oeSelfTest): |
| 37 | """Wic test class.""" | 37 | """Wic test class.""" |
| 38 | 38 | ||
| 39 | resultdir = "/var/tmp/wic/build/" | ||
| 40 | alternate_resultdir = "/var/tmp/wic/build/alt/" | 39 | alternate_resultdir = "/var/tmp/wic/build/alt/" |
| 40 | resultdir = "/var/tmp/wic.oe-selftest/" | ||
| 41 | image_is_ready = False | 41 | image_is_ready = False |
| 42 | wicenv_cache = {} | 42 | wicenv_cache = {} |
| 43 | 43 | ||
| @@ -56,6 +56,10 @@ class Wic(oeSelfTest): | |||
| 56 | 56 | ||
| 57 | rmtree(self.resultdir, ignore_errors=True) | 57 | rmtree(self.resultdir, ignore_errors=True) |
| 58 | 58 | ||
| 59 | def tearDownLocal(self): | ||
| 60 | """Remove resultdir as it may contain images.""" | ||
| 61 | rmtree(self.resultdir, ignore_errors=True) | ||
| 62 | |||
| 59 | @testcase(1552) | 63 | @testcase(1552) |
| 60 | def test_version(self): | 64 | def test_version(self): |
| 61 | """Test wic --version""" | 65 | """Test wic --version""" |
| @@ -134,14 +138,14 @@ class Wic(oeSelfTest): | |||
| 134 | @testcase(1211) | 138 | @testcase(1211) |
| 135 | def test_build_image_name(self): | 139 | def test_build_image_name(self): |
| 136 | """Test wic create directdisk --image-name=core-image-minimal""" | 140 | """Test wic create directdisk --image-name=core-image-minimal""" |
| 137 | cmd = "wic create directdisk --image-name=core-image-minimal" | 141 | cmd = "wic create directdisk --image-name=core-image-minimal -o %s" % self.resultdir |
| 138 | self.assertEqual(0, runCmd(cmd).status) | 142 | self.assertEqual(0, runCmd(cmd).status) |
| 139 | self.assertEqual(1, len(glob(self.resultdir + "directdisk-*.direct"))) | 143 | self.assertEqual(1, len(glob(self.resultdir + "directdisk-*.direct"))) |
| 140 | 144 | ||
| 141 | @testcase(1157) | 145 | @testcase(1157) |
| 142 | def test_gpt_image(self): | 146 | def test_gpt_image(self): |
| 143 | """Test creation of core-image-minimal with gpt table and UUID boot""" | 147 | """Test creation of core-image-minimal with gpt table and UUID boot""" |
| 144 | cmd = "wic create directdisk-gpt --image-name core-image-minimal" | 148 | cmd = "wic create directdisk-gpt --image-name core-image-minimal -o %s" % self.resultdir |
| 145 | self.assertEqual(0, runCmd(cmd).status) | 149 | self.assertEqual(0, runCmd(cmd).status) |
| 146 | self.assertEqual(1, len(glob(self.resultdir + "directdisk-*.direct"))) | 150 | self.assertEqual(1, len(glob(self.resultdir + "directdisk-*.direct"))) |
| 147 | 151 | ||
| @@ -152,7 +156,7 @@ class Wic(oeSelfTest): | |||
| 152 | self.append_config(config) | 156 | self.append_config(config) |
| 153 | bitbake('core-image-minimal') | 157 | bitbake('core-image-minimal') |
| 154 | self.remove_config(config) | 158 | self.remove_config(config) |
| 155 | cmd = "wic create mkhybridiso --image-name core-image-minimal" | 159 | cmd = "wic create mkhybridiso --image-name core-image-minimal -o %s" % self.resultdir |
| 156 | self.assertEqual(0, runCmd(cmd).status) | 160 | self.assertEqual(0, runCmd(cmd).status) |
| 157 | self.assertEqual(1, len(glob(self.resultdir + "HYBRID_ISO_IMG-*.direct"))) | 161 | self.assertEqual(1, len(glob(self.resultdir + "HYBRID_ISO_IMG-*.direct"))) |
| 158 | self.assertEqual(1, len(glob(self.resultdir + "HYBRID_ISO_IMG-*.iso"))) | 162 | self.assertEqual(1, len(glob(self.resultdir + "HYBRID_ISO_IMG-*.iso"))) |
| @@ -160,21 +164,21 @@ class Wic(oeSelfTest): | |||
| 160 | @testcase(1348) | 164 | @testcase(1348) |
| 161 | def test_qemux86_directdisk(self): | 165 | def test_qemux86_directdisk(self): |
| 162 | """Test creation of qemux-86-directdisk image""" | 166 | """Test creation of qemux-86-directdisk image""" |
| 163 | cmd = "wic create qemux86-directdisk -e core-image-minimal" | 167 | cmd = "wic create qemux86-directdisk -e core-image-minimal -o %s" % self.resultdir |
| 164 | self.assertEqual(0, runCmd(cmd).status) | 168 | self.assertEqual(0, runCmd(cmd).status) |
| 165 | self.assertEqual(1, len(glob(self.resultdir + "qemux86-directdisk-*direct"))) | 169 | self.assertEqual(1, len(glob(self.resultdir + "qemux86-directdisk-*direct"))) |
| 166 | 170 | ||
| 167 | @testcase(1350) | 171 | @testcase(1350) |
| 168 | def test_mkefidisk(self): | 172 | def test_mkefidisk(self): |
| 169 | """Test creation of mkefidisk image""" | 173 | """Test creation of mkefidisk image""" |
| 170 | cmd = "wic create mkefidisk -e core-image-minimal" | 174 | cmd = "wic create mkefidisk -e core-image-minimal -o %s" % self.resultdir |
| 171 | self.assertEqual(0, runCmd(cmd).status) | 175 | self.assertEqual(0, runCmd(cmd).status) |
| 172 | self.assertEqual(1, len(glob(self.resultdir + "mkefidisk-*direct"))) | 176 | self.assertEqual(1, len(glob(self.resultdir + "mkefidisk-*direct"))) |
| 173 | 177 | ||
| 174 | @testcase(1385) | 178 | @testcase(1385) |
| 175 | def test_directdisk_bootloader_config(self): | 179 | def test_directdisk_bootloader_config(self): |
| 176 | """Test creation of directdisk-bootloader-config image""" | 180 | """Test creation of directdisk-bootloader-config image""" |
| 177 | cmd = "wic create directdisk-bootloader-config -e core-image-minimal" | 181 | cmd = "wic create directdisk-bootloader-config -e core-image-minimal -o %s" % self.resultdir |
| 178 | self.assertEqual(0, runCmd(cmd).status) | 182 | self.assertEqual(0, runCmd(cmd).status) |
| 179 | self.assertEqual(1, len(glob(self.resultdir + "directdisk-bootloader-config-*direct"))) | 183 | self.assertEqual(1, len(glob(self.resultdir + "directdisk-bootloader-config-*direct"))) |
| 180 | 184 | ||
| @@ -185,14 +189,14 @@ class Wic(oeSelfTest): | |||
| 185 | self.append_config(config) | 189 | self.append_config(config) |
| 186 | bitbake('core-image-minimal') | 190 | bitbake('core-image-minimal') |
| 187 | self.remove_config(config) | 191 | self.remove_config(config) |
| 188 | cmd = "wic create systemd-bootdisk -e core-image-minimal" | 192 | cmd = "wic create systemd-bootdisk -e core-image-minimal -o %s" % self.resultdir |
| 189 | self.assertEqual(0, runCmd(cmd).status) | 193 | self.assertEqual(0, runCmd(cmd).status) |
| 190 | self.assertEqual(1, len(glob(self.resultdir + "systemd-bootdisk-*direct"))) | 194 | self.assertEqual(1, len(glob(self.resultdir + "systemd-bootdisk-*direct"))) |
| 191 | 195 | ||
| 192 | @testcase(1561) | 196 | @testcase(1561) |
| 193 | def test_sdimage_bootpart(self): | 197 | def test_sdimage_bootpart(self): |
| 194 | """Test creation of sdimage-bootpart image""" | 198 | """Test creation of sdimage-bootpart image""" |
| 195 | cmd = "wic create sdimage-bootpart -e core-image-minimal" | 199 | cmd = "wic create sdimage-bootpart -e core-image-minimal -o %s" % self.resultdir |
| 196 | self.write_config('IMAGE_BOOT_FILES = "bzImage"\n') | 200 | self.write_config('IMAGE_BOOT_FILES = "bzImage"\n') |
| 197 | self.assertEqual(0, runCmd(cmd).status) | 201 | self.assertEqual(0, runCmd(cmd).status) |
| 198 | self.assertEqual(1, len(glob(self.resultdir + "sdimage-bootpart-*direct"))) | 202 | self.assertEqual(1, len(glob(self.resultdir + "sdimage-bootpart-*direct"))) |
| @@ -219,11 +223,13 @@ class Wic(oeSelfTest): | |||
| 219 | bbvars = dict((var.lower(), get_bb_var(var, 'core-image-minimal')) | 223 | bbvars = dict((var.lower(), get_bb_var(var, 'core-image-minimal')) |
| 220 | for var in ('STAGING_DATADIR', 'DEPLOY_DIR_IMAGE', 'IMAGE_ROOTFS')) | 224 | for var in ('STAGING_DATADIR', 'DEPLOY_DIR_IMAGE', 'IMAGE_ROOTFS')) |
| 221 | bbvars['recipe_sysroot_native'] = get_bb_var('RECIPE_SYSROOT_NATIVE', 'wic-tools') | 225 | bbvars['recipe_sysroot_native'] = get_bb_var('RECIPE_SYSROOT_NATIVE', 'wic-tools') |
| 226 | bbvars['resultdir'] = self.resultdir | ||
| 222 | status = runCmd("wic create directdisk " | 227 | status = runCmd("wic create directdisk " |
| 223 | "-b %(staging_datadir)s " | 228 | "-b %(staging_datadir)s " |
| 224 | "-k %(deploy_dir_image)s " | 229 | "-k %(deploy_dir_image)s " |
| 225 | "-n %(recipe_sysroot_native)s " | 230 | "-n %(recipe_sysroot_native)s " |
| 226 | "-r %(image_rootfs)s" % bbvars).status | 231 | "-r %(image_rootfs)s " |
| 232 | "-o %(resultdir)s" % bbvars).status | ||
| 227 | self.assertEqual(0, status) | 233 | self.assertEqual(0, status) |
| 228 | self.assertEqual(1, len(glob(self.resultdir + "directdisk-*.direct"))) | 234 | self.assertEqual(1, len(glob(self.resultdir + "directdisk-*.direct"))) |
| 229 | 235 | ||
| @@ -232,7 +238,7 @@ class Wic(oeSelfTest): | |||
| 232 | """Test compressing an image with gzip""" | 238 | """Test compressing an image with gzip""" |
| 233 | self.assertEqual(0, runCmd("wic create directdisk " | 239 | self.assertEqual(0, runCmd("wic create directdisk " |
| 234 | "--image-name core-image-minimal " | 240 | "--image-name core-image-minimal " |
| 235 | "-c gzip").status) | 241 | "-c gzip -o %s" % self.resultdir).status) |
| 236 | self.assertEqual(1, len(glob(self.resultdir + "directdisk-*.direct.gz"))) | 242 | self.assertEqual(1, len(glob(self.resultdir + "directdisk-*.direct.gz"))) |
| 237 | 243 | ||
| 238 | @testcase(1265) | 244 | @testcase(1265) |
| @@ -240,7 +246,7 @@ class Wic(oeSelfTest): | |||
| 240 | """Test compressing an image with bzip2""" | 246 | """Test compressing an image with bzip2""" |
| 241 | self.assertEqual(0, runCmd("wic create directdisk " | 247 | self.assertEqual(0, runCmd("wic create directdisk " |
| 242 | "--image-name=core-image-minimal " | 248 | "--image-name=core-image-minimal " |
| 243 | "-c bzip2").status) | 249 | "-c bzip2 -o %s" % self.resultdir).status) |
| 244 | self.assertEqual(1, len(glob(self.resultdir + "directdisk-*.direct.bz2"))) | 250 | self.assertEqual(1, len(glob(self.resultdir + "directdisk-*.direct.bz2"))) |
| 245 | 251 | ||
| 246 | @testcase(1266) | 252 | @testcase(1266) |
| @@ -248,7 +254,7 @@ class Wic(oeSelfTest): | |||
| 248 | """Test compressing an image with xz""" | 254 | """Test compressing an image with xz""" |
| 249 | self.assertEqual(0, runCmd("wic create directdisk " | 255 | self.assertEqual(0, runCmd("wic create directdisk " |
| 250 | "--image-name=core-image-minimal " | 256 | "--image-name=core-image-minimal " |
| 251 | "--compress-with=xz").status) | 257 | "--compress-with=xz -o %s" % self.resultdir).status) |
| 252 | self.assertEqual(1, len(glob(self.resultdir + "directdisk-*.direct.xz"))) | 258 | self.assertEqual(1, len(glob(self.resultdir + "directdisk-*.direct.xz"))) |
| 253 | 259 | ||
| 254 | @testcase(1267) | 260 | @testcase(1267) |
| @@ -256,21 +262,22 @@ class Wic(oeSelfTest): | |||
| 256 | """Test how wic breaks if wrong compressor is provided""" | 262 | """Test how wic breaks if wrong compressor is provided""" |
| 257 | self.assertEqual(2, runCmd("wic create directdisk " | 263 | self.assertEqual(2, runCmd("wic create directdisk " |
| 258 | "--image-name=core-image-minimal " | 264 | "--image-name=core-image-minimal " |
| 259 | "-c wrong", ignore_status=True).status) | 265 | "-c wrong -o %s" % self.resultdir, |
| 266 | ignore_status=True).status) | ||
| 260 | 267 | ||
| 261 | @testcase(1558) | 268 | @testcase(1558) |
| 262 | def test_debug_short(self): | 269 | def test_debug_short(self): |
| 263 | """Test -D option""" | 270 | """Test -D option""" |
| 264 | self.assertEqual(0, runCmd("wic create directdisk " | 271 | self.assertEqual(0, runCmd("wic create directdisk " |
| 265 | "--image-name=core-image-minimal " | 272 | "--image-name=core-image-minimal " |
| 266 | "-D").status) | 273 | "-D -o %s" % self.resultdir).status) |
| 267 | self.assertEqual(1, len(glob(self.resultdir + "directdisk-*.direct"))) | 274 | self.assertEqual(1, len(glob(self.resultdir + "directdisk-*.direct"))) |
| 268 | 275 | ||
| 269 | def test_debug_long(self): | 276 | def test_debug_long(self): |
| 270 | """Test --debug option""" | 277 | """Test --debug option""" |
| 271 | self.assertEqual(0, runCmd("wic create directdisk " | 278 | self.assertEqual(0, runCmd("wic create directdisk " |
| 272 | "--image-name=core-image-minimal " | 279 | "--image-name=core-image-minimal " |
| 273 | "--debug").status) | 280 | "--debug -o %s" % self.resultdir).status) |
| 274 | self.assertEqual(1, len(glob(self.resultdir + "directdisk-*.direct"))) | 281 | self.assertEqual(1, len(glob(self.resultdir + "directdisk-*.direct"))) |
| 275 | 282 | ||
| 276 | @testcase(1563) | 283 | @testcase(1563) |
| @@ -278,11 +285,12 @@ class Wic(oeSelfTest): | |||
| 278 | """Test skip build check""" | 285 | """Test skip build check""" |
| 279 | self.assertEqual(0, runCmd("wic create directdisk " | 286 | self.assertEqual(0, runCmd("wic create directdisk " |
| 280 | "--image-name=core-image-minimal " | 287 | "--image-name=core-image-minimal " |
| 281 | "-s").status) | 288 | "-s -o %s" % self.resultdir).status) |
| 282 | self.assertEqual(1, len(glob(self.resultdir + "directdisk-*.direct"))) | 289 | self.assertEqual(1, len(glob(self.resultdir + "directdisk-*.direct"))) |
| 283 | self.assertEqual(0, runCmd("wic create directdisk " | 290 | self.assertEqual(0, runCmd("wic create directdisk " |
| 284 | "--image-name=core-image-minimal " | 291 | "--image-name=core-image-minimal " |
| 285 | "--skip-build-check").status) | 292 | "--skip-build-check " |
| 293 | "--outdir %s" % self.resultdir).status) | ||
| 286 | self.assertEqual(1, len(glob(self.resultdir + "directdisk-*.direct"))) | 294 | self.assertEqual(1, len(glob(self.resultdir + "directdisk-*.direct"))) |
| 287 | 295 | ||
| 288 | @testcase(1564) | 296 | @testcase(1564) |
| @@ -290,11 +298,12 @@ class Wic(oeSelfTest): | |||
| 290 | """Test build rootfs""" | 298 | """Test build rootfs""" |
| 291 | self.assertEqual(0, runCmd("wic create directdisk " | 299 | self.assertEqual(0, runCmd("wic create directdisk " |
| 292 | "--image-name=core-image-minimal " | 300 | "--image-name=core-image-minimal " |
| 293 | "-f").status) | 301 | "-f -o %s" % self.resultdir).status) |
| 294 | self.assertEqual(1, len(glob(self.resultdir + "directdisk-*.direct"))) | 302 | self.assertEqual(1, len(glob(self.resultdir + "directdisk-*.direct"))) |
| 295 | self.assertEqual(0, runCmd("wic create directdisk " | 303 | self.assertEqual(0, runCmd("wic create directdisk " |
| 296 | "--image-name=core-image-minimal " | 304 | "--image-name=core-image-minimal " |
| 297 | "--build-rootfs").status) | 305 | "--build-rootfs " |
| 306 | "--outdir %s" % self.resultdir).status) | ||
| 298 | self.assertEqual(1, len(glob(self.resultdir + "directdisk-*.direct"))) | 307 | self.assertEqual(1, len(glob(self.resultdir + "directdisk-*.direct"))) |
| 299 | 308 | ||
| 300 | @testcase(1268) | 309 | @testcase(1268) |
| @@ -303,7 +312,8 @@ class Wic(oeSelfTest): | |||
| 303 | status = runCmd("wic create directdisk-multi-rootfs " | 312 | status = runCmd("wic create directdisk-multi-rootfs " |
| 304 | "--image-name=core-image-minimal " | 313 | "--image-name=core-image-minimal " |
| 305 | "--rootfs rootfs1=core-image-minimal " | 314 | "--rootfs rootfs1=core-image-minimal " |
| 306 | "--rootfs rootfs2=core-image-minimal").status | 315 | "--rootfs rootfs2=core-image-minimal " |
| 316 | "--outdir %s" % self.resultdir).status | ||
| 307 | self.assertEqual(0, status) | 317 | self.assertEqual(0, status) |
| 308 | self.assertEqual(1, len(glob(self.resultdir + "directdisk-multi-rootfs*.direct"))) | 318 | self.assertEqual(1, len(glob(self.resultdir + "directdisk-multi-rootfs*.direct"))) |
| 309 | 319 | ||
| @@ -314,25 +324,27 @@ class Wic(oeSelfTest): | |||
| 314 | for var in ('STAGING_DATADIR', 'DEPLOY_DIR_IMAGE', 'IMAGE_ROOTFS')) | 324 | for var in ('STAGING_DATADIR', 'DEPLOY_DIR_IMAGE', 'IMAGE_ROOTFS')) |
| 315 | bbvars['recipe_sysroot_native'] = get_bb_var('RECIPE_SYSROOT_NATIVE', 'wic-tools') | 325 | bbvars['recipe_sysroot_native'] = get_bb_var('RECIPE_SYSROOT_NATIVE', 'wic-tools') |
| 316 | bbvars['wks'] = "directdisk-multi-rootfs" | 326 | bbvars['wks'] = "directdisk-multi-rootfs" |
| 327 | bbvars['resultdir'] = self.resultdir | ||
| 317 | status = runCmd("wic create %(wks)s " | 328 | status = runCmd("wic create %(wks)s " |
| 318 | "--bootimg-dir=%(staging_datadir)s " | 329 | "--bootimg-dir=%(staging_datadir)s " |
| 319 | "--kernel-dir=%(deploy_dir_image)s " | 330 | "--kernel-dir=%(deploy_dir_image)s " |
| 320 | "--native-sysroot=%(recipe_sysroot_native)s " | 331 | "--native-sysroot=%(recipe_sysroot_native)s " |
| 321 | "--rootfs-dir rootfs1=%(image_rootfs)s " | 332 | "--rootfs-dir rootfs1=%(image_rootfs)s " |
| 322 | "--rootfs-dir rootfs2=%(image_rootfs)s" | 333 | "--rootfs-dir rootfs2=%(image_rootfs)s " |
| 323 | % bbvars).status | 334 | "--outdir %(resultdir)s" % bbvars).status |
| 324 | self.assertEqual(0, status) | 335 | self.assertEqual(0, status) |
| 325 | self.assertEqual(1, len(glob(self.resultdir + "%(wks)s-*.direct" % bbvars))) | 336 | self.assertEqual(1, len(glob(self.resultdir + "%(wks)s-*.direct" % bbvars))) |
| 326 | 337 | ||
| 327 | @testcase(1496) | 338 | @testcase(1496) |
| 328 | def test_bmap(self): | 339 | def test_bmap(self): |
| 329 | """Test generation of .bmap file""" | 340 | """Test generation of .bmap file""" |
| 330 | cmd = "wic create directdisk -e core-image-minimal -m" | 341 | cmd = "wic create directdisk -e core-image-minimal -m -o %s" % self.resultdir |
| 331 | status = runCmd(cmd).status | 342 | status = runCmd(cmd).status |
| 332 | self.assertEqual(0, status) | 343 | self.assertEqual(0, status) |
| 333 | self.assertEqual(1, len(glob(self.resultdir + "directdisk-*direct"))) | 344 | self.assertEqual(1, len(glob(self.resultdir + "directdisk-*direct"))) |
| 334 | self.assertEqual(1, len(glob(self.resultdir + "directdisk-*direct.bmap"))) | 345 | self.assertEqual(1, len(glob(self.resultdir + "directdisk-*direct.bmap"))) |
| 335 | cmd = "wic create directdisk -e core-image-minimal --bmap" | 346 | rmtree(self.resultdir) |
| 347 | cmd = "wic create directdisk -e core-image-minimal --bmap -o %s" % self.resultdir | ||
| 336 | status = runCmd(cmd).status | 348 | status = runCmd(cmd).status |
| 337 | self.assertEqual(0, status) | 349 | self.assertEqual(0, status) |
| 338 | self.assertEqual(1, len(glob(self.resultdir + "directdisk-*direct"))) | 350 | self.assertEqual(1, len(glob(self.resultdir + "directdisk-*direct"))) |
| @@ -375,13 +387,13 @@ class Wic(oeSelfTest): | |||
| 375 | imgenvdir = self._get_image_env_path(image) | 387 | imgenvdir = self._get_image_env_path(image) |
| 376 | 388 | ||
| 377 | self.assertEqual(0, runCmd("wic create directdisk " | 389 | self.assertEqual(0, runCmd("wic create directdisk " |
| 378 | "--image-name=%s " | 390 | "--image-name=%s -v %s -o %s" |
| 379 | "-v %s" | 391 | % (image, imgenvdir, self.resultdir)).status) |
| 380 | % (image, imgenvdir)).status) | ||
| 381 | self.assertEqual(0, runCmd("wic create directdisk " | 392 | self.assertEqual(0, runCmd("wic create directdisk " |
| 382 | "--image-name=%s " | 393 | "--image-name=%s " |
| 383 | "--vars %s" | 394 | "--vars %s " |
| 384 | % (image, imgenvdir)).status) | 395 | "--outdir %s" |
| 396 | % (image, imgenvdir, self.resultdir)).status) | ||
| 385 | 397 | ||
| 386 | @testcase(1351) | 398 | @testcase(1351) |
| 387 | def test_wic_image_type(self): | 399 | def test_wic_image_type(self): |
