def setup(workdir): # Searching for rnp and gnupg global RNP, GPG, RNPK, WORKDIR, RNPDIR, GPGDIR, SMALLSIZE, RMWORKDIR logging.basicConfig(stream=sys.stdout, format="%(message)s") logging.getLogger().setLevel(logging.INFO) RNP = rnp_file_path('src/rnp/rnp') RNPK = rnp_file_path('src/rnpkeys/rnpkeys') GPG = find_utility('gpg') WORKDIR = os.getcwd() if workdir: WORKDIR = workdir elif not '/tmp/' in WORKDIR: WORKDIR = tempfile.mkdtemp(prefix='rnpptmp') RMWORKDIR = True logging.debug('Setting up test in {} ...'.format(WORKDIR)) # Creating working directory and populating it with test files RNPDIR = path.join(WORKDIR, '.rnp') GPGDIR = path.join(WORKDIR, '.gpg') os.mkdir(RNPDIR, 0700) os.mkdir(GPGDIR, 0700) # Generating key pipe = pswd_pipe(PASSWORD) params = [ '--homedir', RNPDIR, '--pass-fd', str(pipe), '--userid', 'performance@rnp', '--generate-key' ] # Run key generation ret, out, err = run_proc(RNPK, params) os.close(pipe) # Importing keys to GnuPG so it can build trustdb and so on ret, out, err = run_proc(GPG, [ '--batch', '--passphrase', '', '--homedir', GPGDIR, '--import', path.join(RNPDIR, 'pubring.gpg'), path.join(RNPDIR, 'secring.gpg') ]) # Generating small file for tests SMALLSIZE = 3312 st = 'lorem ipsum dol ' * (SMALLSIZE / 16) with open(path.join(WORKDIR, SMALLFILE), 'w+') as small_file: small_file.write(st) # Generating large file for tests print 'Generating large file of size {}'.format( size_to_readable(LARGESIZE)) st = '0123456789ABCDEF' * (1024 / 16) with open(path.join(WORKDIR, LARGEFILE), 'w') as fd: for i in range(0, LARGESIZE / 1024 - 1): fd.write(st)
def setup(): # Setting up directories. global RMWORKDIR, WORKDIR, RNPDIR, RNP, RNPK, GPG, GPGDIR WORKDIR = os.getcwd() if not '/tmp/' in WORKDIR: WORKDIR = tempfile.mkdtemp(prefix='rnpctmp') RMWORKDIR = True print 'Running in ' + WORKDIR RNPDIR = path.join(WORKDIR, '.rnp') RNP = rnp_file_path('src/rnp/rnp') RNPK = rnp_file_path('src/rnpkeys/rnpkeys') os.mkdir(RNPDIR, 0700) GPGDIR = path.join(WORKDIR, '.gpg') GPG = find_utility('gpg') os.mkdir(GPGDIR, 0700) return