UPOC testing

  • Creator
    Topic
  • #51410
    Krishna Kumar
    Participant

    I have a translate completely written in TCL outside engine and a UPOC using this translate.Then a process is set up in the engine so that just to send translated messages to destination

    How can I test this translate using testing tool included with IDE

Viewing 11 reply threads
  • Author
    Replies
    • #70165
      David Barr
      Participant

      If it’s callable as a UPOC, you should be able to use the TPS testing tool.

    • #70166
      David Barr
      Participant

      Krishna has asked for me to elaborate on my answer.

      It sounds like you’re saying that you have a TPS proc (which you refer to as a UPOC) that is calling another TCL procedure or script.  You want to test your procs using the testing tool.  The way that you do that is by opening the testing tool, go to the TPS tab, select the TPS proc that you want to test and a data file to test with, fill in all of the other required fields on the testing tool and click the “run command” button.

      Does this help? Am I understanding what you’re trying to do?

    • #70167
      Mark Perschbacher
      Participant

      The thing I didn’t realize at first was that to see the output of the proc, you had to select Send to Proc, and choose hciroutetestshowby dest.

    • #70168
      David Barr
      Participant

      Mark, you use hciroutetestshowbydest for testing routes.  For TPS procs, you can use hcitpstestshowbydisp.

    • #70169
      Krishna Kumar
      Participant

      I tried the way you folks replied but I am not getting any display in Result pane.

    • #70170
      David Barr
      Participant

      Maybe you should post a screen shot.

    • #70171
      David Barr
      Participant

      Actually, if you just copy the text out of the “preview command to issue” field and post that, it might help us determine the problem.

    • #70172
      Krishna Kumar
      Participant

      proc tps_upoc_chg_from_ctrc_ {args} {

      global HciSite HciConnName

      keylget args MODE mode

      set dispList {}

      switch -exact — $mode {

      time {

      set mIns {}

      set directory [file join F:/Interfaces $HciSite $HciConnName queue]

      set files     [glob -directory $directory -nocomplain — *.txt]

      foreach file $files {

      set timestamp [clock seconds]

      puts “Polled $file on [clock format $timestamp -format %m/%d/%Y] at [clock format $timestamp -format %H:%M:%S]:”

      if {[::ctrc_::poll_chg_from_ctrc_ $file]} {

      catch {

      set mIn {}

      dict set mIn FILE  $file

      dict set mIn LINES {}

      set handle [open $file r]

      while {[gets $handle line] >= 0} {

      dict lappend mIn LINES $line

      }

      close $handle

      file delete -force $file

      lappend mIns $mIn

      puts ”    Processed:”

      puts ”        [tcl_::label_ [llength [dict get $mIn LINES]] line lines]”

      } message

      if {$message != {}} {

      puts ”    Error:”

      puts ”        $message”

      }

      } else {

      puts ”    Queued…”

      }

      }

      set mOuts [::ctrc_::translate_chg_from_ctrc_ $mIns]

      if {$mOuts != {}} {

      puts “Processed [tcl_::label_ [llength $mIns] file files]:”

      puts ”    [tcl_::label_ [llength $mOuts] message messages]”

      foreach mOut $mOuts {

      set out   [dict get $mOut SEGMENTS]

      set outMH [msgcreate -class engine -type data -recover — [join $out r]r]

      lappend dispList “CONTINUE $outMH”

      }

      }

      }

      }

      return $dispList

      }

    • #70173
      David Barr
      Participant

      So, this proc works on “time” mode instead of “run” mode.  You need to make sure that you have that selected in the tester.  You also need to make sure that you have data files in the directory referred to by the proc (f:/interfaces/ … /queue or something).  Also, it looks like the proc is looking at the $HciConnName variable which will be set when the proc is called from the Cloverleaf thread, but will probably be set to something unusual when run from the testing tool, so you might need to temporarily change the “set directory” line to hardcode the full directory name of your file.

    • #70174
      Krishna Kumar
      Participant

      I set up in Time Mode but still did not displaying any thing.

      My set up:

      Procs: tps_upoc_chg_from_ctrc_

      Selected Leak Detection Time Mode selected Initial startup Interval 1  Selected Send to Proc  as hcitpstestsowbydisp.

      I hardcoded the directory where file is residing

      This is what I am seeing as output

      Command Issued: hcitpstest -r time -L -i 1 -S -c sms_ib_data -e “hcitpstestshowbydisp ” “tps_upoc_chg_from_ctrc_”

      Command output:

      count must be > 0

      Usage: D:quovadxqdx5.4.1integratorbinhcitpstest.exe [-a] [-c caller] [-e “proc args”] [-f format]

            [-i interval] [-L] [-m count] [-r runmode] [-S] [-s savebase]

            [file] [“proc1 args1” … “procN argsN”]

         -a               = process all records in file

         -c caller        = caller context name

         -e “proc args”   = end processing config

         -f format        = file format specifier

         -i interval      = delay interval (time mode)

         -m count         = max msg count (time mode)

         -L               = do Tcl handle leak detection

         -r runmode       = run mode

         -S               = run message-less Startup

         -s savebase      = save file base name

         file             = data file (run mode)

         “procN argsN”    = TPS module proc and args

      caller values:

         ack_control

         fileset_ibdel

         fileset_ibdirparse

         pdupoc_read

         pdupoc_write

         prewrite

         proto_startup

         proto_startup_sendfail

         proto_startup_sendok

         reply_gen

         send_data_fail

         send_data_ok

         send_reply_fail

         send_reply_ok

         sms_fwd_data

         sms_fwd_reply

         sms_ib_data

         sms_ib_reply

         sms_ob_data

         sms_ob_reply

         xlt_gen

         xlt_post

         xlt_pre

         xlt_raw

         httpc_query

      format values:

         len10     = 10-byte length encoded

         nl        = newline-terminated (default)

         eof       = eof-terminated

      runmode values:

         run       = ‘normal’ run mode

         start     = start-up mode

         time      = time-based mode

         shutdown  = shut down mode

    • #70175
      David Barr
      Participant

      It looks like this is the error: “count must be > 0”.  I haven’t seen that one before, but I’d guess that you need to fill in the “max messages” field in the testing tool and try again.

    • #70176
      Krishna Kumar
      Participant

      Thank you all! It worked. I really appreciate all the help

Viewing 11 reply threads
  • The forum ‘Cloverleaf’ is closed to new topics and replies.

Forum Statistics

Registered Users
5,105
Forums
28
Topics
9,278
Replies
34,382
Topic Tags
281