distribute tests
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
This commit is contained in:
		
					parent
					
						
							
								19ad2fe4a9
							
						
					
				
			
			
				commit
				
					
						c674d4a94c
					
				
			
		
					 3 changed files with 115 additions and 113 deletions
				
			
		| 
						 | 
					@ -1,7 +1,61 @@
 | 
				
			||||||
2.0.3:
 | 
					2.0.3:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- fix emulator / require
 | 
					- fix emulator / require
 | 
				
			||||||
- sanity checks
 | 
					- sanity checks: implement tests
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   stage_run()
 | 
				
			||||||
 | 
					      - ensure that for every object in
 | 
				
			||||||
 | 
					         cdist.core.Object.list_objects() is passed into
 | 
				
			||||||
 | 
					         self.object_run()
 | 
				
			||||||
 | 
					         - instantiate + overwrite + test
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   object_prepare():
 | 
				
			||||||
 | 
					      - calls (in this order):
 | 
				
			||||||
 | 
					         self.run_type_explorer(cdist_object)
 | 
				
			||||||
 | 
					         self.run_type_manifest(cdist_object)
 | 
				
			||||||
 | 
					         cdist_object.prepared = True
 | 
				
			||||||
 | 
					      - object is prepared after function call
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   stage_prepare():
 | 
				
			||||||
 | 
					      - calls (in this order):
 | 
				
			||||||
 | 
					         self.link_emulator()
 | 
				
			||||||
 | 
					         self.run_global_explorers()
 | 
				
			||||||
 | 
					         self.run_initial_manifest()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      - ensure that all objects are created :-)
 | 
				
			||||||
 | 
					         - as defined in inital manifest + type manifests
 | 
				
			||||||
 | 
					         
 | 
				
			||||||
 | 
					   deploy_to()
 | 
				
			||||||
 | 
					      - ensure self.stage_prepare() and self.stage_run() are
 | 
				
			||||||
 | 
					         run. [ORDER]
 | 
				
			||||||
 | 
					         - instantiate + overwrite + test
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   deploy_and_cleanup()
 | 
				
			||||||
 | 
					      - ensure self.deploy_to() + self.cleanup() are are run
 | 
				
			||||||
 | 
					         run. [ORDER]
 | 
				
			||||||
 | 
					         - instantiate + overwrite + test
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   transfer_object_parameter()
 | 
				
			||||||
 | 
					      - check that object parameters are transferred
 | 
				
			||||||
 | 
					      - paths are setup correctly
 | 
				
			||||||
 | 
					         - test via mock of remote_mkdir and transfer_path
 | 
				
			||||||
 | 
					      - ensure self.remote_mkdir, self.transfer_path are run. [ORDER]
 | 
				
			||||||
 | 
					         - instantiate + overwrite + test
 | 
				
			||||||
 | 
					   
 | 
				
			||||||
 | 
					   transfer_global_explorers()
 | 
				
			||||||
 | 
					      - paths are setup correctly
 | 
				
			||||||
 | 
					         - test via mock of self.remote_mkdir() and self.transfer_path()
 | 
				
			||||||
 | 
					      - ensure self.remote_mkdir, self.transfer_path are run. [ORDER]
 | 
				
			||||||
 | 
					         - instantiate + overwrite + test
 | 
				
			||||||
 | 
					   
 | 
				
			||||||
 | 
					   transfer_type_explorers():
 | 
				
			||||||
 | 
					      - Explorers are not transferred twice
 | 
				
			||||||
 | 
					      - paths are setup correctly
 | 
				
			||||||
 | 
					         - test via mock of self.remote_mkdir() and self.transfer_path()
 | 
				
			||||||
 | 
					      - Explorers are transferred
 | 
				
			||||||
 | 
					         - test via mock of self.remote_mkdir() and self.transfer_path()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
--------------------------------------------------------------------------------
 | 
					--------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,3 +1,63 @@
 | 
				
			||||||
 | 
					tests:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   __init__():
 | 
				
			||||||
 | 
					      - sets up env: __target_host
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   run_initial_manifest():
 | 
				
			||||||
 | 
					      - parameter is actually used (from __init__)
 | 
				
			||||||
 | 
					      - ensure changing the manifest actually runs a different manifest
 | 
				
			||||||
 | 
					      -> give ConfigInstall Constructor different manifest
 | 
				
			||||||
 | 
					         -> different manifest is executed.
 | 
				
			||||||
 | 
					      - test all submitted (from core to type manifest) variables:
 | 
				
			||||||
 | 
					         - ENVIRONMENT
 | 
				
			||||||
 | 
					         - they are set
 | 
				
			||||||
 | 
					         - they contain the correct values
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   run_type_manifest():
 | 
				
			||||||
 | 
					      - test all submitted (from core to type manifest) variables:
 | 
				
			||||||
 | 
					         - ENVIRONMENT
 | 
				
			||||||
 | 
					         - they are set
 | 
				
			||||||
 | 
					         - they contain the correct values
 | 
				
			||||||
 | 
					      - same tests as for test_initial_manifest_*?
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   run_manifest():
 | 
				
			||||||
 | 
					      - test all submitted variables:
 | 
				
			||||||
 | 
					         - ENVIRONMENT
 | 
				
			||||||
 | 
					            - including __debug, if debug
 | 
				
			||||||
 | 
					         - they are set
 | 
				
			||||||
 | 
					         - they contain the correct values
 | 
				
			||||||
 | 
					      - does $require work?
 | 
				
			||||||
 | 
					      - check that exception raised, if manifest is not existent
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   object_run():
 | 
				
			||||||
 | 
					      - ensure no object is run twice
 | 
				
			||||||
 | 
					      - ensure requirements are taken into account?
 | 
				
			||||||
 | 
					         - and order of run is adjusted
 | 
				
			||||||
 | 
					      - check (from extern?) that all needed variables are setup
 | 
				
			||||||
 | 
					      - ensure no code-{local, remote} is created, 
 | 
				
			||||||
 | 
					         if gencode is not producing code
 | 
				
			||||||
 | 
					      - ensure THAT code-{local, remote} contains what gencode created
 | 
				
			||||||
 | 
					      - abort if gencode-* fails
 | 
				
			||||||
 | 
					      - abort if code-* fails
 | 
				
			||||||
 | 
					         - abort == raise(FooException)
 | 
				
			||||||
 | 
					      - gencode-*: ensure ENVIRONMENT is setup correctly
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   run_type_explorer()
 | 
				
			||||||
 | 
					      - ensure ALL type explores have been run
 | 
				
			||||||
 | 
					      - ensure output is saved to correct path
 | 
				
			||||||
 | 
					      - ensure a type with {0,1,2} explorers works ?
 | 
				
			||||||
 | 
					         - none, one, multiple
 | 
				
			||||||
 | 
					      - ensure ENVIRONMENT is setup correctly
 | 
				
			||||||
 | 
					      - fails if ANY of the given explorer fails
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   run_global_explorers():
 | 
				
			||||||
 | 
					      - ensure ALL type explores have been run
 | 
				
			||||||
 | 
					      - ensure output is saved to correct path
 | 
				
			||||||
 | 
					      - ensure a type with {0,1,2} explorers works ?
 | 
				
			||||||
 | 
					         - none, one, multiple
 | 
				
			||||||
 | 
					      - ensure ENVIRONMENT is setup correctly
 | 
				
			||||||
 | 
					      - fails if ANY of the given explorer fails
 | 
				
			||||||
 | 
					      
 | 
				
			||||||
Code fixes needed:
 | 
					Code fixes needed:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
   - shutil, os.mkdir, etc. everywhere: catch/reraise exceptions correctly
 | 
					   - shutil, os.mkdir, etc. everywhere: catch/reraise exceptions correctly
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,8 +1,5 @@
 | 
				
			||||||
Tests needed for config_install:
 | 
					Tests needed for config_install:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
   __init__():
 | 
					 | 
				
			||||||
      - sets up env: __target_host
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
   cleanup()
 | 
					   cleanup()
 | 
				
			||||||
      - Fail if cache_dir from previous run cannot be deleted
 | 
					      - Fail if cache_dir from previous run cannot be deleted
 | 
				
			||||||
      - Fail if cache_dir cannot be created from current out_dir
 | 
					      - Fail if cache_dir cannot be created from current out_dir
 | 
				
			||||||
| 
						 | 
					@ -11,120 +8,12 @@ Tests needed for config_install:
 | 
				
			||||||
      - ensure logformat is changed: target host is prefixed:
 | 
					      - ensure logformat is changed: target host is prefixed:
 | 
				
			||||||
         LOGLEVEL: target_host: MESSAGE
 | 
					         LOGLEVEL: target_host: MESSAGE
 | 
				
			||||||
 | 
					
 | 
				
			||||||
   run_initial_manifest():
 | 
					 | 
				
			||||||
      - parameter is actually used (from __init__)
 | 
					 | 
				
			||||||
      - ensure changing the manifest actually runs a different manifest
 | 
					 | 
				
			||||||
      -> give ConfigInstall Constructor different manifest
 | 
					 | 
				
			||||||
         -> different manifest is executed.
 | 
					 | 
				
			||||||
      - test all submitted (from core to type manifest) variables:
 | 
					 | 
				
			||||||
         - ENVIRONMENT
 | 
					 | 
				
			||||||
         - they are set
 | 
					 | 
				
			||||||
         - they contain the correct values
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
   run_type_manifest():
 | 
					 | 
				
			||||||
      - test all submitted (from core to type manifest) variables:
 | 
					 | 
				
			||||||
         - ENVIRONMENT
 | 
					 | 
				
			||||||
         - they are set
 | 
					 | 
				
			||||||
         - they contain the correct values
 | 
					 | 
				
			||||||
      - same tests as for test_initial_manifest_*?
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
   run_manifest():
 | 
					 | 
				
			||||||
      - test all submitted variables:
 | 
					 | 
				
			||||||
         - ENVIRONMENT
 | 
					 | 
				
			||||||
            - including __debug, if debug
 | 
					 | 
				
			||||||
         - they are set
 | 
					 | 
				
			||||||
         - they contain the correct values
 | 
					 | 
				
			||||||
      - does $require work?
 | 
					 | 
				
			||||||
      - check that exception raised, if manifest is not existent
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
   object_run():
 | 
					 | 
				
			||||||
      - ensure no object is run twice
 | 
					 | 
				
			||||||
      - ensure requirements are taken into account?
 | 
					 | 
				
			||||||
         - and order of run is adjusted
 | 
					 | 
				
			||||||
      - check (from extern?) that all needed variables are setup
 | 
					 | 
				
			||||||
      - ensure no code-{local, remote} is created, 
 | 
					 | 
				
			||||||
         if gencode is not producing code
 | 
					 | 
				
			||||||
      - ensure THAT code-{local, remote} contains what gencode created
 | 
					 | 
				
			||||||
      - abort if gencode-* fails
 | 
					 | 
				
			||||||
      - abort if code-* fails
 | 
					 | 
				
			||||||
         - abort == raise(FooException)
 | 
					 | 
				
			||||||
      - gencode-*: ensure ENVIRONMENT is setup correctly
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
   run_type_explorer()
 | 
					 | 
				
			||||||
      - ensure ALL type explores have been run
 | 
					 | 
				
			||||||
      - ensure output is saved to correct path
 | 
					 | 
				
			||||||
      - ensure a type with {0,1,2} explorers works ?
 | 
					 | 
				
			||||||
         - none, one, multiple
 | 
					 | 
				
			||||||
      - ensure ENVIRONMENT is setup correctly
 | 
					 | 
				
			||||||
      - fails if ANY of the given explorer fails
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
   run_global_explorers():
 | 
					 | 
				
			||||||
      - ensure ALL type explores have been run
 | 
					 | 
				
			||||||
      - ensure output is saved to correct path
 | 
					 | 
				
			||||||
      - ensure a type with {0,1,2} explorers works ?
 | 
					 | 
				
			||||||
         - none, one, multiple
 | 
					 | 
				
			||||||
      - ensure ENVIRONMENT is setup correctly
 | 
					 | 
				
			||||||
      - fails if ANY of the given explorer fails
 | 
					 | 
				
			||||||
      
 | 
					 | 
				
			||||||
   link_emulator():
 | 
					   link_emulator():
 | 
				
			||||||
      - ensure that links to ALL types are created
 | 
					      - ensure that links to ALL types are created
 | 
				
			||||||
      - ensure that links points to correct executable
 | 
					      - ensure that links points to correct executable
 | 
				
			||||||
         - i.e. readlink() works
 | 
					         - i.e. readlink() works
 | 
				
			||||||
         - AND target of readlink is the correct executable
 | 
					         - AND target of readlink is the correct executable
 | 
				
			||||||
 | 
					
 | 
				
			||||||
   stage_run()
 | 
					 | 
				
			||||||
      - ensure that for every object in
 | 
					 | 
				
			||||||
         cdist.core.Object.list_objects() is passed into
 | 
					 | 
				
			||||||
         self.object_run()
 | 
					 | 
				
			||||||
         - instantiate + overwrite + test
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
   object_prepare():
 | 
					 | 
				
			||||||
      - calls (in this order):
 | 
					 | 
				
			||||||
         self.run_type_explorer(cdist_object)
 | 
					 | 
				
			||||||
         self.run_type_manifest(cdist_object)
 | 
					 | 
				
			||||||
         cdist_object.prepared = True
 | 
					 | 
				
			||||||
      - object is prepared after function call
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
   stage_prepare():
 | 
					 | 
				
			||||||
      - calls (in this order):
 | 
					 | 
				
			||||||
         self.link_emulator()
 | 
					 | 
				
			||||||
         self.run_global_explorers()
 | 
					 | 
				
			||||||
         self.run_initial_manifest()
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      - ensure that all objects are created :-)
 | 
					 | 
				
			||||||
         - as defined in inital manifest + type manifests
 | 
					 | 
				
			||||||
         
 | 
					 | 
				
			||||||
   deploy_to()
 | 
					 | 
				
			||||||
      - ensure self.stage_prepare() and self.stage_run() are
 | 
					 | 
				
			||||||
         run. [ORDER]
 | 
					 | 
				
			||||||
         - instantiate + overwrite + test
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
   deploy_and_cleanup()
 | 
					 | 
				
			||||||
      - ensure self.deploy_to() + self.cleanup() are are run
 | 
					 | 
				
			||||||
         run. [ORDER]
 | 
					 | 
				
			||||||
         - instantiate + overwrite + test
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
   transfer_object_parameter()
 | 
					 | 
				
			||||||
      - check that object parameters are transferred
 | 
					 | 
				
			||||||
      - paths are setup correctly
 | 
					 | 
				
			||||||
         - test via mock of remote_mkdir and transfer_path
 | 
					 | 
				
			||||||
      - ensure self.remote_mkdir, self.transfer_path are run. [ORDER]
 | 
					 | 
				
			||||||
         - instantiate + overwrite + test
 | 
					 | 
				
			||||||
   
 | 
					 | 
				
			||||||
   transfer_global_explorers()
 | 
					 | 
				
			||||||
      - paths are setup correctly
 | 
					 | 
				
			||||||
         - test via mock of self.remote_mkdir() and self.transfer_path()
 | 
					 | 
				
			||||||
      - ensure self.remote_mkdir, self.transfer_path are run. [ORDER]
 | 
					 | 
				
			||||||
         - instantiate + overwrite + test
 | 
					 | 
				
			||||||
   
 | 
					 | 
				
			||||||
   transfer_type_explorers():
 | 
					 | 
				
			||||||
      - Explorers are not transferred twice
 | 
					 | 
				
			||||||
      - paths are setup correctly
 | 
					 | 
				
			||||||
         - test via mock of self.remote_mkdir() and self.transfer_path()
 | 
					 | 
				
			||||||
      - Explorers are transferred
 | 
					 | 
				
			||||||
         - test via mock of self.remote_mkdir() and self.transfer_path()
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
   remote_mkdir()
 | 
					   remote_mkdir()
 | 
				
			||||||
      - is directory created
 | 
					      - is directory created
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -136,4 +25,3 @@ Tests needed for config_install:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
emulator:
 | 
					emulator:
 | 
				
			||||||
   may only be called with __ as prefix - fail otherwise!
 | 
					   may only be called with __ as prefix - fail otherwise!
 | 
				
			||||||
 | 
					 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue