jakartaredhat / wildfly-ee11-tck-runner

Apache License 2.0
1 stars 2 forks source link

JPA tests are not finding expected persistence unit #3

Open scottmarlow opened 3 weeks ago

scottmarlow commented 3 weeks ago

All of the jpa tests currently fail with errors like:

2024-08-21 10:48:16,843 ERROR [org.jboss.as.controller.management-operation] (management-handler-thread - 1) WFLYCTL0013: Operation ("add") failed - address: ([("deployment" => "jpa_jpa22_repeatable_namedstoredprocedure_vehicles.ear")]) - failure description: { "WFLYCTL0080: Failed services" => {"jboss.deployment.subunit.\"jpa_jpa22_repeatable_namedstoredprocedure_vehicles.ear\".\"jpa_jpa22_repeatable_namedstoredprocedure_puservlet_vehicle_web.war\".INSTALL" => "WFLYSRV0153: Failed to process phase INSTALL of subdeployment \"jpa_jpa22_repeatable_namedstoredprocedure_puservlet_vehicle_web.war\" of deployment \"jpa_jpa22_repeatable_namedstoredprocedure_vehicles.ear\" Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: WFLYEE0041: Component class com.sun.ts.tests.common.vehicle.puservlet.PUServletVehicle for component com.sun.ts.tests.common.vehicle.puservlet.PUServletVehicle has errors: WFLYJPA0033: Can't find a persistence unit named CTS-EM-NOTX in subdeployment \"jpa_jpa22_repeatable_namedstoredprocedure_puservlet_vehicle_web.war\" of deployment \"jpa_jpa22_repeatable_namedstoredprocedure_vehicles.ear\""}, "WFLYCTL0412: Required services that are not installed:" => ["jboss.deployment.subunit.\"jpa_jpa22_repeatable_namedstoredprocedure_vehicles.ear\".\"jpa_jpa22_repeatable_namedstoredprocedure_puservlet_vehicle_web.war\".deploymentCompleteService"], "WFLYCTL0180: Services with missing/unavailable dependencies" => ["service jboss.deployment.unit.\"jpa_jpa22_repeatable_namedstoredprocedure_vehicles.ear\".deploymentCompleteService is missing [jboss.deployment.subunit.\"jpa_jpa22_repeatable_namedstoredprocedure_vehicles.ear\".\"jpa_jpa22_repeatable_namedstoredprocedure_puservlet_vehicle_web.war\".deploymentCompleteService]"] } 2024-08-21 10:48:16,843 ERROR [org.jboss.as.server] (management-handler-thread - 1) WFLYSRV0021: Deploy of deployment "jpa_jpa22_repeatable_namedstoredprocedure_vehicles.ear" was rolled back with the following failure message: { "WFLYCTL0080: Failed services" => {"jboss.deployment.subunit.\"jpa_jpa22_repeatable_namedstoredprocedure_vehicles.ear\".\"jpa_jpa22_repeatable_namedstoredprocedure_puservlet_vehicle_web.war\".INSTALL" => "WFLYSRV0153: Failed to process phase INSTALL of subdeployment \"jpa_jpa22_repeatable_namedstoredprocedure_puservlet_vehicle_web.war\" of deployment \"jpa_jpa22_repeatable_namedstoredprocedure_vehicles.ear\" Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: WFLYEE0041: Component class com.sun.ts.tests.common.vehicle.puservlet.PUServletVehicle for component com.sun.ts.tests.common.vehicle.puservlet.PUServletVehicle has errors: WFLYJPA0033: Can't find a persistence unit named CTS-EM-NOTX in subdeployment \"jpa_jpa22_repeatable_namedstoredprocedure_puservlet_vehicle_web.war\" of deployment \"jpa_jpa22_repeatable_namedstoredprocedure_vehicles.ear\""}, "WFLYCTL0412: Required services that are not installed:" => ["jboss.deployment.subunit.\"jpa_jpa22_repeatable_namedstoredprocedure_vehicles.ear\".\"jpa_jpa22_repeatable_namedstoredprocedure_puservlet_vehicle_web.war\".deploymentCompleteService"], "WFLYCTL0180: Services with missing/unavailable dependencies" => ["service jboss.deployment.unit.\"jpa_jpa22_repeatable_namedstoredprocedure_vehicles.ear\".deploymentCompleteService is missing [jboss.deployment.subunit.\"jpa_jpa22_repeatable_namedstoredprocedure_vehicles.ear\".\"jpa_jpa22_repeatable_namedstoredprocedure_puservlet_vehicle_web.war\".deploymentCompleteService]"] }

In EE 10, jakartaeetck/dist/com/sun/ts/tests/jpa/jpa22/repeatable/namedstoredprocedurequery contains jpa_jpa22_repeatable_namedstoredprocedure_vehicles.ear that has jpa_jpa22_repeatable_namedstoredprocedure_puservlet_vehicle_web.war in root and also ear has lib/jpa_jpa22_repeatable_namedstoredprocedure.jar

The contained jpa_jpa22_repeatable_namedstoredprocedure_puservlet_vehicle_web.war has WEB-INF/lib/jpa_jpa22_repeatable_namedstoredprocedure.jar as well

jpa_jpa22_repeatable_namedstoredprocedure.jar has META-INF/persistence.xml with contents:

<?xml version="1.0" encoding="UTF-8"?>
<!--

    Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved.

    This program and the accompanying materials are made available under the
    terms of the Eclipse Public License v. 2.0, which is available at
    http://www.eclipse.org/legal/epl-2.0.

    This Source Code may also be made available under the following Secondary
    Licenses when the conditions for such availability set forth in the
    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
    version 2 with the GNU Classpath Exception, which is available at
    https://www.gnu.org/software/classpath/license.html.

    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0

-->
<persistence xmlns="https://jakarta.ee/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://jakarta.ee/xml/ns/persistence     https://jakarta.ee/xml/ns/persistence/persistence_3_0.xsd" version="3.0">
  <persistence-unit name="CTS-EM" transaction-type="JTA">
    <description>Persistence Unit for CTS Vehicle Tests</description>
    <jta-data-source>jdbc/DB1</jta-data-source>
    <class>com.sun.ts.tests.jpa.jpa22.repeatable.namedstoredprocedurequery.Employee</class>
  </persistence-unit>
  <persistence-unit name="CTS-EM2" transaction-type="JTA">
    <description>Persistence Unit for CTS Vehicle Tests</description>
    <jta-data-source>jdbc/DB1</jta-data-source>
    <class>com.sun.ts.tests.jpa.jpa22.repeatable.namedstoredprocedurequery.Employee</class>
  </persistence-unit>
  <persistence-unit name="CTS-EM-NOTX" transaction-type="RESOURCE_LOCAL">
    <description>The persistence.xml file may be used to designate
                  more than one persistence unit within the same scope.
                  Persistence Unit for Application Managed Resource Local</description>
    <non-jta-data-source>jdbc/DB_no_tx</non-jta-data-source>
    <class>com.sun.ts.tests.jpa.jpa22.repeatable.namedstoredprocedurequery.Employee</class>
  </persistence-unit>
</persistence>
scottmarlow commented 3 weeks ago

jpa/platform-tests/src/main/java/ee/jakarta/tck/persistence/jpa22/repeatable/namedstoredprocedurequery accesses persistence.xml from super class ee.jakarta.tck.persistence.jpa22.repeatable.namedstoredprocedurequery.Client via Client.class.getResource("persistence.xml").

Super class folder platformtck/jpa/spec-tests/src/main/java/ee/jakarta/tck/persistence/jpa22/repeatable/namedstoredprocedurequery contains the super class Client.class that looks correct to me:

<?xml version="1.0" encoding="UTF-8"?>
<!--

    Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved.

    This program and the accompanying materials are made available under the
    terms of the Eclipse Public License v. 2.0, which is available at
    http://www.eclipse.org/legal/epl-2.0.

    This Source Code may also be made available under the following Secondary
    Licenses when the conditions for such availability set forth in the
    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
    version 2 with the GNU Classpath Exception, which is available at
    https://www.gnu.org/software/classpath/license.html.

    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0

-->
<persistence xmlns="https://jakarta.ee/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://jakarta.ee/xml/ns/persistence     https://jakarta.ee/xml/ns/persistence/persistence_3_0.xsd" version="3.0">
  <persistence-unit name="CTS-EM" transaction-type="JTA">
    <description>Persistence Unit for CTS Vehicle Tests</description>
    <jta-data-source>jdbc/DB1</jta-data-source>
    <class>ee.jakarta.tck.persistence.jpa22.repeatable.namedstoredprocedurequery.Employee</class>
  </persistence-unit>
  <persistence-unit name="CTS-EM2" transaction-type="JTA">
    <description>Persistence Unit for CTS Vehicle Tests</description>
    <jta-data-source>jdbc/DB1</jta-data-source>
    <class>ee.jakarta.tck.persistence.jpa22.repeatable.namedstoredprocedurequery.Employee</class>
  </persistence-unit>
  <persistence-unit name="CTS-EM-NOTX" transaction-type="RESOURCE_LOCAL">
    <description>The persistence.xml file may be used to designate
                  more than one persistence unit within the same scope.
                  Persistence Unit for Application Managed Resource Local</description>
    <non-jta-data-source>jdbc/DB_no_tx</non-jta-data-source>
    <class>ee.jakarta.tck.persistence.jpa22.repeatable.namedstoredprocedurequery.Employee</class>
  </persistence-unit>
</persistence>