12 Replies Latest reply on Jan 25, 2008 9:23 AM by Vikram Chhetry

    FAILED CONFIGURATION: @BeforeClass init

    Vikram Chhetry Newbie

      Hi All,
      When i try to run a test using ant test it throws an exception:-

      Buildfile: build.xml
      
      compiletest:
      
      copytestclasses:
      
      buildtest:
       [copy] Copying 1 file to /home/vikramc/workspace/Impact/test-build/META-INF
       [copy] Copying 1 file to /home/vikramc/workspace/Impact/test-build
      
      test:
       [testng] [Parser] Running:
       [testng] /home/vikramc/workspace/Impact/test-build/ChangePasswordActionTest.xml
      
       [testng] FAILED CONFIGURATION: @BeforeClass init
       [testng] org.jboss.deployers.spi.IncompleteDeploymentException: Summary of incomplete deployments (SEE PREVIOUS ERRORS FOR DETAILS):
      
       [testng] *** CONTEXTS MISSING DEPENDENCIES: Name -> Dependency{Required State:Actual State}
      
       [testng] jboss.j2ee:jar=test-build,name=CallCenterAgentAction,service=EJB3
       [testng] -> <UNKNOWN>{Described:** UNRESOLVED AbstractDemandMetaData$DemandDependencyItem@1ba5016{name=jboss.j2ee:jar=test-build,name=CallCenterAgentAction,service=EJB3 dependsOn=null whenRequired=Described resolved=false demand=persistence.units:jar=test-build.jar,unitName=Impact} **}
      
       [testng] jboss.j2ee:jar=test-build,name=CallCenterAgentEditAction,service=EJB3
       [testng] -> <UNKNOWN>{Described:** UNRESOLVED AbstractDemandMetaData$DemandDependencyItem@19bf996{name=jboss.j2ee:jar=test-build,name=CallCenterAgentEditAction,service=EJB3 dependsOn=null whenRequired=Described resolved=false demand=persistence.units:jar=test-build.jar,unitName=Impact} **}
      
       [testng] jboss.j2ee:jar=test-build,name=CallCenterAgentManageAction,service=EJB3
       [testng] -> <UNKNOWN>{Described:** UNRESOLVED AbstractDemandMetaData$DemandDependencyItem@7be687{name=jboss.j2ee:jar=test-build,name=CallCenterAgentManageAction,service=EJB3 dependsOn=null whenRequired=Described resolved=false demand=persistence.units:jar=test-build.jar,unitName=Impact} **}
      
       [testng] jboss.j2ee:jar=test-build,name=ChangePasswordAction,service=EJB3
       [testng] -> <UNKNOWN>{Described:** UNRESOLVED AbstractDemandMetaData$DemandDependencyItem@1f39c59{name=jboss.j2ee:jar=test-build,name=ChangePasswordAction,service=EJB3 dependsOn=null whenRequired=Described resolved=false demand=persistence.units:jar=test-build.jar,unitName=Impact} **}
      
       [testng] jboss.j2ee:jar=test-build,name=DatabaseBackedList,service=EJB3
       [testng] -> <UNKNOWN>{Described:** UNRESOLVED AbstractDemandMetaData$DemandDependencyItem@121dcac{name=jboss.j2ee:jar=test-build,name=DatabaseBackedList,service=EJB3 dependsOn=null whenRequired=Described resolved=false demand=persistence.units:jar=test-build.jar,unitName=Impact} **}
      
       [testng] persistence.units:jar=test-build.jar,unitName=Impact
       [testng] -> <UNKNOWN>{Described:** UNRESOLVED AbstractDemandMetaData$DemandDependencyItem@ba679e{name=persistence.units:jar=test-build.jar,unitName=Impact dependsOn=null whenRequired=Described resolved=false demand=jboss.jca:name=ImpactDatasource,service=DataSourceBinding} **}
      
      
       [testng] *** CONTEXTS IN ERROR: Name -> Error
      
       [testng] <UNKNOWN> -> ** UNRESOLVED AbstractDemandMetaData$DemandDependencyItem@ba679e{name=persistence.units:jar=test-build.jar,unitName=Impact dependsOn=null whenRequired=Described resolved=false demand=jboss.jca:name=ImpactDatasource,service=DataSourceBinding} **
      
      
       [testng] at org.jboss.embedded.DeploymentGroup.checkIncomplete(DeploymentGroup.java:151)
       [testng] at org.jboss.embedded.DeploymentGroup.process(DeploymentGroup.java:129)
       [testng] at org.jboss.embedded.Bootstrap.deployResourceBases(Bootstrap.java:307)
       [testng] at org.jboss.seam.mock.EmbeddedBootstrap.startAndDeployResources(EmbeddedBootstrap.java:14)
       [testng] at org.jboss.seam.mock.BaseSeamTest.startJbossEmbeddedIfNecessary(BaseSeamTest.java:1006)
       [testng] at org.jboss.seam.mock.BaseSeamTest.init(BaseSeamTest.java:931)
       [testng] at org.jboss.seam.mock.SeamTest.init(SeamTest.java:42)
       [testng] ... Removed 22 stack frames
       [testng] SKIPPED CONFIGURATION: @BeforeMethod begin
       [testng] SKIPPED CONFIGURATION: @AfterMethod end
       [testng] SKIPPED CONFIGURATION: @AfterClass cleanup
       [testng] SKIPPED: testChangePassword
      
       [testng] ===============================================
       [testng] Change Password Test
       [testng] Tests run: 1, Failures: 0, Skips: 1
       [testng] Configuration Failures: 1, Skips: 3
       [testng] ===============================================
      
      
       [testng] ===============================================
       [testng] Change Password Test
       [testng] Total tests run: 1, Failures: 0, Skips: 1
       [testng] Configuration Failures: 1, Skips: 3
       [testng] ===============================================
      


      changePassword.xml
      <!DOCTYPE suite SYSTEM "http://beust.com/testng/testng-1.0.dtd" >
      
      <suite name="Change Password Test" verbose="2" parallel="false">
       <test name="Change Password Test">
       <classes>
       <class name="com.impact.test.ChangePasswordActionTest"/>
       </classes>
       </test>
      </suite>



      build.xml
      <?xml version="1.0"?>
      
      <project name="Impact" default="deploy" basedir=".">
      
       <!-- Give user a chance to override without editing this file or typing -D -->
       <property file="${basedir}/build.properties" />
      
       <property name="profile" value="dev" />
       <property file="build-${profile}.properties" />
      
       <!-- set global properties for this build -->
       <property name="project.name" value="Impact"/>
       <property name="dist.dir" value="dist" />
       <property name="src.model.dir" value="src/model" />
       <property name="src.action.dir" value="src/action" />
       <property name="src.test.dir" value="src/test" />
       <property name="lib.dir" value="lib" />
       <property name="ear.dir" value="exploded-archives/${project.name}.ear" />
       <property name="jar.dir" value="exploded-archives/${project.name}.jar" />
       <property name="war.dir" value="exploded-archives/${project.name}.war" />
       <property name="test.dir" value="test-build" />
       <property name="bootstrap.dir" value="${basedir}/bootstrap" />
       <property name="deploy.dir" value="${jboss.home}/server/default/deploy" />
       <property name="ear.deploy.dir" value="${deploy.dir}/${project.name}.ear" />
       <property name="jar.deploy.dir" value="${ear.deploy.dir}/${project.name}.jar" />
       <property name="war.deploy.dir" value="${ear.deploy.dir}/${project.name}.war" />
       <property name="testng.jar" value="${basedir}/lib/testng.jar" />
       <property name="javac.debug" value="true" />
       <property name="javac.deprecation" value="false" />
       <property name="debug" value="false" />
      
       <!--Properties for validating configuration files -->
       <property name="validate.resources.dir" value="${basedir}/exploded-archives" />
       <property name="schema.dir" value="${basedir}/exploded-archives/schemas" />
       <property name="src.schema.dir" value="${schema.dir}/org/jboss/seam"/>
       <property name="schema.version" value="2.0" />
      
       <fileset id="lib" dir="${lib.dir}">
       <include name="*.jar" />
       </fileset>
      
       <path id="build.classpath">
       <fileset refid="lib" />
       </path>
      
       <target name="init" description="Initialize the build">
       <mkdir dir="${jar.dir}" />
       <mkdir dir="${ear.dir}" />
       <mkdir dir="${war.dir}" />
       <mkdir dir="${dist.dir}" />
       </target>
      
       <target name="compile" depends="init"
       description="Compile the Java source code"
       unless="eclipse.running">
       <javac classpathref="build.classpath"
       destdir="${jar.dir}"
       debug="${javac.debug}"
       deprecation="${javac.deprecation}"
       nowarn="on">
       <src path="${src.model.dir}" />
       <src path="${src.action.dir}" />
       </javac>
       </target>
      
       <target name="copyclasses" depends="init"
       description="Copy the classes that were compiled by eclipse"
       if="eclipse.running">
       <copy todir="${jar.dir}">
       <fileset dir="classes/model">
       <include name="**/*.class"/>
       </fileset>
       <fileset dir="classes/action">
       <include name="**/*.class"/>
       </fileset>
       </copy>
       </target>
      
       <target name="jar" depends="compile,copyclasses"
       description="Build the distribution .jar file">
       <copy todir="${jar.dir}">
       <fileset dir="${basedir}/resources">
       <include name="seam.properties" />
       </fileset>
       </copy>
       <copy todir="${jar.dir}/META-INF">
       <fileset dir="${basedir}/resources/META-INF">
       <include name="ejb-jar.xml" />
       </fileset>
       </copy>
       <copy tofile="${jar.dir}/META-INF/persistence.xml"
       file="${basedir}/resources/META-INF/persistence-${profile}.xml"
       overwrite="true"/>
       <copy tofile="${jar.dir}/import.sql"
       file="${basedir}/resources/import-${profile}.sql"
       overwrite="true"/>
       </target>
      
       <target name="war" depends="compile"
       description="Build the distribution .war file">
       <copy todir="${war.dir}">
       <fileset dir="${basedir}/view" />
       </copy>
       <copy todir="${war.dir}/WEB-INF">
       <fileset dir="${basedir}/resources/WEB-INF">
       <include name="*.*"/>
       <include name="classes/**/*.*"/>
       <exclude name="classes/**/*.class"/>
       </fileset>
       <filterset>
       <filter token="debug" value="${debug}" />
       <filter token="jndiPattern" value="${project.name}/#{ejbName}/local" />
       <filter token="embeddedEjb" value="false" />
       </filterset>
       </copy>
       <copy todir="${war.dir}/WEB-INF">
       <fileset dir="${basedir}/resources/WEB-INF">
       <include name="lib/*.*"/>
       <include name="classes/**/*.class"/>
       </fileset>
       </copy>
       <copy todir="${war.dir}/WEB-INF/lib">
       <fileset dir="${lib.dir}">
       <include name="richfaces-impl*.jar" />
       <include name="richfaces-ui*.jar" />
       <include name="oscache*.jar" />
       <include name="commons-digester.jar" />
       <include name="commons-beanutils.jar" />
       <include name="jsf-facelets.jar" />
       <include name="jboss-seam-*.jar" />
       <exclude name="jboss-seam-gen.jar" />
       </fileset>
       </copy>
       <copy todir="${war.dir}/WEB-INF/classes">
       <fileset dir="${basedir}/resources">
       <include name="messages*.properties"/>
       </fileset>
       </copy>
       </target>
      
       <target name="ear" description="Build the EAR">
       <copy todir="${ear.dir}">
       <fileset dir="${basedir}/resources">
       <include name="*jpdl.xml" />
       <include name="hibernate.cfg.xml" />
       <include name="jbpm.cfg.xml" />
       <include name="*.drl" />
       </fileset>
       <fileset dir="${lib.dir}">
       <include name="jboss-seam.jar" />
       </fileset>
       <fileset dir="${basedir}">
       <include name="lib/jbpm*.jar" />
       <include name="lib/jboss-el.jar" />
       <include name="lib/drools-*.jar"/>
       <include name="lib/janino-*.jar"/>
       <include name="lib/antlr-*.jar"/>
       <include name="lib/mvel*.jar"/>
       <include name="lib/richfaces-api*.jar" />
       </fileset>
       </copy>
       <copy todir="${ear.dir}/META-INF">
       <fileset dir="${basedir}/resources/META-INF">
       <include name="application.xml" />
       <include name="jboss-app.xml" />
       </fileset>
       </copy>
       </target>
      
       <target name="archive" depends="jar,war,ear"
       description="Package the archives">
       <jar jarfile="${dist.dir}/${project.name}.jar" basedir="${jar.dir}"/>
       <jar jarfile="${dist.dir}/${project.name}.war" basedir="${war.dir}"/>
       <jar jarfile="${dist.dir}/${project.name}.ear">
       <fileset dir="${ear.dir}"/>
       <fileset dir="${dist.dir}">
       <include name="${project.name}.jar"/>
       <include name="${project.name}.war"/>
       </fileset>
       </jar>
       </target>
      
       <target name="datasource">
       <fail unless="jboss.home">jboss.home not set</fail>
       <copy todir="${deploy.dir}">
       <fileset dir="${basedir}/resources">
       <include name="${project.name}-${profile}-ds.xml" />
       </fileset>
       </copy>
       </target>
      
       <target name="explode" depends="jar,war,ear,datasource"
       description="Deploy the exploded archive">
       <fail unless="jboss.home">jboss.home not set</fail>
      
       <mkdir dir="${jar.deploy.dir}"/>
       <mkdir dir="${war.deploy.dir}"/>
      
       <copy todir="${jar.deploy.dir}">
       <fileset dir="${jar.dir}"/>
       </copy>
       <copy todir="${war.deploy.dir}">
       <fileset dir="${war.dir}"/>
       </copy>
       <copy todir="${ear.deploy.dir}">
       <fileset dir="${ear.dir}"/>
       </copy>
       </target>
      
       <target name="unexplode" description="Undeploy the exploded archive">
       <delete failonerror="no">
       <fileset dir="${ear.deploy.dir}">
       <exclude name="**/*.jar"/>
       </fileset>
       </delete>
       <delete file="${deploy.dir}/${project.name}-${profile}-ds.xml" failonerror="no"/>
       <delete dir="${ear.deploy.dir}" failonerror="no"/>
       </target>
      
       <target name="restart" depends="explode" description="Restart the exploded archive">
       <touch file="${ear.deploy.dir}/META-INF/application.xml"/>
       </target>
      
       <target name="deploy" depends="archive,datasource" description="Deploy to JBoss AS">
       <fail unless="jboss.home">jboss.home not set</fail>
       <copy todir="${deploy.dir}" file="${dist.dir}/${project.name}.ear" />
       </target>
      
       <target name="undeploy" description="Undeploy the example from JBoss">
       <delete file="${deploy.dir}/${project.name}.ear" />
       <delete file="${deploy.dir}/${project.name}-dev-ds.xml" />
       <delete file="${deploy.dir}/${project.name}-prod-ds.xml" />
       </target>
      
       <target name="clean" description="Cleans up the build directory">
       <delete dir="${dist.dir}"/>
       <delete dir="${ear.dir}"/>
       <delete dir="${war.dir}"/>
       <delete dir="${jar.dir}"/>
       <delete dir="${src.schema.dir}" failonerror="no"/>
       <delete dir="${basedir}/test-report"/>
       <delete dir="${basedir}/test-output"/>
       <delete failonerror="no">
       <fileset dir="${test.dir}">
       <exclude name="**/*.class" if="eclipse.running"/>
       </fileset>
       </delete>
       </target>
      
       <target name="compiletest" unless="eclipse.running" description="Compile the Java source code for the tests">
       <mkdir dir="${test.dir}"/>
       <javac classpathref="build.classpath"
       destdir="${test.dir}"
       debug="${javac.debug}"
       deprecation="${javac.deprecation}"
       nowarn="on">
       <src path="${src.action.dir}" />
       <src path="${src.model.dir}" />
       <src path="${src.test.dir}" />
       </javac>
       </target>
      
       <target name="copytestclasses" if="eclipse.running" description="Copy classes compiled by eclipse to the test dir">
       <mkdir dir="${test.dir}"/>
       <copy todir="${test.dir}">
       <fileset dir="classes/model">
       <include name="**/*.class"/>
       </fileset>
       </copy>
       <copy todir="${test.dir}">
       <fileset dir="classes/action">
       <include name="**/*.class"/>
       </fileset>
       </copy>
       <copy todir="${test.dir}">
       <fileset dir="classes/test">
       <include name="**/*.class"/>
       </fileset>
       </copy>
       </target>
      
       <target name="buildtest" depends="compiletest,copytestclasses" description="Build the tests">
       <copy todir="${test.dir}">
       <fileset dir="${basedir}/resources">
       <exclude name="META-INF/persistence*.xml"/>
       <exclude name="import*.sql"/>
       <exclude name="${project.name}-*-ds.xml"/>
       </fileset>
       </copy>
       <copy tofile="${test.dir}/META-INF/persistence.xml"
       file="${basedir}/resources/META-INF/persistence-test.xml"
       overwrite="true"/>
       <copy tofile="${test.dir}/import.sql"
       file="${basedir}/resources/import-test.sql"
       overwrite="true"/>
       <copy todir="${test.dir}" flatten="true">
       <fileset dir="${src.test.dir}">
       <include name="**/*Test.xml" />
       </fileset>
       </copy>
       </target>
      
       <target name="test" depends="buildtest" description="Run the tests">
       <taskdef resource="testngtasks" classpath="${testng.jar}" />
      
       <path id="test.path">
       <path path="${test.dir}" />
       <fileset dir="${lib.dir}/test">
       <include name="*.jar"/>
       </fileset>
       <path path="${bootstrap.dir}" />
       <path refid="build.classpath" />
       </path>
      
       <testng outputdir="${basedir}/test-report">
       <classpath refid="test.path" />
       <xmlfileset dir="${test.dir}" includes="*Test.xml" />
       </testng>
       </target>
      
       <target name="validateConfiguration" depends="war,ear,jar" description="Validate the xml configuration files">
       <mkdir dir="${schema.dir}"/>
       <unjar src="${lib.dir}/jboss-seam.jar" dest="${schema.dir}">
       <patternset>
       <include name="org/jboss/seam/*.xsd"/>
       <include name="org/jboss/seam/*.dtd"/>
       </patternset>
       </unjar>
       <ant antfile="validate.xml" target="validateConfiguration" />
       </target>
      
      </project>
      


      seam-2.0.1.CR1
      jboss-4.2.2.GA


      Any help would be appreciated.

      Thanks in advance,
      Vikram

        • 1. Re: FAILED CONFIGURATION: @BeforeClass init
          Pete Muir Master

          Turn up logging in bootstrap/log4j.xml to at least info for the org.jboss category and post the log.

          • 2. Re: FAILED CONFIGURATION: @BeforeClass init
            Vikram Chhetry Newbie

            Logs that I see:-

            [Parser] Running:
             /home/vikramc/workspace/Impact/src/test/com/impact/test/ChangePasswordActionTest.xml
            
            FAILED CONFIGURATION: @BeforeClass init
            java.lang.NoClassDefFoundError: org/jboss/deployers/spi/DeploymentException
             at java.lang.Class.forName0(Native Method)
             at java.lang.Class.forName(Class.java:164)
             at org.jboss.seam.mock.BaseSeamTest.embeddedJBossAvailable(BaseSeamTest.java:1015)
             at org.jboss.seam.mock.BaseSeamTest.startJbossEmbeddedIfNecessary(BaseSeamTest.java:1005)
             at org.jboss.seam.mock.BaseSeamTest.init(BaseSeamTest.java:931)
             at org.jboss.seam.mock.SeamTest.init(SeamTest.java:42)
            ... Removed 22 stack frames
            SKIPPED CONFIGURATION: @BeforeMethod begin
            SKIPPED CONFIGURATION: @AfterMethod end
            SKIPPED CONFIGURATION: @AfterClass cleanup
            SKIPPED: testChangePassword
            
            ===============================================
             Change Password Test
             Tests run: 1, Failures: 0, Skips: 1
             Configuration Failures: 1, Skips: 3
            ===============================================
            
            
            ===============================================
            Change Password Test
            Total tests run: 1, Failures: 0, Skips: 1
            Configuration Failures: 1, Skips: 3
            ===============================================
            
            


            I run it using testNG.

            Changes made:-
            <category name="org.jboss">
             <priority value="INFO"/>
             </category>
             <category name="com.arjuna">
             <priority value="INFO"/>
             </category>
            






            • 3. Re: FAILED CONFIGURATION: @BeforeClass init
              Vikram Chhetry Newbie

               

              Buildfile: build.xml
              
              compiletest:
              
              copytestclasses:
              
              buildtest:
               [copy] Copying 1 file to /home/vikramc/workspace/Impact/test-build/META-INF
               [copy] Copying 1 file to /home/vikramc/workspace/Impact/test-build
              
              test:
               [testng] [Parser] Running:
               [testng] /home/vikramc/workspace/Impact/test-build/ChangePasswordActionTest.xml
              
               [testng] WARN [org.jboss.mx.loading.UnifiedLoaderRepository3] Tried to add non-URLClassLoader. Ignored
               [testng] INFO [com.arjuna.ats.jbossatx.jta.TransactionManagerService] JBossTS Transaction Service (JTA version) - JBoss Inc.
               [testng] INFO [com.arjuna.ats.jbossatx.jta.TransactionManagerService] Setting up property manager MBean and JMX layer
               [testng] WARN [com.arjuna.ats.arjuna.logging.arjLoggerI18N] [com.arjuna.ats.arjuna.coordinator.TxControl_1] - Name of XA node not defined. Using a0000bc:802c:4796faae:0
               [testng] INFO [com.arjuna.ats.arjuna.logging.arjLoggerI18N] [com.arjuna.ats.arjuna.recovery.TransactionStatusManager_1] - Starting service com.arjuna.ats.arjuna.recovery.ActionStatusService on port 32812
               [testng] INFO [com.arjuna.ats.arjuna.logging.arjLogger] TransactionStatusManagerItem - host: 10.0.0.188 port: 32812
               [testng] INFO [com.arjuna.ats.arjuna.logging.arjLoggerI18N] [com.arjuna.ats.arjuna.recovery.TransactionStatusManager_3] - TransactionStatusManager started on port 32812 with service com.arjuna.ats.arjuna.recovery.ActionStatusService
               [testng] INFO [com.arjuna.ats.tsmx.logging.tsmxLogger] Registering mbean for module 'arjuna'
               [testng] INFO [com.arjuna.ats.tsmx.logging.tsmxLogger] Initialising JMX agent com.arjuna.ats.internal.jbossatx.agent.LocalJBossAgentImpl
               [testng] INFO [com.arjuna.ats.jbossatx.jta.TransactionManagerService] Starting recovery manager
               [testng] INFO [com.arjuna.ats.arjuna.logging.arjLogger]
               [testng] --- Start RecoveryActivators
               [testng] INFO [com.arjuna.ats.arjuna.logging.arjLoggerI18N] [com.arjuna.ats.internal.arjuna.recovery.ready] RecoveryManagerImple is ready on port 32,813
               [testng] INFO [com.arjuna.ats.jbossatx.jta.TransactionManagerService] Recovery manager started
               [testng] INFO [com.arjuna.ats.jbossatx.jta.TransactionManagerService] Binding TransactionManager JNDI Reference
               [testng] INFO [org.jboss.resource.deployers.RARDeployment] Required license terms exist, view vfsfile:/home/vikramc/workspace/Impact/bootstrap/deploy/jboss-local-jdbc.rar/META-INF/ra.xml
               [testng] INFO [org.jboss.resource.deployers.RARDeployment] Required license terms exist, view vfsfile:/home/vikramc/workspace/Impact/bootstrap/deploy/jboss-xa-jdbc.rar/META-INF/ra.xml
               [testng] INFO [org.jboss.resource.connectionmanager.ConnectionFactoryBindingService] Bound ConnectionManager 'jboss.jca:service=DataSourceBinding,name=DefaultDS' to JNDI name 'java:DefaultDS'
               [testng] WARN [org.jboss.messaging.core.plugin.JDBCPersistenceManager]
              
               [testng] JBoss Messaging Warning: DataSource connection transaction isolation should be READ_COMMITTED, but it is currently NONE.
               [testng] Using an isolation level less strict than READ_COMMITTED may lead to data consistency problems.
               [testng] Using an isolation level more strict than READ_COMMITTED may lead to deadlock.
              
               [testng] INFO [org.jboss.jms.server.ServerPeer] ServerPeer[0] creating server peer with ID 0
               [testng] INFO [org.jboss.jms.server.ServerPeer] JBoss Messaging 1.2.0.sp1 server [0] started
               [testng] INFO [org.jboss.jms.server.connectionfactory.ConnectionFactory] Connector bisocket://10.0.0.188:4457 has leasing enabled, lease period 10000 milliseconds
               [testng] INFO [org.jboss.jms.server.connectionfactory.ConnectionFactory] [/ConnectionFactory, /XAConnectionFactory, java:/ConnectionFactory, java:/XAConnectionFactory] started
               [testng] INFO [org.jboss.jms.server.destination.QueueService] Queue[/queue/DLQ] started, fullSize=200000, pageSize=2000, downCacheSize=2000
               [testng] INFO [org.jboss.jms.server.destination.QueueService] Queue[/queue/ExpiryQueue] started, fullSize=200000, pageSize=2000, downCacheSize=2000
               [testng] INFO [org.jboss.jms.server.destination.QueueService] Queue[/queue/PrivateDLQ] started, fullSize=200000, pageSize=2000, downCacheSize=2000
               [testng] INFO [org.jboss.jms.server.destination.QueueService] Queue[/queue/PrivateExpiryQueue] started, fullSize=200000, pageSize=2000, downCacheSize=2000
               [testng] INFO [org.jboss.jms.server.destination.QueueService] Queue[/queue/QueueWithOwnDLQAndExpiryQueue] started, fullSize=200000, pageSize=2000, downCacheSize=2000
               [testng] INFO [org.jboss.jms.server.destination.TopicService] Topic[/topic/TopicWithOwnDLQAndExpiryQueue] started, fullSize=200000, pageSize=2000, downCacheSize=2000
               [testng] INFO [org.jboss.jms.server.destination.QueueService] Queue[/queue/QueueWithOwnRedeliveryDelay] started, fullSize=200000, pageSize=2000, downCacheSize=2000
               [testng] INFO [org.jboss.jms.server.destination.TopicService] Topic[/topic/TopicWithOwnRedeliveryDelay] started, fullSize=200000, pageSize=2000, downCacheSize=2000
               [testng] INFO [org.jboss.resource.deployers.RARDeployment] Required license terms exist, view vfsfile:/home/vikramc/workspace/Impact/bootstrap/deploy/jms-ra.rar/META-INF/ra.xml
               [testng] INFO [org.jboss.resource.connectionmanager.ConnectionFactoryBindingService] Bound ConnectionManager 'jboss.jca:service=DataSourceBinding,name=JmsXA' to JNDI name 'java:JmsXA'
               [testng] INFO [org.jboss.ejb3.MCKernelAbstraction] installing bean: persistence.units:jar=test-build.jar,unitName=Impact with dependencies:
               [testng] INFO [org.jboss.ejb3.MCKernelAbstraction] jboss.jca:name=ImpactDatasource,service=DataSourceBinding
               [testng] INFO [org.jboss.ejb3.MCKernelAbstraction] installing bean: jboss.j2ee:jar=test-build,name=DatabaseBackedList,service=EJB3 with dependencies:
               [testng] INFO [org.jboss.ejb3.MCKernelAbstraction] persistence.units:jar=test-build.jar,unitName=Impact
               [testng] INFO [org.jboss.ejb3.MCKernelAbstraction] installing bean: jboss.j2ee:jar=test-build,name=ChangePasswordAction,service=EJB3 with dependencies:
               [testng] INFO [org.jboss.ejb3.MCKernelAbstraction] persistence.units:jar=test-build.jar,unitName=Impact
               [testng] INFO [org.jboss.ejb3.MCKernelAbstraction] installing bean: jboss.j2ee:jar=test-build,name=CallCenterAgentEditAction,service=EJB3 with dependencies:
               [testng] INFO [org.jboss.ejb3.MCKernelAbstraction] persistence.units:jar=test-build.jar,unitName=Impact
               [testng] INFO [org.jboss.ejb3.MCKernelAbstraction] installing bean: jboss.j2ee:jar=test-build,name=CallCenterAgentManageAction,service=EJB3 with dependencies:
               [testng] INFO [org.jboss.ejb3.MCKernelAbstraction] persistence.units:jar=test-build.jar,unitName=Impact
               [testng] INFO [org.jboss.ejb3.MCKernelAbstraction] installing bean: jboss.j2ee:jar=test-build,name=CallCenterAgentAction,service=EJB3 with dependencies:
               [testng] INFO [org.jboss.ejb3.MCKernelAbstraction] persistence.units:jar=test-build.jar,unitName=Impact
               [testng] FAILED CONFIGURATION: @BeforeClass init
               [testng] org.jboss.deployers.spi.IncompleteDeploymentException: Summary of incomplete deployments (SEE PREVIOUS ERRORS FOR DETAILS):
              
               [testng] *** CONTEXTS MISSING DEPENDENCIES: Name -> Dependency{Required State:Actual State}
              
               [testng] jboss.j2ee:jar=test-build,name=CallCenterAgentAction,service=EJB3
               [testng] -> <UNKNOWN>{Described:** UNRESOLVED AbstractDemandMetaData$DemandDependencyItem@ffab0a{name=jboss.j2ee:jar=test-build,name=CallCenterAgentAction,service=EJB3 dependsOn=null whenRequired=Described resolved=false demand=persistence.units:jar=test-build.jar,unitName=Impact} **}
              
               [testng] jboss.j2ee:jar=test-build,name=CallCenterAgentEditAction,service=EJB3
               [testng] -> <UNKNOWN>{Described:** UNRESOLVED AbstractDemandMetaData$DemandDependencyItem@7be687{name=jboss.j2ee:jar=test-build,name=CallCenterAgentEditAction,service=EJB3 dependsOn=null whenRequired=Described resolved=false demand=persistence.units:jar=test-build.jar,unitName=Impact} **}
              
               [testng] jboss.j2ee:jar=test-build,name=CallCenterAgentManageAction,service=EJB3
               [testng] -> <UNKNOWN>{Described:** UNRESOLVED AbstractDemandMetaData$DemandDependencyItem@ba679e{name=jboss.j2ee:jar=test-build,name=CallCenterAgentManageAction,service=EJB3 dependsOn=null whenRequired=Described resolved=false demand=persistence.units:jar=test-build.jar,unitName=Impact} **}
              
               [testng] jboss.j2ee:jar=test-build,name=ChangePasswordAction,service=EJB3
               [testng] -> <UNKNOWN>{Described:** UNRESOLVED AbstractDemandMetaData$DemandDependencyItem@121dcac{name=jboss.j2ee:jar=test-build,name=ChangePasswordAction,service=EJB3 dependsOn=null whenRequired=Described resolved=false demand=persistence.units:jar=test-build.jar,unitName=Impact} **}
              
               [testng] jboss.j2ee:jar=test-build,name=DatabaseBackedList,service=EJB3
               [testng] -> <UNKNOWN>{Described:** UNRESOLVED AbstractDemandMetaData$DemandDependencyItem@1f39c59{name=jboss.j2ee:jar=test-build,name=DatabaseBackedList,service=EJB3 dependsOn=null whenRequired=Described resolved=false demand=persistence.units:jar=test-build.jar,unitName=Impact} **}
              
               [testng] persistence.units:jar=test-build.jar,unitName=Impact
               [testng] -> <UNKNOWN>{Described:** UNRESOLVED AbstractDemandMetaData$DemandDependencyItem@11f1f12{name=persistence.units:jar=test-build.jar,unitName=Impact dependsOn=null whenRequired=Described resolved=false demand=jboss.jca:name=ImpactDatasource,service=DataSourceBinding} **}
              
              
               [testng] *** CONTEXTS IN ERROR: Name -> Error
              
               [testng] <UNKNOWN> -> ** UNRESOLVED AbstractDemandMetaData$DemandDependencyItem@11f1f12{name=persistence.units:jar=test-build.jar,unitName=Impact dependsOn=null whenRequired=Described resolved=false demand=jboss.jca:name=ImpactDatasource,service=DataSourceBinding} **
              
              
               [testng] at org.jboss.embedded.DeploymentGroup.checkIncomplete(DeploymentGroup.java:151)
               [testng] at org.jboss.embedded.DeploymentGroup.process(DeploymentGroup.java:129)
               [testng] at org.jboss.embedded.Bootstrap.deployResourceBases(Bootstrap.java:307)
               [testng] at org.jboss.seam.mock.EmbeddedBootstrap.startAndDeployResources(EmbeddedBootstrap.java:14)
               [testng] at org.jboss.seam.mock.BaseSeamTest.startJbossEmbeddedIfNecessary(BaseSeamTest.java:1006)
               [testng] at org.jboss.seam.mock.BaseSeamTest.init(BaseSeamTest.java:931)
               [testng] at org.jboss.seam.mock.SeamTest.init(SeamTest.java:42)
               [testng] ... Removed 22 stack frames
               [testng] SKIPPED CONFIGURATION: @BeforeMethod begin
               [testng] SKIPPED CONFIGURATION: @AfterMethod end
               [testng] SKIPPED CONFIGURATION: @AfterClass cleanup
               [testng] SKIPPED: testChangePassword
              
               [testng] ===============================================
               [testng] Change Password Test
               [testng] Tests run: 1, Failures: 0, Skips: 1
               [testng] Configuration Failures: 1, Skips: 3
               [testng] ===============================================
              
              
               [testng] ===============================================
               [testng] Change Password Test
               [testng] Total tests run: 1, Failures: 0, Skips: 1
               [testng] Configuration Failures: 1, Skips: 3
               [testng] ===============================================
              


              • 4. Re: FAILED CONFIGURATION: @BeforeClass init
                Vikram Chhetry Newbie

                I am still not able to solve this problem.
                Can any one send me a link or tell me what all things are required to run a basic test script. I still do not know where the problem is?

                Any help would be appreciated.

                -Vikram

                • 5. Re: FAILED CONFIGURATION: @BeforeClass init
                  Pete Muir Master

                  What version of Seam?

                  • 6. Re: FAILED CONFIGURATION: @BeforeClass init
                    Vikram Chhetry Newbie

                    seam-2.0.1.CR1
                    jboss-4.2.2.GA

                    • 7. Re: FAILED CONFIGURATION: @BeforeClass init
                      Vikram Chhetry Newbie

                      I changed my hsqldb-ds.xml and getting this error now.

                      Buildfile: build.xml
                      
                      compiletest:
                       [javac] Compiling 1 source file to /home/vikramc/workspace/Impact/test-build
                      
                      copytestclasses:
                      
                      buildtest:
                       [copy] Copying 1 file to /home/vikramc/workspace/Impact/test-build/META-INF
                       [copy] Copying 1 file to /home/vikramc/workspace/Impact/test-build
                      
                      test:
                       [testng] [Parser] Running:
                       [testng] /home/vikramc/workspace/Impact/test-build/ChangePasswordActionTest.xml
                      
                       [testng] WARN [org.jboss.mx.loading.UnifiedLoaderRepository3] Tried to add non-URLClassLoader. Ignored
                       [testng] INFO [com.arjuna.ats.jbossatx.jta.TransactionManagerService] JBossTS Transaction Service (JTA version) - JBoss Inc.
                       [testng] INFO [com.arjuna.ats.jbossatx.jta.TransactionManagerService] Setting up property manager MBean and JMX layer
                       [testng] WARN [com.arjuna.ats.arjuna.logging.arjLoggerI18N] [com.arjuna.ats.arjuna.coordinator.TxControl_1] - Name of XA node not defined. Using a0000bc:8088:47988390:0
                       [testng] INFO [com.arjuna.ats.arjuna.logging.arjLoggerI18N] [com.arjuna.ats.arjuna.recovery.TransactionStatusManager_1] - Starting service com.arjuna.ats.arjuna.recovery.ActionStatusService on port 32904
                       [testng] INFO [com.arjuna.ats.arjuna.logging.arjLogger] TransactionStatusManagerItem - host: 10.0.0.188 port: 32904
                       [testng] INFO [com.arjuna.ats.arjuna.logging.arjLoggerI18N] [com.arjuna.ats.arjuna.recovery.TransactionStatusManager_3] - TransactionStatusManager started on port 32904 with service com.arjuna.ats.arjuna.recovery.ActionStatusService
                       [testng] INFO [com.arjuna.ats.tsmx.logging.tsmxLogger] Registering mbean for module 'arjuna'
                       [testng] INFO [com.arjuna.ats.tsmx.logging.tsmxLogger] Initialising JMX agent com.arjuna.ats.internal.jbossatx.agent.LocalJBossAgentImpl
                       [testng] INFO [com.arjuna.ats.jbossatx.jta.TransactionManagerService] Starting recovery manager
                       [testng] INFO [com.arjuna.ats.arjuna.logging.arjLogger]
                       [testng] --- Start RecoveryActivators
                       [testng] INFO [com.arjuna.ats.arjuna.logging.arjLoggerI18N] [com.arjuna.ats.internal.arjuna.recovery.ready] RecoveryManagerImple is ready on port 32,905
                       [testng] INFO [com.arjuna.ats.jbossatx.jta.TransactionManagerService] Recovery manager started
                       [testng] INFO [com.arjuna.ats.jbossatx.jta.TransactionManagerService] Binding TransactionManager JNDI Reference
                       [testng] INFO [org.jboss.resource.deployers.RARDeployment] Required license terms exist, view vfsfile:/home/vikramc/workspace/Impact/bootstrap/deploy/jboss-local-jdbc.rar/META-INF/ra.xml
                       [testng] INFO [org.jboss.resource.deployers.RARDeployment] Required license terms exist, view vfsfile:/home/vikramc/workspace/Impact/bootstrap/deploy/jboss-xa-jdbc.rar/META-INF/ra.xml
                       [testng] INFO [org.jboss.resource.connectionmanager.ConnectionFactoryBindingService] Bound ConnectionManager 'jboss.jca:service=DataSourceBinding,name=ImpactDatasource' to JNDI name 'java:ImpactDatasource'
                       [testng] INFO [org.jboss.jms.server.ServerPeer] ServerPeer[0] creating server peer with ID 0
                       [testng] INFO [org.jboss.resource.deployers.RARDeployment] Required license terms exist, view vfsfile:/home/vikramc/workspace/Impact/bootstrap/deploy/jms-ra.rar/META-INF/ra.xml
                       [testng] FAILED CONFIGURATION: @BeforeClass init
                       [testng] org.jboss.deployers.spi.IncompleteDeploymentException: Summary of incomplete deployments (SEE PREVIOUS ERRORS FOR DETAILS):
                      
                       [testng] *** CONTEXTS MISSING DEPENDENCIES: Name -> Dependency{Required State:Actual State}
                      
                       [testng] jboss.jca:name=JmsXA,service=DataSourceBinding
                       [testng] -> jboss.jca:name=JmsXA,service=TxCM{Create:Configured}
                       [testng] -> jboss.jca:name=JmsXA,service=TxCM{Start:Configured}
                      
                       [testng] jboss.jca:name=JmsXA,service=ManagedConnectionFactory
                       [testng] -> jboss.messaging:service=ServerPeer{Start:Configured}
                       [testng] -> jboss.messaging:service=ServerPeer{Create:Configured}
                      
                       [testng] jboss.jca:name=JmsXA,service=ManagedConnectionPool
                       [testng] -> jboss.jca:name=JmsXA,service=ManagedConnectionFactory{Create:Configured}
                       [testng] -> jboss.jca:name=JmsXA,service=ManagedConnectionFactory{Start:Configured}
                      
                       [testng] jboss.jca:name=JmsXA,service=TxCM
                       [testng] -> jboss.jca:name=JmsXA,service=ManagedConnectionPool{Create:Configured}
                       [testng] -> jboss.jca:name=JmsXA,service=ManagedConnectionPool{Start:Configured}
                      
                       [testng] jboss.messaging.connectionfactory:service=ConnectionFactory
                       [testng] -> jboss.messaging:service=PostOffice{Start:Configured}
                       [testng] -> jboss.messaging:service=PostOffice{Create:Configured}
                       [testng] -> jboss.messaging:service=ServerPeer{Start:Configured}
                       [testng] -> jboss.messaging:service=ServerPeer{Create:Configured}
                      
                       [testng] jboss.messaging.destination:name=DLQ,service=Queue
                       [testng] -> jboss.messaging:service=ServerPeer{Start:Configured}
                       [testng] -> jboss.messaging:service=ServerPeer{Create:Configured}
                       [testng] -> jboss.messaging:service=PostOffice{Start:Configured}
                       [testng] -> jboss.messaging:service=PostOffice{Create:Configured}
                      
                       [testng] jboss.messaging.destination:name=ExpiryQueue,service=Queue
                       [testng] -> jboss.messaging:service=ServerPeer{Create:Configured}
                       [testng] -> jboss.messaging:service=ServerPeer{Start:Configured}
                       [testng] -> jboss.messaging:service=PostOffice{Create:Configured}
                       [testng] -> jboss.messaging:service=PostOffice{Start:Configured}
                      
                       [testng] jboss.messaging.destination:name=PrivateDLQ,service=Queue
                       [testng] -> jboss.messaging:service=PostOffice{Start:Configured}
                       [testng] -> jboss.messaging:service=PostOffice{Create:Configured}
                       [testng] -> jboss.messaging:service=ServerPeer{Start:Configured}
                       [testng] -> jboss.messaging:service=ServerPeer{Create:Configured}
                      
                       [testng] jboss.messaging.destination:name=PrivateExpiryQueue,service=Queue
                       [testng] -> jboss.messaging:service=ServerPeer{Create:Configured}
                       [testng] -> jboss.messaging:service=ServerPeer{Start:Configured}
                       [testng] -> jboss.messaging:service=PostOffice{Start:Configured}
                       [testng] -> jboss.messaging:service=PostOffice{Create:Configured}
                      
                       [testng] jboss.messaging.destination:name=QueueWithOwnDLQAndExpiryQueue,service=Queue
                       [testng] -> jboss.messaging:service=PostOffice{Start:Configured}
                       [testng] -> jboss.messaging:service=ServerPeer{Start:Configured}
                       [testng] -> jboss.messaging:service=PostOffice{Create:Configured}
                       [testng] -> jboss.messaging:service=ServerPeer{Create:Configured}
                      
                       [testng] jboss.messaging.destination:name=QueueWithOwnRedeliveryDelay,service=Queue
                       [testng] -> jboss.messaging:service=PostOffice{Start:Configured}
                       [testng] -> jboss.messaging:service=PostOffice{Create:Configured}
                       [testng] -> jboss.messaging:service=ServerPeer{Start:Configured}
                       [testng] -> jboss.messaging:service=ServerPeer{Create:Configured}
                      
                       [testng] jboss.messaging.destination:name=TopicWithOwnDLQAndExpiryQueue,service=Topic
                       [testng] -> jboss.messaging:service=PostOffice{Create:Configured}
                       [testng] -> jboss.messaging:service=ServerPeer{Create:Configured}
                       [testng] -> jboss.messaging:service=ServerPeer{Start:Configured}
                       [testng] -> jboss.messaging:service=PostOffice{Start:Configured}
                      
                       [testng] jboss.messaging.destination:name=TopicWithOwnRedeliveryDelay,service=Topic
                       [testng] -> jboss.messaging:service=ServerPeer{Start:Configured}
                       [testng] -> jboss.messaging:service=ServerPeer{Create:Configured}
                       [testng] -> jboss.messaging:service=PostOffice{Create:Configured}
                       [testng] -> jboss.messaging:service=PostOffice{Start:Configured}
                      
                       [testng] jboss.messaging:service=JMSUserManager
                       [testng] -> jboss.jca:name=DefaultDS,service=DataSourceBinding{Start:** NOT FOUND **}
                       [testng] -> jboss.jca:name=DefaultDS,service=DataSourceBinding{Create:** NOT FOUND **}
                      
                       [testng] jboss.messaging:service=PersistenceManager
                       [testng] -> jboss.jca:name=DefaultDS,service=DataSourceBinding{Start:** NOT FOUND **}
                       [testng] -> jboss.jca:name=DefaultDS,service=DataSourceBinding{Create:** NOT FOUND **}
                      
                       [testng] jboss.messaging:service=PostOffice
                       [testng] -> jboss.jca:name=DefaultDS,service=DataSourceBinding{Start:** NOT FOUND **}
                       [testng] -> jboss.messaging:service=ServerPeer{Create:Configured}
                       [testng] -> jboss.messaging:service=ServerPeer{Start:Configured}
                       [testng] -> jboss.jca:name=DefaultDS,service=DataSourceBinding{Create:** NOT FOUND **}
                      
                       [testng] jboss.messaging:service=ServerPeer
                       [testng] -> jboss.messaging:service=JMSUserManager{Create:Configured}
                       [testng] -> jboss.messaging:service=PersistenceManager{Create:Configured}
                       [testng] -> jboss.messaging:service=PersistenceManager{Start:Configured}
                       [testng] -> jboss.messaging:service=JMSUserManager{Start:Configured}
                      
                       [testng] jboss.mq:service=DestinationManager
                       [testng] -> jboss.messaging:service=ServerPeer{Start:Configured}
                       [testng] -> jboss.messaging:service=ServerPeer{Create:Configured}
                      
                      
                       [testng] *** CONTEXTS IN ERROR: Name -> Error
                      
                       [testng] jboss.jca:name=DefaultDS,service=DataSourceBinding -> ** NOT FOUND **
                      
                      
                       [testng] at org.jboss.embedded.Bootstrap.checkIncomplete(Bootstrap.java:144)
                       [testng] at org.jboss.embedded.Bootstrap.bootstrapURL(Bootstrap.java:169)
                       [testng] at org.jboss.embedded.Bootstrap.bootstrap(Bootstrap.java:201)
                       [testng] at org.jboss.embedded.Bootstrap.bootstrap(Bootstrap.java:214)
                       [testng] at org.jboss.seam.mock.EmbeddedBootstrap.startAndDeployResources(EmbeddedBootstrap.java:11)
                       [testng] at org.jboss.seam.mock.BaseSeamTest.startJbossEmbeddedIfNecessary(BaseSeamTest.java:1006)
                       [testng] at org.jboss.seam.mock.BaseSeamTest.init(BaseSeamTest.java:931)
                       [testng] at org.jboss.seam.mock.SeamTest.init(SeamTest.java:42)
                       [testng] ... Removed 22 stack frames
                       [testng] SKIPPED CONFIGURATION: @BeforeMethod begin
                       [testng] SKIPPED CONFIGURATION: @AfterMethod end
                       [testng] SKIPPED CONFIGURATION: @AfterClass cleanup
                       [testng] SKIPPED: testCallCenterAgent
                      
                       [testng] ===============================================
                       [testng] Change Password Test
                       [testng] Tests run: 1, Failures: 0, Skips: 1
                       [testng] Configuration Failures: 1, Skips: 3
                       [testng] ===============================================
                      
                      
                       [testng] ===============================================
                       [testng] Change Password Test
                       [testng] Total tests run: 1, Failures: 0, Skips: 1
                       [testng] Configuration Failures: 1, Skips: 3
                       [testng] =========================================



                      I have generated this project using seam-gen. Do i need to add some jar files to the class path? If yes then what all jar files do I need to add?

                      I m using seam-2.0.1.CR1 jboss-4.2.2.GA

                      Thanks,
                      -Vikram

                      • 8. Re: FAILED CONFIGURATION: @BeforeClass init
                        Pete Muir Master

                        I suggest starting with a clean copy of Seam 2.0.1.CR1 or CR2 and use seam-gen to generate a build script for you. It does work correctly, I promise!

                        I'm lost in all your posts I'm afraid.

                        • 9. Re: FAILED CONFIGURATION: @BeforeClass init
                          Vikram Chhetry Newbie

                          Thanks pete, thank a lot for your response.

                          I suggest starting with a clean copy of Seam 2.0.1.CR1 or CR2 and use seam-gen to generate a build script for you. It does work correctly, I promise!

                          I have a question. After starting with clean copy of seam do I need to make any kind of change in any configuration file? or seam-gen will do everything for me?

                          Thanks,
                          Vikram

                          • 10. Re: FAILED CONFIGURATION: @BeforeClass init
                            Vikram Chhetry Newbie

                            I created a fresh project using seam gen. Then I replaced src and view folder with my old project.

                            When I tried running ant test i got this exception

                            [testng] INFO [com.impact.session.AddUser] Exception = org.hibernate.exception.GenericJDBCException: could not insert: [com.impact.entity.User]
                             [testng] FAILED: testAddUser
                             [testng] java.lang.AssertionError


                            In my old project I made some changes and I got the same exception, but I didnt change anything in this project.

                            can anyone please help me out on this?

                            Regards,

                            • 11. Re: FAILED CONFIGURATION: @BeforeClass init
                              Pete Muir Master

                               

                              I have a question. After starting with clean copy of seam do I need to make any kind of change in any configuration file? or seam-gen will do everything for me?


                              No, seam-gen sets it up properly.

                              Again, turn up the logging, and find out why hibernate doesn't do the insert. Beaware of EMB-8 (fixed in Seam 2.0.1.CR2).

                              This is likely some problem with your test or configuration.

                              • 12. Re: FAILED CONFIGURATION: @BeforeClass init
                                Vikram Chhetry Newbie

                                It might be a stupid question.
                                Does it have anything to do with import-test.sql file?
                                All the files import-test.sql,import-dev.sql,import-dev.sql are empty.

                                Thanks,
                                Vikram