1*9ba83ac0SJeremy L Thompson# Copyright (c) 2017-2026, Lawrence Livermore National Security, LLC and other CEED contributors 23d8e8822SJeremy L Thompson# All Rights Reserved. See the top-level LICENSE and NOTICE files for details. 30ef72598Sjeremylt# 43d8e8822SJeremy L Thompson# SPDX-License-Identifier: BSD-2-Clause 50ef72598Sjeremylt# 63d8e8822SJeremy L Thompson# This file is part of CEED: http://github.com/ceed 70ef72598Sjeremylt 80ef72598Sjeremylt# @file 90ef72598Sjeremylt# Test Ceed functionality 100ef72598Sjeremylt 110ef72598Sjeremyltimport libceed 120ef72598Sjeremyltimport pytest 130ef72598Sjeremylt 140ef72598Sjeremylt# ------------------------------------------------------------------------------- 150ef72598Sjeremylt# Test creation and destruction of a Ceed object 160ef72598Sjeremylt# ------------------------------------------------------------------------------- 170ef72598Sjeremylt 180ef72598Sjeremylt 190ef72598Sjeremyltdef test_000(ceed_resource): 200ef72598Sjeremylt ceed = libceed.Ceed(ceed_resource) 210ef72598Sjeremylt 220ef72598Sjeremylt# ------------------------------------------------------------------------------- 237b3ff069SJeremy L Thompson# Test return of Ceed backend preferred memory type 240ef72598Sjeremylt# ------------------------------------------------------------------------------- 250ef72598Sjeremylt 260ef72598Sjeremylt 270ef72598Sjeremyltdef test_001(ceed_resource): 280ef72598Sjeremylt ceed = libceed.Ceed(ceed_resource) 290ef72598Sjeremylt 300ef72598Sjeremylt memtype = ceed.get_preferred_memtype() 310ef72598Sjeremylt 320ef72598Sjeremylt assert memtype != "error" 330ef72598Sjeremylt 340ef72598Sjeremylt# ------------------------------------------------------------------------------- 350ef72598Sjeremylt# Test return of a CEED object full resource name 360ef72598Sjeremylt# ------------------------------------------------------------------------------- 370ef72598Sjeremylt 380ef72598Sjeremylt 390ef72598Sjeremyltdef test_002(ceed_resource): 400ef72598Sjeremylt ceed = libceed.Ceed(ceed_resource) 410ef72598Sjeremylt 420ef72598Sjeremylt resource = ceed.get_resource() 430ef72598Sjeremylt 440ef72598Sjeremylt assert resource == ceed_resource 450ef72598Sjeremylt 460ef72598Sjeremylt# ------------------------------------------------------------------------------- 470ef72598Sjeremylt# Test viewing of a CEED object 480ef72598Sjeremylt# ------------------------------------------------------------------------------- 490ef72598Sjeremylt 500ef72598Sjeremylt 510ef72598Sjeremyltdef test_003(ceed_resource): 520ef72598Sjeremylt ceed = libceed.Ceed(ceed_resource) 530ef72598Sjeremylt 540ef72598Sjeremylt print(ceed) 550ef72598Sjeremylt 560ef72598Sjeremylt# ------------------------------------------------------------------------------- 570ef72598Sjeremylt# Test CEED object error handling 580ef72598Sjeremylt# ------------------------------------------------------------------------------- 590ef72598Sjeremylt 600ef72598Sjeremylt 610ef72598Sjeremyltdef test_005(ceed_resource): 620ef72598Sjeremylt ceed = libceed.Ceed(ceed_resource) 630ef72598Sjeremylt 640ef72598Sjeremylt vec = ceed.Vector(5) 659c774eddSJeremy L Thompson vec.set_value(0.0) 660ef72598Sjeremylt array1 = vec.get_array() 670ef72598Sjeremylt 680ef72598Sjeremylt exception_raised = False 690ef72598Sjeremylt try: 700ef72598Sjeremylt array2 = vec.get_array() 710ef72598Sjeremylt except BaseException: 720ef72598Sjeremylt exception_raised = True 730ef72598Sjeremylt 740ef72598Sjeremylt assert exception_raised 750ef72598Sjeremylt 760ef72598Sjeremylt vec.restore_array() 770ef72598Sjeremylt 780ef72598Sjeremylt# ------------------------------------------------------------------------------- 79