1from __future__ import unicode_literals 2import os 3 4 5def test_read_hello(datadir): 6 assert set(os.listdir(str(datadir))) == {'local_directory', 'hello.txt', 'over.txt', 'a' * 250 + '.txt'} 7 with (datadir/'hello.txt').open() as fp: 8 contents = fp.read() 9 assert contents == 'Hello, world!\n' 10 11 12def test_change_test_files(datadir, original_datadir, shared_datadir, request): 13 filename = datadir / 'hello.txt' 14 with filename.open('w') as fp: 15 fp.write('Modified text!\n') 16 17 original_filename = original_datadir / 'hello.txt' 18 with original_filename.open() as fp: 19 assert fp.read() == 'Hello, world!\n' 20 21 with filename.open() as fp: 22 assert fp.read() == 'Modified text!\n' 23 24 shared_filename = shared_datadir/'over.txt' 25 with shared_filename.open('w') as fp: 26 fp.write('changed') 27 shared_original = os.path.join(request.fspath.dirname, 'data', 'over.txt') 28 with open(shared_original) as fp: 29 assert fp.read().strip() == '8000' 30 31 32 33def test_read_spam_from_other_dir(shared_datadir): 34 filename = shared_datadir / 'spam.txt' 35 with filename.open() as fp: 36 contents = fp.read() 37 assert contents == 'eggs\n' 38 39 40def test_file_override(shared_datadir, datadir): 41 """ The same file is in the module dir and global data. 42 Shared files are kept in a different temp directory""" 43 shared_filepath = shared_datadir/'over.txt' 44 private_filepath = datadir/'over.txt' 45 assert shared_filepath.is_file() 46 assert private_filepath.is_file() 47 assert shared_filepath != private_filepath 48 49 50def test_local_directory(datadir): 51 directory = datadir/'local_directory' 52 assert directory.is_dir() 53 filename = directory/'file.txt' 54 assert filename.is_file() 55 with filename.open() as fp: 56 contents = fp.read() 57 assert contents == 'local contents' 58 59 60def test_shared_directory(shared_datadir): 61 assert shared_datadir.is_dir() 62 filename = shared_datadir/'shared_directory'/'file.txt' 63 assert filename.is_file() 64 with filename.open() as fp: 65 contents = fp.read() 66 assert contents == 'global contents' 67 68