def _check_export_uploaded_folder(self, mode, export_folder=None, export_src_folder=None): if mode == "exports_sources": expected_src_exports = ["hello.h"] expected_exports = ['conanfile.py', 'conanmanifest.txt', EXPORT_SOURCES_TGZ_NAME] if mode == "exports": expected_src_exports = [] expected_exports = ["hello.h", 'conanfile.py', 'conanmanifest.txt', EXPORT_TGZ_NAME] if mode == "both": expected_src_exports = ["hello.h"] expected_exports = ['conanfile.py', 'conanmanifest.txt', "data.txt", EXPORT_TGZ_NAME, EXPORT_SOURCES_TGZ_NAME] if mode == "nested": expected_src_exports = ["src/hello.h"] expected_exports = ["src/data.txt", 'conanfile.py', 'conanmanifest.txt', EXPORT_TGZ_NAME, EXPORT_SOURCES_TGZ_NAME] if mode == "overlap": expected_src_exports = ["src/hello.h", "src/data.txt"] expected_exports = ["src/data.txt", "src/hello.h", 'conanfile.py', 'conanmanifest.txt', EXPORT_TGZ_NAME, EXPORT_SOURCES_TGZ_NAME] export_folder = export_folder or self.export_folder self.assertEqual(scan_folder(export_folder), sorted(expected_exports)) self.assertEqual(scan_folder(export_src_folder or self.export_sources_folder), sorted(expected_src_exports))
def _check_export_folder(self, mode, export_folder=None, export_src_folder=None): if mode == "exports_sources": expected_src_exports = ["hello.h"] expected_exports = ['conanfile.py', 'conanmanifest.txt'] if mode == "exports": expected_src_exports = [] expected_exports = ["hello.h", 'conanfile.py', 'conanmanifest.txt'] if mode == "both": expected_src_exports = ["hello.h"] expected_exports = [ 'conanfile.py', 'conanmanifest.txt', "data.txt" ] if mode == "nested": expected_src_exports = ["src/hello.h"] expected_exports = [ "src/data.txt", 'conanfile.py', 'conanmanifest.txt' ] if mode == "overlap": expected_src_exports = ["src/hello.h", "src/data.txt"] expected_exports = [ "src/data.txt", "src/hello.h", 'conanfile.py', 'conanmanifest.txt' ] self.assertEqual(scan_folder(export_folder or self.export_folder), sorted(expected_exports)) self.assertEqual( scan_folder(export_src_folder or self.export_sources_folder), sorted(expected_src_exports))
def _check_export_installed_folder(self, mode, reuploaded=False, updated=False): """ Just installed, no EXPORT_SOURCES_DIR is present """ if mode == "exports_sources": expected_exports = ['conanfile.py', 'conanmanifest.txt'] if mode == "both": expected_exports = ['conanfile.py', 'conanmanifest.txt', "data.txt"] if reuploaded: expected_exports.append("conan_export.tgz") if mode == "exports": expected_exports = ['conanfile.py', 'conanmanifest.txt', "hello.h"] if reuploaded: expected_exports.append("conan_export.tgz") if mode == "nested": expected_exports = ['conanfile.py', 'conanmanifest.txt', "src/data.txt"] if reuploaded: expected_exports.append("conan_export.tgz") if mode == "overlap": expected_exports = ['conanfile.py', 'conanmanifest.txt', "src/data.txt", "src/hello.h"] if reuploaded: expected_exports.append("conan_export.tgz") if updated: expected_exports.append("license.txt") self.assertEqual(scan_folder(self.export_folder), sorted(expected_exports)) self.assertFalse(os.path.exists(os.path.join(self.export_folder, EXPORT_SOURCES_DIR)))
def _check_export_installed_folder(self, mode, reuploaded=False, updated=False): """ Just installed, no EXPORT_SOURCES_DIR is present """ if mode == "exports_sources": expected_exports = ['conanfile.py', 'conanmanifest.txt'] if mode == "both": expected_exports = ['conanfile.py', 'conanmanifest.txt', "data.txt"] if reuploaded: expected_exports.append("conan_export.tgz") if mode == "exports": expected_exports = ['conanfile.py', 'conanmanifest.txt', "hello.h"] if reuploaded: expected_exports.append("conan_export.tgz") if mode == "nested": expected_exports = ['conanfile.py', 'conanmanifest.txt', "src/data.txt"] if reuploaded: expected_exports.append("conan_export.tgz") if mode == "overlap": expected_exports = ['conanfile.py', 'conanmanifest.txt', "src/data.txt", "src/hello.h"] if reuploaded: expected_exports.append("conan_export.tgz") if updated: expected_exports.append("license.txt") self.assertEqual(scan_folder(self.export_folder), sorted(expected_exports)) self.assertFalse(os.path.exists(self.export_sources_folder))
def _check_export_uploaded_folder(self, mode, export_folder=None): if mode == "exports_sources": expected_exports = [ "%s/%s" % (EXPORT_SOURCES_DIR, "hello.h"), 'conanfile.py', 'conanmanifest.txt', EXPORT_SOURCES_TGZ_NAME ] if mode == "exports": expected_exports = [ "hello.h", 'conanfile.py', 'conanmanifest.txt', EXPORT_TGZ_NAME ] if mode == "both": expected_exports = [ "%s/%s" % (EXPORT_SOURCES_DIR, "hello.h"), 'conanfile.py', 'conanmanifest.txt', "data.txt", EXPORT_TGZ_NAME, EXPORT_SOURCES_TGZ_NAME ] if mode == "nested": expected_exports = [ "%s/%s" % (EXPORT_SOURCES_DIR, "src/hello.h"), "src/data.txt", 'conanfile.py', 'conanmanifest.txt', EXPORT_TGZ_NAME, EXPORT_SOURCES_TGZ_NAME ] if mode == "overlap": expected_exports = [ "%s/%s" % (EXPORT_SOURCES_DIR, "src/hello.h"), "%s/%s" % (EXPORT_SOURCES_DIR, "src/data.txt"), "src/data.txt", "src/hello.h", 'conanfile.py', 'conanmanifest.txt', EXPORT_TGZ_NAME, EXPORT_SOURCES_TGZ_NAME ] export_folder = export_folder or self.export_folder self.assertTrue( os.path.exists(os.path.join(export_folder, EXPORT_SOURCES_DIR))) self.assertEqual(scan_folder(export_folder), sorted(expected_exports))
def _get_files(folder): relpaths = scan_folder(folder) files = {} for path in relpaths: with open(os.path.join(folder, path), "r") as file_handle: files[path] = file_handle.read() return files
def _check_source_folder(self, mode): """ Source folder MUST be always the same """ expected_sources = ["hello.h"] if mode == "both": expected_sources.append("data.txt") if mode == "nested" or mode == "overlap": expected_sources = ["src/hello.h", "src/data.txt"] expected_sources = sorted(expected_sources) self.assertEqual(scan_folder(self.source_folder), expected_sources)
def _check_source_folder(self, mode): """ Source folder MUST be always the same """ expected_sources = ['conanfile.py', 'conanmanifest.txt', "hello.h"] if mode == "both": expected_sources.append("data.txt") if mode == "nested" or mode == "overlap": expected_sources = ['conanfile.py', 'conanmanifest.txt', "src/hello.h", "src/data.txt"] expected_sources = sorted(expected_sources) self.assertEqual(scan_folder(self.source_folder), expected_sources)
def _check_server_folder(self, mode, server=None): if mode == "exports_sources": expected_server = [EXPORT_SOURCES_TGZ_NAME, 'conanfile.py', 'conanmanifest.txt'] if mode == "exports": expected_server = [EXPORT_TGZ_NAME, 'conanfile.py', 'conanmanifest.txt'] if mode == "both" or mode == "nested" or mode == "overlap": expected_server = [EXPORT_TGZ_NAME, EXPORT_SOURCES_TGZ_NAME, 'conanfile.py', 'conanmanifest.txt'] server = server or self.server self.assertEqual(scan_folder(server.paths.export(self.reference)), expected_server)
def _check_package_folder(self, mode): """ Package folder must be always the same (might have tgz after upload) """ if mode in ["exports", "exports_sources"]: expected_package = ["conaninfo.txt", "conanmanifest.txt", "include/hello.h"] if mode == "both": expected_package = ["conaninfo.txt", "conanmanifest.txt", "include/hello.h", "docs/data.txt"] if mode == "nested" or mode == "overlap": expected_package = ["conaninfo.txt", "conanmanifest.txt", "include/src/hello.h", "docs/src/data.txt"] self.assertEqual(scan_folder(self.package_folder), sorted(expected_package))
def _check_server_folder(self, mode, server=None): if mode == "exports_sources": expected_server = [EXPORT_SOURCES_TGZ_NAME, 'conanfile.py', 'conanmanifest.txt'] if mode == "exports": expected_server = [EXPORT_TGZ_NAME, 'conanfile.py', 'conanmanifest.txt'] if mode == "both" or mode == "nested" or mode == "overlap": expected_server = [EXPORT_TGZ_NAME, EXPORT_SOURCES_TGZ_NAME, 'conanfile.py', 'conanmanifest.txt'] server = server or self.server rev, _ = server.server_store.get_last_revision(self.ref) ref = self.ref.copy_with_rev(rev) self.assertEqual(scan_folder(server.server_store.export(ref)), expected_server)
def _check_export_installed_folder(self, mode, reuploaded=False, updated=False): """ Just installed, no EXPORT_SOURCES_DIR is present """ if mode == "exports_sources": expected_exports = ['conanfile.py', 'conanmanifest.txt'] if mode == "both": expected_exports = [ 'conanfile.py', 'conanmanifest.txt', "data.txt" ] if reuploaded: expected_exports.append("conan_export.tgz") if mode == "exports": expected_exports = ['conanfile.py', 'conanmanifest.txt', "hello.h"] if reuploaded: expected_exports.append("conan_export.tgz") if mode == "nested": expected_exports = [ 'conanfile.py', 'conanmanifest.txt', "src/data.txt" ] if reuploaded: expected_exports.append("conan_export.tgz") if mode == "overlap": expected_exports = [ 'conanfile.py', 'conanmanifest.txt', "src/data.txt", "src/hello.h" ] if reuploaded: expected_exports.append("conan_export.tgz") if updated: expected_exports.append("license.txt") self.assertEqual(scan_folder(self.export_folder), sorted(expected_exports)) if reuploaded and mode == "exports": # In this mode, we know the sources are not required # So the local folder is created, but empty self.assertTrue(os.path.exists(self.export_sources_folder)) else: self.assertFalse(os.path.exists(self.export_sources_folder))
def _check_export_folder(self, mode, export_folder=None): if mode == "exports_sources": expected_exports = ["%s/%s" % (EXPORT_SOURCES_DIR, "hello.h"), 'conanfile.py', 'conanmanifest.txt'] if mode == "exports": expected_exports = ["hello.h", 'conanfile.py', 'conanmanifest.txt'] if mode == "both": expected_exports = ["%s/%s" % (EXPORT_SOURCES_DIR, "hello.h"), 'conanfile.py', 'conanmanifest.txt', "data.txt"] if mode == "nested": expected_exports = ["%s/%s" % (EXPORT_SOURCES_DIR, "src/hello.h"), "src/data.txt", 'conanfile.py', 'conanmanifest.txt'] if mode == "overlap": expected_exports = ["%s/%s" % (EXPORT_SOURCES_DIR, "src/hello.h"), "%s/%s" % (EXPORT_SOURCES_DIR, "src/data.txt"), "src/data.txt", "src/hello.h", 'conanfile.py', 'conanmanifest.txt'] export_folder = export_folder or self.export_folder self.assertTrue(os.path.exists(os.path.join(export_folder, EXPORT_SOURCES_DIR))) self.assertEqual(scan_folder(export_folder), sorted(expected_exports))
def _assert_package_exists_in_server(self, pref, paths, files): folder = uncompress_packaged_files(paths, pref) real_files = scan_folder(folder) for f in files: self.assertIn(f, real_files)
def _assert_package_exists(self, pref, paths, files): package_path = paths.package(pref) self.assertTrue(os.path.exists(os.path.join(package_path))) real_files = scan_folder(package_path) for f in files: self.assertIn(f, real_files)
def _assert_package_exists(self, package_ref, paths, files): package_path = paths.package(package_ref) self.assertTrue(os.path.exists(os.path.join(package_path))) real_files = scan_folder(package_path) for f in files: self.assertIn(f, real_files)
def _assert_package_exists_in_server(self, package_ref, paths, files): folder = uncompress_packaged_files(paths, package_ref) real_files = scan_folder(folder) for f in files: self.assertIn(f, real_files)