diff --git a/docs/container-orchestration/README.md b/docs/container-orchestration/README.md new file mode 100644 index 000000000..370d8906b --- /dev/null +++ b/docs/container-orchestration/README.md @@ -0,0 +1,70 @@ +# REDHAWK Container Orchestration +REDHAWK offers a standardized methodology for running waveforms on container orchestration technologies by means of an extensible plugin class. These capabilities have been integrated into core-framework through modifications to the Application Factory and Sandbox but in a manner that emphaised backwards compatibility; it is still possible to use the standard Domain Manager and GPP combo to run native Executable and SharedLibrary type components on your REDHAWK systems. + +Each cluster technology has its own unique ways to launch, configure, and delete containers, so the plugin system allows users to develop their own Sandbox and Application Factory plugins that Domain Manager dynamically loads at run-time to spawn waveforms on a cluster according a global cluster configuration file called `cluster.cfg` that controls the parameters passed to each plugin. + +*NOTE* These additions have *not* been reconciled with REDHAWK IDE. Viewing Components with spd.xml files modified in support of using these features will generate visual errors in RHIDE. + +# General Installation Dependencies + +1. Install the dependencies for REDHAWK with the [REDHAWK Manual](https://redhawksdr.org/2.2.8/manual/appendices/dependencies/) +2. Yum install the `yaml-cpp-devel` package for the plugins' yaml generation +3. Docker version 19.03.12 is required for building REDHAWK Component docker images +4. Download and install [docker-redhawk](https://github.com/Geontech/docker-redhawk.git) tag 2.2.8-0 or [docker-redhawk-ubuntu](https://github.com/Geontech/docker-redhawk-ubuntu.git) branch develop-2.2.1 (Ubuntu is only required for GNURadio components) +5. The following must be present in your environment (have network connectivity to your system running REDHAWK and proper configuration) in order to use RH components in clusters: + * A cluster running the desired orchestration technology + * The matching RH cluster plugin installed + * Your networking, firewalls and DNS setup to communicate with your cluster's control plane/nodes/API + * Your local system with REDHAWK installed must have its `cluster.cfg` file set correctly and the plugin's approprriate environment variables set + +For plugin specific instructions, please see that plugin's corresponding documentation. + +# Plugin Execution Path +The Application Factory loops through the list of components in the waveform making note of the component's code type. If the code type is set to "Container", then the spd parsing mechanism checks the component's entrypoint. The entrypoint element has been extended to identify the suffix of a docker image path. Consider the example below pulled from SigGen's spd.xml file. +``` + + + cpp/SigGen::rh.siggen + +``` +In this entrypoint element, everything after the "::" is regarded as the desired image name suffix. The "::" is a delimiter. The prefix of the image is found in the `cluster.cfg` file. + +If all components in the waveform are of Container code type, then no GPP is required to run the waveform. Waveforms can be ran in a "hybrid" manner in which components with Executable or SharedLibrary code types will run on the native REDHAWK system while those with Container code type are executed on the cluster dictated by the installed plugin and `cluster.cfg` file. Hybrid waveforms, or any waveform that uses Executable or SharedLibrary code types still required a GPP to run (this is for backwards compatibility). + +# Building and Installing core-framework from Source +```bash +$ cd /core-framework/redhawk/src +$ ./build.sh +$ sudo make install +``` +## Building and Installing Plugins +No plugin is installed by default. Three plugins are currently included with REDHAWK: +1. [Docker](plugin-docker.md) +2. [DockerSwarm](plugin-dockerswarm.md) +3. [EksKube](plugin-ekskube.md) + +## The cluster.cfg file +The `$OSSIEHOME/cluster.cfg` file contains sections named according to the cluster orchestration plugin technology (EKS, Docker Swarm, etc). Each plugin-specific section contains variables (key value pairs) used by the specific plugin. You should ensure the values set in this file are correct prior to running a waveform. + +#### Installing the Cluster Configuration File +```bash +$ cd ./core-framework/redhawk/src/base/cfg +$ sudo -E ./build.py --cluster +``` + +This will render the template cluster.cfg file into your $OSSIEHOME/cluster.cfg file. The plugin name argument you specify sets the plugin's top section which controls will plugin REDHAWK will use, assuming the plugin is already installed. + +Possible values for the plugin name argument are: +1. [EksKube](plugin-ekskube.md) +2. [Docker](plugin-docker.md) +3. [DockerSwarm](plugin-dockerswarm.md) + +## Networking +Networking can get complicated quickly because it will vary depending on what you're trying to run in your cluster, what that cluster's networking setup looks like, and your local system's ability to send traffic to that cluster. Guiding rules of thumb are: +* If you are running DomMgr and/or GPP with OmniORB on your local system and only running waveforms on a cluster, those launched components need to be able to initiate connections to omniORB. This boils down to there being a "flat" network between where OmniORB runs and where the waveform runs. NAT will break one party's ability to talk to the other. +* In the scenario where all REDHAWK services (OmniORB, DomMgr, and/or GPP) run inside the cluster alongside the waveform payloads, so long as the containers can network resolve each other (almost always the case barring network security restrictions on the cluster), then there should not be any difficulties with networking. + +Please see each plugin's documention for more more network specifics. + +## Misc additions +Each plugin behaves differently. Some require specialized networking, other require special credentials, and some might require environment variables. Please consult the specific plugin's documentation to learn more. diff --git a/docs/container-orchestration/plugin-class.md b/docs/container-orchestration/plugin-class.md new file mode 100644 index 000000000..3f85dc351 --- /dev/null +++ b/docs/container-orchestration/plugin-class.md @@ -0,0 +1,49 @@ +# Plugin Class +The parent plugin class can be used to inherit from and form the skeleton of your own plugin. It can be found at `core-framework/src/base/include/ossie/cluster/ClusterManagerResolver.h` The class' public methods are those that your derivative class can overwrite for you orchestration technology's way of handling containers. + +# Public Methods +## launchComponent(std::string app_id) +* Launches a component or yaml file of multiple components into the cluster +* @param app_id the redhawk code passes the plugin the application ID (can be used for namespaces for example) +* @return An integer representing a pid. A negative pid will throw an error while a pid 0 and greater will succeed + +## pollStatusActive(std::string app_id) +* Polls the component and waits to see that it is active and running (equivalent to REDHAWKs native pid check but for clusters) +* @param comp_id the key that is used on validNamesMap to find the name of the component that is being checked to be active +* @return Boolean where true means the component is active and false means the component is not. REDHAWK prints an error to logs if false + +## pollStatusTerminated(std::string app_id) +* Polls the component and waits for terminatation (in clusters this might mean CrashLoopBackoff, Completed, etc...) +* @param comp_id the key that is used on validNamesMap to find the name of the component that is being checked to be terminated +* @return Boolean where true means the component is terminated and false means the component is not. REDHAWK prints an error to logs if false + +## deleteComponent(std::string comp_id) +* Deletes a component or multiple components in a yaml file from the namespace +* @param comp_id the key that is used on validNamesMap to find the name of the component that is being checked to be deleted + +## isTerminated(std::string app_id) +* One-off check for if a component has terminated (in clusters this might mean CrashLoopBackoff, Completed, etc...) +* @param comp_id the key that is used on validNamesMap to find the name of the component that is being checked to be terminated +* @return true if terminated and false if not. Throws a ComponentTerminated exception if false on start up + +## openComponentConfigFile(redhawk::PropertyMap execParameters, std::string entryPoint, std::string image) + Adds a component to the yaml file so that all cluster type components are in the file before launching. This is also the location where non-cluster type deployments would run executables (see DockerResolver.cpp) + +`execParameters` The parameters given to the component to be able to execute it. These parameters can instead be baked into the yaml file for the cluster technology to launch itself +(i.e /path/to/executable NAMING_CONTEXT_IOR PROFILE_NAME NAME_BINDING COMPONENT_IDENTIFIER DEBUG_LEVEL ). +Other params include: +* NIC +* RH::GPP::MODIFIED_CPU_RESERVATION_VALUE + +`entryPoint` The path to the executable (i.e /var/redhawk/sdr/dom/components/rh/SigGen/cpp/SigGen) + +`image` The image name that was attached to the entrypoint in the spd.xml file (i.e in the spd <\entrypoint>/path/to/executable::image<\entrypoint>). +This is not the fully qualified path to the image. The registry path will instead be found in /usr/local/redhawk/core/cluster.cfg and combined with this `image` parameter to yield the fully qualified image path. + +## closeComponentConfigFile(std::string app_id) +* Closes the yaml file that was being written to +* @param app_id the application ID is given so that when the file is saved out it can be unique + + + + diff --git a/docs/container-orchestration/plugin-docker.md b/docs/container-orchestration/plugin-docker.md new file mode 100644 index 000000000..7dd5fa049 --- /dev/null +++ b/docs/container-orchestration/plugin-docker.md @@ -0,0 +1,58 @@ +# Docker +The Docker plugin is designed to run REDHAWK waveforms on your local system's Docker installation. + +# Building and Installing the Plugin + +Both the Application Factory and Sandbox plugins for Docker are installed when core-framework is built and installed from source. + +Application Factory +```bash +$ cd core-framework/redhawk/src/base/plugin/clustermgr/clustertype +$ ./build.py Docker +$ ./reconf && ./configure && make && sudo make install +``` +Sandbox +```bash +$ cd core-framework/redhawk/src/base/framework/python/ossie/utils/sandbox +$ make FILE=Docker +``` + +This will compile and install the Application Factory and Sandbox plugins for the user. The plugins are built in a specific location in core-framework (`core-framework/redhawk/src/base/plugin/clustermgr/`and `core-framework/redhawk/src/base/framework/python/ossie/utils/sandbox/`) and are both installed to `/usr/local/redhawk/core/lib` + +# Plugin Specifics +## Dependencies +1. Docker installed on your system along with REDHAWK + +## The cluster.cfg file +```bash +cd core-framework/redhawk/src/base/cfg +sudo -E ./build.py --cluster Docker --docker_dir --mount_dir +``` +OR +```bash +cd core-framework/redhawk/src/base/cfg +make Docker DOCKER_DIR="" MOUNT_DIR="" +``` +This will properly set the top section to use the Docker plugin and pass in the assortment of arguments to setup the cluster.cfg file. + +## cluster.cfg file variables +The top section of the file should specify that the Docker plugin is desired like so: +``` +[CLUSTER] +name = Docker +``` +| Variable | Example Value | Description | +|------------|-----------------------|------------------------------------------------------------| +| docker_dir | /mnt/ | Path inside of the docker container to mount mount_dir to | +| mount_dir | /home/bob/myshareddir | Path on the docker host to mount into the docker container | + +*NOTE*: These variables are only used by the Sandbox Docker plugin and do not work for the Application Factory plugin. + +## Credentials +The Docker plugin needs the following credentials: +1. Your ~/.docker/config.json updated to allow docker to pull your Component images from your desired Registry if the images are not already present on your local system + +## Networking +Docker uses a bridged network by default by running the containers with the "--network host" option. + +This configuration is ideal for enabling your containers to communicate with running REDHAWK services on the same system. diff --git a/docs/container-orchestration/plugin-dockerswarm.md b/docs/container-orchestration/plugin-dockerswarm.md new file mode 100644 index 000000000..fec6433c9 --- /dev/null +++ b/docs/container-orchestration/plugin-dockerswarm.md @@ -0,0 +1,77 @@ +# DockerSwarm +The DockerSwarm plugin is designed to run REDHAWK waveforms on Docker Swarm clusters. + +# Building and Installing the Plugin + +Application Factory +```bash +$ cd core-framework/redhawk/src/base/plugin/clustermgr/clustertype +$ sudo ./build.py DockerSwarm +$ ./reconf && ./configure && make && sudo make install +``` +Sandbox +```bash +$ cd core-framework/redhawk/src/base/framework/python/ossie/utils/sandbox/clustertype +$ make FILE=DockerSwarm +``` + +This will compile and install the Application Factory and Sandbox plugins for the user. The plugins are built in a specific location in core-framework (`core-framework/redhawk/src/base/plugin/clustermgr/`and `core-framework/redhawk/src/base/framework/python/ossie/utils/sandbox/`) and are both installed to `/usr/local/redhawk/core/lib` + +# Plugin Specifics +## Dependencies +1. None + +## The cluster.cfg file +```bash +cd core-framework/redhawk/src/base/cfg +sudo -E ./build.py --cluster DockerSwarm --registry --ssh_key --server_user --server_ip +``` +OR +```bash +cd core-framework/redhawk/src/base/cfg +make DockerSwarm REGISTRY="" SSH_KEY="" SERVER_USER="" SERVER_IP="" +``` +This will properly set the top section to use the DockerSwarm plugin and pass in the assortment of arguments to setup the cluster.cfg file. + +## cluster.cfg file variables +The top section of the file should specify that the DockerSwarm plugin is desired like so: +``` +[CLUSTER] +name = DockerSwarm +``` +| Variable | Example Value | Description | +|------------------|--------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------| +| registry | geontech | This value is concatenated with a "/" and then the image suffix found in the entrypoint of the component's spd.xml file. Shared across all components. | +| tag | latest | The image tag used. Shared across all components. | +| key | ~/.ssh/ssh_key.pem | Path to your SSH key. Must be read-accessible by Domain Manager | +| user | centos | User used to log into node via SSH | +| ip | 10.10.10.10 | IP address or FQDN of the Swarm Master node to connect to via SSH | +| docker_login_cmd | "docker login" | The command ran by the plugin to log into the registry hosting the Component container images | + +## Credentials +The DockerSwarm plugin needs the following credentials: +1. A linux user on a Docker Swarm Manager node authorized to SSH into it with a corresponding SSH private key +2. Docker login creds on the Docker Swarm Manager Node + +Docker Swarm does not offer a "remote control" capability like K8S does via kubectl, so the Docker Swarm plugin uses SSH to log into a Swarm Manager Node to run/apply the generated docker-compose yaml. For this SSH login to work, a pre-configured user must exist on the targeted Manager node that is allowed to SSH in. + +When the plugin logs into the node over SSH, it first runs the command defined in the docker_login_cmd variable in `cluster.cfg`. You can overrite this value to supply your username and password as arguments in the `cluster.cfg` file. + +## Networking +Docker Swarm uses virtual overlay networks by default, which isn't ideal for waveforms on the Swarm and REDHAWK services running on a remote system external to the cluster. It is for this reason that the yaml generated for Docker Swarm creates a host network and attached all Component containers to that network: +```yaml +version: '3' +networks: + outside: + external: + name: host +services: + siggen1: + ... + networks: + - outside +```` +This makes each Component container share the host node's IP address. + + +This configuration is ideal for running REDHAWK services external to the cluster (on your local REDHAWK system). diff --git a/docs/container-orchestration/plugin-ekskube.md b/docs/container-orchestration/plugin-ekskube.md new file mode 100644 index 000000000..30cd1d184 --- /dev/null +++ b/docs/container-orchestration/plugin-ekskube.md @@ -0,0 +1,166 @@ +# EksKube +The EksKube plugin is designed to run REDHAWK waveforms on AWS EKS clusters. + +# Building and Installing the Plugin + +Application Factory +```bash +$ cd core-framework/redhawk/src/base/plugin/clustermgr/clustertype +$ sudo ./build.py EksKube +$ ./reconf && ./configure && make && sudo make install +``` +Sandbox +```bash +$ cd core-framework/redhawk/src/base/framework/python/ossie/utils/sandbox/clustertype +$ make FILE=EksKube +``` + +This will compile and install the Application Factory and Sandbox plugins for the user. The plugins are built in a specific location in core-framework (`core-framework/redhawk/src/base/plugin/clustermgr/`and `core-framework/redhawk/src/base/framework/python/ossie/utils/sandbox/`) and are both installed to `/usr/local/redhawk/core/lib` + +# Plugin Specifics +## Dependencies +1. The [kubectl binary](https://kubernetes.io/docs/tasks/tools/install-kubectl-linux/) installed on your local REDHAWK system on your $PATH +2. The [aws cli binary](https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2-linux.html) installed on your local REDHAWK system on your $PATH + +## The cluster.cfg file +```bash +cd core-framework/redhawk/src/base/cfg +sudo -E ./build.py --cluster EksKube --registry --json `base64 -w0 ~/.docker/config.json` +``` +OR +```bash +cd core-framework/redhawk/src/base/cfg +make EksKube REGISTRY="" JSON="" +``` +This will properly set the top section to use the EksKube plugin and pass in the assortment of arguments to setup the cluster.cfg file. + +NOTE that `make EksKube` will create a default cluster.cfg file full of blank values (empty strings "") and `make` with all the variables after it render a complete cluster.cfg file with those values set. + +## cluster.cfg file variables +The top section of the file should specify that the EksKube plugin is desired like so: +``` +[CLUSTER] +name = EksKube +``` +| Variable | Example Value | Description | +|------------------|------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------| +| registry | geontech | This value is concatenated with a "/" and then the image suffix found in the entrypoint of the component's spd.xml file. Shared across all components. | +| tag | latest | The image tag used. Shared across all components. | +| dockerconfigjson | UmVhbGx5IHJlYWxseSByZWVlZWVlZWVlZWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWx...Z2cgYXV0aCBrZXlzCg== | The auth field of your ~/.docker/config.json file that authorized docker pulls against the registry identified in the registry variable. | + + +## Environment Variables +Sourcing the `$OSSIHOME/etc/profile.d/redhawk.sh` file will set 4 environment variables Domain Manager will use to direct the control of the aws and kubectl binaries it invokes: +1. AWS_PROFILE=redhawk +2. AWS_CONFIG_FILE=/usr/local/redhawk/core/aws/config +3. AWS_SHARED_CREDENTIALS_FILE=/usr/local/redhawk/core/aws/credentials +4. KUBECONFIG=/usr/local/redhawk/core/.kube/config + +If these variables are not set, or the files they point to are corrupted or misconfigured, Domain Manager logs will infrom you that its attempt to use aws or kubectl binaries are bailing; this is likely to be caused by these environment variables being missing, set incorrectly, or the files being configured incorrectly, so double-check to ensure these are correct. + +## $OSSIEHOME additions +The [plugin install process](#building-and-installing-the-plugin) will install new files into $OSSIEHOME. Aside from the cluster.cfg file, the EksKube plugin will install two new directories: +1. `$OSSIHOME/aws`: Contains AWS-specific files used by the `aws` CLI binary. Template files are generated at install-time and you will need to edit these files with your appropriate values. +2. `$OSSIHOME/.kube`: Contains the configuration file that instructs the `kubectl` binary how to interact with your EKS cluster. + +#### aws Directory +You should see the following files in the `$OSSIEHHOME/aws` directory: +* config.fake +* credentials.fake +* README.md + +The README simply explains to edit the *.fake suffix files to proper values and to drop the .fake suffix in order for the plugin to run properly. The EksKube plugin leverages the kubectl and aws cli binaries, meaning Domain Manager (which imports the plugin) uses these binaries. [See the official AWS documentation on configuring the aws cli binary.](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html) The kubectl binary uses the aws binary for the EKS cluster according to the KUBECONFIG file (discussed later). The aws binary needs an Idenity and Access Management user setup that has the appropriate AWS permissions that kubectl expects to do its job. The plugin expects the `credentials` file, pointed to by the AWS_SHARED_CREDENTIALS_FILE environment variable, to contain [a named profile](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html) called `redhawk`. An example of your properly fixed `credentials` file (note the dropped .fake suffix) might look like: +``` +[redhawk] +aws_access_key_id= +aws_secret_access_key= +``` +The `$OSSIHOME/aws/config` file contains additional configuration used for the aws cli binary. An example config file might look like: +``` +[profile redhawk] +region = us-gov-west-1 +output = table +``` +The important notes for this file are: +* The configurations apply to the redhawk profile (IAM user) +* The region corresponds to [the AWS region](https://aws.amazon.com/about-aws/global-infrastructure/regions_az/) where your EKS cluster is running + +#### .kube Directory +You should see the following files in the `$OSSIHOME/.kube` directory: +* config +README + +The README explains how to use the [eksctl binary](https://docs.aws.amazon.com/eks/latest/userguide/eksctl.html) you presumably used to build your EKS cluster to generate a kube config file at this path for kubectl to use. The KUBECONFIG environment variable points to this config file. The eksctl binary will generate the config file at ~/.kube/config by default, so simply relocate that file to this path. + +## Credentials +The EksKube plugin needs the following credentials: +1. An AWS IAM user called `redhawk` with the appropriate permissions (see below) +2. An EKS cluster that has had its[aws-auth ConfigMap](https://docs.aws.amazon.com/eks/latest/userguide/add-user-role.html) updated to give the redhawk IAM user sufficient privileges in the k8s cluster +3. A valid dockerconfigjson auth string used to authenticate `docker pull` commands the k8s cluster executes to retrieve RH component images (if using images in a private registry) + +### AWS IAM User +The redhawk AWS IAM user can use the following IAM policies as a starting point for its permissions needed: +1. The AWS-Managed Policy: AmazonEC2ContainerRegistryReadOnly (Allows the `redhawk` IAM user to `docker pull` from ECR) +2. A self-managed policy called `EksUser` that allows the redhawk user to query information about the EKS cluster +``` + "Version": "2012-10-17", + "Statement": [ + { + "Sid": "VisualEditor0", + "Effect": "Allow", + "Action": [ + "eks:DescribeNodegroup", + "eks:ListNodegroups", + "eks:ListUpdates", + "eks:DescribeUpdate", + "eks:DescribeCluster" + ], + "Resource": [ + "arn:aws-us-gov:eks:*::cluster/*", + "arn:aws-us-gov:eks:*::nodegroup/*/*/*" + ] + }, + { + "Sid": "VisualEditor1", + "Effect": "Allow", + "Action": "eks:ListClusters", + "Resource": "*" + } + ] +} +``` + +### aws-auth ConfigMap +The `aws-auth` [ConfigMap](https://docs.aws.amazon.com/eks/latest/userguide/add-user-role.html) can add the redhawk IAM user to the `system:masters` group to give it complete access to the k8s cluster; not recommended for production clusters with sensitive and isolated workloads. +``` +mapUsers: +---- +- userarn: arn:aws-us-gov:iam:::user/redhawk + username: redhawk + groups: + - system:masters +``` + +### dockerconfigjson variable +In a nutshell: +1. Update your system's `~/.docker/config.json` file +2. Install the cluster.cfg file and use the updated `~/.docker/config.json` to set its value + +The `build.py` file at `core-framework/redhawk/src/base/cfg/build.py` can accept a `--json` argument to help update the dockerconfigjson variable for the Eks plugin: the dockerconfigjson variable. This variable is used in the Eks plugin to generate a Secret from your local system's `~/.docker/config.json` file, and that Secret is what authorizes k8s to perform a `docker pull` and retrieve your desired RH Component docker image from a private Docker Registry that requires authentication (if you are using images hosted on DockerHub that do not require authentication to pull, then this variable is not needed and the Secret yaml generated will be invalid and not used). + +Your system's `~/.docker/config.json` file is updated whenever your run a `docker login ` command. Depending on the Docker Registry used to house your RH Component docker images, you may use the standard `docker login` command syntax or something Registry-specific. For example, for images stored in AWS' [Elastic Container Registry (ECR)](https://aws.amazon.com/ecr/), the approach [for authenticating looks different](https://aws.amazon.com/blogs/compute/authenticating-amazon-ecr-repositories-for-docker-cli-with-credential-helper/). Regardless of how you update your system's `~/.docker/config.json` file, **you should do so prior to installing the Cluster Configuration File** so that it gets the proper auth value set in its dockerconfigjson variable. + +Once you have your `~/.docker/config.json` updated, install the cluster.cfg file with these steps: +``` +cd core-framework/redhawk/src/base/cfg/ +sudo -E ./build.py --cluster EksKube --json `base64 -w0 ~/.docker/config.json` +``` +This will extract the `auth` field from your `~/.docker/config.json` to pass it as an argument to the install file, which will install the Cluster Configuration File to `$OSSIHOME/cluster.cfg`. + +## Networking +EKS uses [AWS's VPC CNI](https://docs.aws.amazon.com/eks/latest/userguide/pod-networking.html) by default which provides a flat network. The caveat to this setup is that [EKS also enables SNAT by default](https://docs.aws.amazon.com/eks/latest/userguide/external-snat.html), which interferes with pods' ability to talk to an OmniORB running on your local system. This should be disabled by enabling "External SNAT" which stops k8s from snating pods' IPs that are attempting to communicate outside of the cluster. +``` +kubectl set env daemonset -n kube-system aws-node AWS_VPC_K8S_CNI_EXTERNALSNAT=true +``` + +This configuration is ideal for running REDHAWK services external to the cluster (on your local REDHAWK system). diff --git a/frontendInterfaces/libsrc/testing/tests/runtests b/frontendInterfaces/libsrc/testing/tests/runtests index 3614d31cc..27f23b1e5 100755 --- a/frontendInterfaces/libsrc/testing/tests/runtests +++ b/frontendInterfaces/libsrc/testing/tests/runtests @@ -9,7 +9,7 @@ frontend_top=$(cd ../../..;pwd) frontend_libsrc_top=$frontend_top/libsrc export LD_LIBRARY_PATH=$frontend_libsrc_top/.libs:$frontend_top/.libs:$frontend_top/jni/.libs:${LD_LIBRARY_PATH} export PYTHONPATH=$frontend_libsrc_top/python:${PYTHONPATH} -export CLASSPATH=${frontend_libsrc_top}/frontend.jar:${frontend_top}/frontendInterfaces.jar:${CLASSPATH} +export CLASSPATH=${frontend_libsrc_top}/frontend.jar:${frontend_top}/FRONTENDInterfaces.jar:${CLASSPATH} # Limit the number of threads Java uses for the garbage collector to avoid # misleading Java "out of memory" errors that in all actuality appear to be diff --git a/redhawk/src/.builddriver.log b/redhawk/src/.builddriver.log new file mode 100644 index 000000000..c9756678f --- /dev/null +++ b/redhawk/src/.builddriver.log @@ -0,0 +1,67 @@ +builddriver executing: 'make -j' +Compilation SUCCEED in 107.05401 seconds +Number of warnings: 63 +For full log, please open: /var/folders/wb/ckvxxgls5db7qyhqq4y5_l1c0000gq/T/build-2ezg1igo.log +WarningErrorEntry(path='/usr/local/include/omniORB4/pollable_defs.hh', lineno='178', severity='warning', message="'CORBA::DIIPollable::_PR_copy_state' hides overloaded virtual function [-Woverloaded-virtual]", column='16') +WarningErrorEntry(path='/usr/local/include/omniORB4/messaging.hh', lineno='252', severity='warning', message="'Messaging::Poller::_PR_copy_state' hides overloaded virtual function [-Woverloaded-virtual]", column='18') +WarningErrorEntry(path='WellKnownPropertiesDynSK.cpp', lineno='7', severity='warning', message="unused variable '_0RL_dyn_library_version' [-Wunused-variable]", column='20') +WarningErrorEntry(path='PortDynSK.cpp', lineno='7', severity='warning', message="unused variable '_0RL_dyn_library_version' [-Wunused-variable]", column='20') +WarningErrorEntry(path='StandardEventSK.cpp', lineno='13', severity='warning', message="unused variable '_0RL_library_version' [-Wunused-variable]", column='20') +WarningErrorEntry(path='WellKnownPropertiesSK.cpp:13:20: warningDataTypeSK.cpp', lineno='13', severity='warning', message="unused variable '_0RL_library_version' [-Wunused-variable]", column='20') +WarningErrorEntry(path='PortSK.cpp', lineno='13', severity='warning', message="unused variable '_0RL_library_version' [-Wunused-variable]", column='20') +WarningErrorEntry(path='QueryablePortDynSK.cpp', lineno='7', severity='warning', message="unused variable '_0RL_dyn_library_version' [-Wunused-variable]", column='20') +WarningErrorEntry(path='PortTypesSK.cpp', lineno='13', severity='warning', message="unused variable '_0RL_library_version' [-Wunused-variable]", column='20') +WarningErrorEntry(path='StandardEventDynSK.cpp', lineno='7', severity='warning', message="unused variable '_0RL_dyn_library_version' [-Wunused-variable]", column='20') +WarningErrorEntry(path='DataTypeDynSK.cpp', lineno='7', severity='warning', message="unused variable '_0RL_dyn_library_version' [-Wunused-variable]", column='20') +WarningErrorEntry(path='QueryablePortSK.cpp', lineno='13', severity='warning', message="unused variable '_0RL_library_version' [-Wunused-variable]", column='20') +WarningErrorEntry(path='PortTypesDynSK.cpp', lineno='7', severity='warning', message="unused variable '_0RL_dyn_library_version' [-Wunused-variable]", column='20') +WarningErrorEntry(path='NegotiablePortDynSK.cpp', lineno='7', severity='warning', message="unused variable '_0RL_dyn_library_version' [-Wunused-variable]", column='20') +WarningErrorEntry(path='LogInterfacesDynSK.cpp', lineno='7', severity='warning', message="unused variable '_0RL_dyn_library_version' [-Wunused-variable]", column='20') +WarningErrorEntry(path='NegotiablePortSK.cpp', lineno='13', severity='warning', message="unused variable '_0RL_library_version' [-Wunused-variable]", column='20') +WarningErrorEntry(path='EventChannelManagerDynSK.cpp', lineno='7', severity='warning', message="unused variable '_0RL_dyn_library_version' [-Wunused-variable]", column='20') +WarningErrorEntry(path='EventChannelManagerSK.cpp', lineno='13', severity='warning', message="unused variable '_0RL_library_version' [-Wunused-variable]", column='20') +WarningErrorEntry(path='LogInterfacesSK.cpp', lineno='13', severity='warning', message="unused variable '_0RL_library_version' [-Wunused-variable]", column='20') +WarningErrorEntry(path='AggregateDevicesDynSK.cpp', lineno='7', severity='warning', message="unused variable '_0RL_dyn_library_version' [-Wunused-variable]", column='20') +WarningErrorEntry(path='ExtendedEventDynSK.cpp', lineno='7', severity='warning', message="unused variable '_0RL_dyn_library_version' [-Wunused-variable]", column='20') +WarningErrorEntry(path='sandboxDynSK.cpp', lineno='7', severity='warning', message="unused variable '_0RL_dyn_library_version' [-Wunused-variable]", column='20') +WarningErrorEntry(path='ExtendedEventSK.cpp', lineno='13', severity='warning', message="unused variable '_0RL_library_version' [-Wunused-variable]", column='20') +WarningErrorEntry(path='sandboxSK.cpp', lineno='13', severity='warning', message="unused variable '_0RL_library_version' [-Wunused-variable]", column='20') +WarningErrorEntry(path='AggregateDevicesSK.cpp', lineno='13', severity='warning', message="unused variable '_0RL_library_version' [-Wunused-variable]", column='20') +WarningErrorEntry(path='cfDynSK.cpp', lineno='7', severity='warning', message="unused variable '_0RL_dyn_library_version' [-Wunused-variable]", column='20') +WarningErrorEntry(path='cfSK.cpp', lineno='13', severity='warning', message="unused variable '_0RL_library_version' [-Wunused-variable]", column='20') +WarningErrorEntry(path='/usr/local/include/boost/bind.hpp', lineno='36', severity='warning', message='The practice of declaring the Bind placeholders (_1, _2, ...) in the global namespace is deprecated. Please use + using namespace boost::placeholders, or define BOOST_BIND_GLOBAL_PLACEHOLDERS to retain the current behavior. [-W#pragma-messages]', column='1') +WarningErrorEntry(path='BufferManager.cpp', lineno='28', severity='warning', message="'CacheBlock' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]", column='1') +WarningErrorEntry(path='../include/ossie/prop_helpers.h', lineno='93', severity='warning', message='returning address of local temporary object [-Wreturn-stack-address]', column='20') +WarningErrorEntry(path='../include/ossie/logging/loghelpers.h', lineno='135', severity='warning', message="'ossie::logging::DomainCtx::configure' hides overloaded virtual function [-Woverloaded-virtual]", column='12') +WarningErrorEntry(path='../include/ossie/logging/loghelpers.h', lineno='178', severity='warning', message="'ossie::logging::DeviceMgrCtx::configure' hides overloaded virtual function [-Woverloaded-virtual]", column='12') +WarningErrorEntry(path='shm/Heap.cpp', lineno='108', severity='warning', message="private field '_id' is not used [-Wunused-private-field]", column='9') +WarningErrorEntry(path='EventChannelSupport.cpp', lineno='284', severity='warning', message="variable 'obj' is uninitialized when used within its own initialization [-Wuninitialized]", column='26') +WarningErrorEntry(path='../include/ossie/Transport.h', lineno='106', severity='warning', message="private field '_port' is not used [-Wunused-private-field]", column='19') +WarningErrorEntry(path='PropertySet_impl.cpp', lineno='85', severity='warning', message="private field 'obj' is not used [-Wunused-private-field]", column='35') +WarningErrorEntry(path='', lineno='178', severity='warning', message='virtual void _PR_copy_state(DIIPollable*);', column='16') +WarningErrorEntry(path='../../include/ossie/prop_helpers.h', lineno='93', severity='warning', message='returning address of local temporary object [-Wreturn-stack-address]', column='20') +WarningErrorEntry(path='clustermgr.cpp', lineno='8', severity='warning', message="'cluster_factory' has C-linkage specified, but returns incomplete type 'ossie::cluster::ClusterManagerResolverPtr' (aka 'shared_ptr') which could be incompatible with C [-Wreturn-type-c-linkage]", column='1') +WarningErrorEntry(path='EmptyLogCfgUri.cpp', lineno='62', severity='warning', message="'logcfg_factory' has C-linkage specified, but returns incomplete type 'ossie::logging::LogConfigUriResolverPtr' (aka 'shared_ptr') which could be incompatible with C [-Wreturn-type-c-linkage]", column='1') +WarningErrorEntry(path='internal/sad-pimpl.cpp', lineno='1020', severity='warning', message='all paths through this function will call itself [-Winfinite-recursion]', column='3') +WarningErrorEntry(path='internal/prf-pimpl.h', lineno='171', severity='warning', message="'prf::inputValue_pimpl::simple' hides overloaded virtual function [-Woverloaded-virtual]", column='7') +WarningErrorEntry(path='internal/prf-pimpl.h', lineno='284', severity='warning', message="'prf::resultValue_pimpl::simple' hides overloaded virtual function [-Woverloaded-virtual]", column='7') +WarningErrorEntry(path='internal/prf-pimpl.h', lineno='303', severity='warning', message="'prf::simple_pimpl::units' hides overloaded virtual function [-Woverloaded-virtual]", column='7') +WarningErrorEntry(path='internal/prf-pimpl.h', lineno='306', severity='warning', message="'prf::simple_pimpl::range' hides overloaded virtual function [-Woverloaded-virtual]", column='7') +WarningErrorEntry(path='internal/prf-pimpl.h', lineno='405', severity='warning', message="'prf::simpleSequence_pimpl::units' hides overloaded virtual function [-Woverloaded-virtual]", column='7') +WarningErrorEntry(path='internal/prf-pimpl.h', lineno='408', severity='warning', message="'prf::simpleSequence_pimpl::range' hides overloaded virtual function [-Woverloaded-virtual]", column='7') +WarningErrorEntry(path='./internal/prf-pimpl.h', lineno='171', severity='warning', message="'prf::inputValue_pimpl::simple' hides overloaded virtual function [-Woverloaded-virtual]", column='7') +WarningErrorEntry(path='./internal/prf-pimpl.h', lineno='284', severity='warning', message="'prf::resultValue_pimpl::simple' hides overloaded virtual function [-Woverloaded-virtual]", column='7') +WarningErrorEntry(path='./internal/prf-pimpl.h', lineno='303', severity='warning', message="'prf::simple_pimpl::units' hides overloaded virtual function [-Woverloaded-virtual]", column='7') +WarningErrorEntry(path='./internal/prf-pimpl.h', lineno='306', severity='warning', message="'prf::simple_pimpl::range' hides overloaded virtual function [-Woverloaded-virtual]", column='7') +WarningErrorEntry(path='./internal/prf-pimpl.h', lineno='405', severity='warning', message="'prf::simpleSequence_pimpl::units' hides overloaded virtual function [-Woverloaded-virtual]", column='7') +WarningErrorEntry(path='./internal/prf-pimpl.h', lineno='408', severity='warning', message="'prf::simpleSequence_pimpl::range' hides overloaded virtual function [-Woverloaded-virtual]", column='7') +WarningErrorEntry(path='../../base/include/ossie/prop_helpers.h', lineno='93', severity='warning', message='returning address of local temporary object [-Wreturn-stack-address]', column='20') +WarningErrorEntry(path='../../../base/include/ossie/prop_helpers.h', lineno='93', severity='warning', message='returning address of local temporary object [-Wreturn-stack-address]', column='20') +WarningErrorEntry(path='../../../base/include/ossie/logging/loghelpers.h', lineno='135', severity='warning', message="'ossie::logging::DomainCtx::configure' hides overloaded virtual function [-Woverloaded-virtual]", column='12') +WarningErrorEntry(path='../../../base/include/ossie/logging/loghelpers.h', lineno='178', severity='warning', message="'ossie::logging::DeviceMgrCtx::configure' hides overloaded virtual function [-Woverloaded-virtual]", column='12') +WarningErrorEntry(path='./PersistenceStore.h', lineno='65', severity='warning', message="'DeviceNode' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]", column='5') +WarningErrorEntry(path='./DeploymentExceptions.h', lineno='35', severity='warning', message="class 'DeviceNode' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]", column='5') +WarningErrorEntry(path='Deployment.cpp', lineno='264', severity='warning', message="field 'appComponent' will be initialized after field '_isCluster' [-Wreorder-ctor]", column='5') +WarningErrorEntry(path='ApplicationFactory_impl.cpp', lineno='2512', severity='warning', message="explicitly assigning value of variable of type 'std::string' (aka 'basic_string') to itself [-Wself-assign-overloaded]", column='20') +WarningErrorEntry(path='main.cpp', lineno='58', severity='warning', message="unused variable 'sig_fd' [-Wunused-variable]", column='12') +WarningErrorEntry(path='main.cpp', lineno='84', severity='warning', message="unused function 'child_exit' [-Wunused-function]", column='13') diff --git a/redhawk/src/.clang-tidy b/redhawk/src/.clang-tidy new file mode 100644 index 000000000..10a810979 --- /dev/null +++ b/redhawk/src/.clang-tidy @@ -0,0 +1,31 @@ +--- +Checks: "-*,\ +-cert-*,\ +-misc-*,\ +modernize-*,\ +-modernize-avoid-c-arrays,\ +-modernize-loop-convert,\ +-modernize-raw-string-literal,\ +-modernize-return-braced-init-list,\ +-modernize-use-auto,\ +-modernize-use-bool-literals,\ +-modernize-use-equals-default,\ +-modernize-use-equals-delete,\ +-modernize-use-default-member-init,\ +-modernize-use-trailing-return-type,\ +-modernize-use-nullptr,\ +-modernize-use-using,\ +-performance-*,\ +portability-*,\ +-readability-*,\ +-readability-named-parameter,\ +-readability-braces-around-statements,\ +-readability-implicit-bool-conversion,\ +-readability-else-after-return,\ +-cppcoreguidelines-*,\ +-cppcoreguidelines-owning-memory,\ +-cppcoreguidelines-special-member-functions,\ +-cppcoreguidelines-pro-*\ +" +HeaderFilterRegex: '.*' +... diff --git a/redhawk/src/.gitignore b/redhawk/src/.gitignore index 6d827f77f..d53e0e458 100644 --- a/redhawk/src/.gitignore +++ b/redhawk/src/.gitignore @@ -3,14 +3,17 @@ autom4te.cache config.guess config.log config.status +config.cache config.sub configure +compile depcomp install-sh libtool ltmain.sh missing ossie.pc +*.bak *.class py-compile test-driver diff --git a/redhawk/src/.run-clang-tidy.log b/redhawk/src/.run-clang-tidy.log new file mode 100644 index 000000000..5928c2a30 --- /dev/null +++ b/redhawk/src/.run-clang-tidy.log @@ -0,0 +1,1352 @@ +builddriver executing: './doit.sh' +Compilation SUCCEED in 55.307498 seconds +Number of warnings: 1348 +WarningErrorEntry(path='\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/EventChannelManager.h', lineno='553', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='15') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/EventChannelManager.h', lineno='554', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/EventChannelManager.h', lineno='567', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='35') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/EventChannelManager.h', lineno='573', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/EventChannelManager.h', lineno='574', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/EventChannelManager.h', lineno='575', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/EventChannelManager.h', lineno='592', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='15') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/EventChannelManager.h', lineno='593', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/EventChannelManager.h', lineno='606', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='35') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/EventChannelManager.h', lineno='612', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/EventChannelManager.h', lineno='613', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/EventChannelManager.h', lineno='614', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/EventChannelManager.h', lineno='631', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='15') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/EventChannelManager.h', lineno='632', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/EventChannelManager.h', lineno='645', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='35') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/EventChannelManager.h', lineno='651', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/EventChannelManager.h', lineno='652', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/EventChannelManager.h', lineno='653', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/EventChannelManager.h', lineno='670', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='15') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/EventChannelManager.h', lineno='671', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/EventChannelManager.h', lineno='684', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='35') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/EventChannelManager.h', lineno='690', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/EventChannelManager.h', lineno='691', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/EventChannelManager.h', lineno='692', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/EventChannelManager.h', lineno='709', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='15') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/EventChannelManager.h', lineno='710', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/EventChannelManager.h', lineno='723', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='35') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/EventChannelManager.h', lineno='729', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/EventChannelManager.h', lineno='730', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/EventChannelManager.h', lineno='731', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/EventChannelManager.h', lineno='748', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='15') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/EventChannelManager.h', lineno='749', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/EventChannelManager.h', lineno='762', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='35') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/EventChannelManager.h', lineno='768', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/EventChannelManager.h', lineno='769', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/EventChannelManager.h', lineno='770', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/EventChannelManager.h', lineno='787', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='15') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/EventChannelManager.h', lineno='788', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/EventChannelManager.h', lineno='801', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='35') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/EventChannelManager.h', lineno='807', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/EventChannelManager.h', lineno='808', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/EventChannelManager.h', lineno='809', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/EventChannelManager.h', lineno='826', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='15') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/EventChannelManager.h', lineno='827', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/EventChannelManager.h', lineno='840', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='35') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/EventChannelManager.h', lineno='846', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/EventChannelManager.h', lineno='847', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/EventChannelManager.h', lineno='848', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/EventChannelManager.h', lineno='865', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='15') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/EventChannelManager.h', lineno='866', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/EventChannelManager.h', lineno='879', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='35') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/EventChannelManager.h', lineno='885', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/EventChannelManager.h', lineno='886', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/EventChannelManager.h', lineno='887', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/EventChannelManager.h', lineno='919', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/EventChannelManager.h', lineno='923', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='19') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/EventChannelManager.h', lineno='935', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/EventChannelManager.h', lineno='937', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/EventChannelManager.h', lineno='938', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='28') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/EventChannelManager.h', lineno='945', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/EventChannelManager.h', lineno='961', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='28') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/EventChannelManager.h', lineno='964', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='19') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/EventChannelManager.h', lineno='965', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/EventChannelManager.h', lineno='1049', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/EventChannelManager.h', lineno='1053', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='19') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/EventChannelManager.h', lineno='1065', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/EventChannelManager.h', lineno='1067', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/EventChannelManager.h', lineno='1068', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='28') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/EventChannelManager.h', lineno='1075', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/EventChannelManager.h', lineno='1082', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='28') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/EventChannelManager.h', lineno='1085', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='19') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/EventChannelManager.h', lineno='1086', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/EventChannelManager.h', lineno='1170', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/EventChannelManager.h', lineno='1174', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='19') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/EventChannelManager.h', lineno='1186', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/EventChannelManager.h', lineno='1188', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/EventChannelManager.h', lineno='1189', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='28') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/EventChannelManager.h', lineno='1196', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/EventChannelManager.h', lineno='1203', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='28') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/EventChannelManager.h', lineno='1206', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='19') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/EventChannelManager.h', lineno='1207', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/EventChannelManager.h', lineno='1226', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/EventChannelManager.h', lineno='1238', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/EventChannelManager.h', lineno='1250', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/LogInterfaces.h', lineno='75', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/LogInterfaces.h', lineno='76', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='18') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/LogInterfaces.h', lineno='89', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='33') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/LogInterfaces.h', lineno='95', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/LogInterfaces.h', lineno='96', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/LogInterfaces.h', lineno='97', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='18') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/LogInterfaces.h', lineno='195', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/LogInterfaces.h', lineno='199', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='19') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/LogInterfaces.h', lineno='211', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/LogInterfaces.h', lineno='213', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/LogInterfaces.h', lineno='214', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='28') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/LogInterfaces.h', lineno='221', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/LogInterfaces.h', lineno='226', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='28') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/LogInterfaces.h', lineno='229', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='19') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/LogInterfaces.h', lineno='230', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/LogInterfaces.h', lineno='327', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/LogInterfaces.h', lineno='331', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='19') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/LogInterfaces.h', lineno='343', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/LogInterfaces.h', lineno='345', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/LogInterfaces.h', lineno='346', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='28') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/LogInterfaces.h', lineno='353', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/LogInterfaces.h', lineno='358', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='28') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/LogInterfaces.h', lineno='361', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='19') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/LogInterfaces.h', lineno='362', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/LogInterfaces.h', lineno='907', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/LogInterfaces.h', lineno='911', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='19') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/LogInterfaces.h', lineno='923', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/LogInterfaces.h', lineno='925', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/LogInterfaces.h', lineno='926', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='28') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/LogInterfaces.h', lineno='933', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/LogInterfaces.h', lineno='944', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='28') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/LogInterfaces.h', lineno='947', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='19') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/LogInterfaces.h', lineno='948', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/LogInterfaces.h', lineno='1033', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/LogInterfaces.h', lineno='1037', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='19') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/LogInterfaces.h', lineno='1049', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/LogInterfaces.h', lineno='1051', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/LogInterfaces.h', lineno='1052', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='28') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/LogInterfaces.h', lineno='1059', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/LogInterfaces.h', lineno='1068', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='28') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/LogInterfaces.h', lineno='1071', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='19') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/LogInterfaces.h', lineno='1072', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/LogInterfaces.h', lineno='1154', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/LogInterfaces.h', lineno='1158', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='19') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/LogInterfaces.h', lineno='1170', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/LogInterfaces.h', lineno='1172', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/LogInterfaces.h', lineno='1173', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='28') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/LogInterfaces.h', lineno='1180', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/LogInterfaces.h', lineno='1186', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='28') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/LogInterfaces.h', lineno='1189', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='19') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/LogInterfaces.h', lineno='1190', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/LogInterfaces.h', lineno='1274', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/LogInterfaces.h', lineno='1278', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='19') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/LogInterfaces.h', lineno='1290', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/LogInterfaces.h', lineno='1292', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/LogInterfaces.h', lineno='1293', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='28') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/LogInterfaces.h', lineno='1300', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/LogInterfaces.h', lineno='1307', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='28') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/LogInterfaces.h', lineno='1310', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='19') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/LogInterfaces.h', lineno='1311', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/LogInterfaces.h', lineno='1400', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/LogInterfaces.h', lineno='1404', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='19') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/LogInterfaces.h', lineno='1416', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/LogInterfaces.h', lineno='1418', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/LogInterfaces.h', lineno='1419', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='28') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/LogInterfaces.h', lineno='1426', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/LogInterfaces.h', lineno='1432', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='28') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/LogInterfaces.h', lineno='1435', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='19') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/LogInterfaces.h', lineno='1436', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/LogInterfaces.h', lineno='1526', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/LogInterfaces.h', lineno='1530', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='19') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/LogInterfaces.h', lineno='1542', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/LogInterfaces.h', lineno='1544', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/LogInterfaces.h', lineno='1545', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='28') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/LogInterfaces.h', lineno='1552', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/LogInterfaces.h', lineno='1565', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='28') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/LogInterfaces.h', lineno='1568', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='19') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/LogInterfaces.h', lineno='1569', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/LogInterfaces.h', lineno='1651', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/LogInterfaces.h', lineno='1655', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='19') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/LogInterfaces.h', lineno='1667', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/LogInterfaces.h', lineno='1669', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/LogInterfaces.h', lineno='1670', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='28') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/LogInterfaces.h', lineno='1678', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/LogInterfaces.h', lineno='1683', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='28') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/LogInterfaces.h', lineno='1686', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='19') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/LogInterfaces.h', lineno='1687', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/LogInterfaces.h', lineno='1706', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/LogInterfaces.h', lineno='1718', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/LogInterfaces.h', lineno='1730', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/LogInterfaces.h', lineno='1742', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/LogInterfaces.h', lineno='1754', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/LogInterfaces.h', lineno='1766', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/LogInterfaces.h', lineno='1778', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/LogInterfaces.h', lineno='1790', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/LogInterfaces.h', lineno='1803', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/Port.h', lineno='134', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='15') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/Port.h', lineno='135', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/Port.h', lineno='148', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='35') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/Port.h', lineno='154', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/Port.h', lineno='155', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/Port.h', lineno='156', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/Port.h', lineno='173', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='15') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/Port.h', lineno='174', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/Port.h', lineno='187', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='35') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/Port.h', lineno='193', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/Port.h', lineno='194', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/Port.h', lineno='195', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/Port.h', lineno='217', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/Port.h', lineno='221', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='19') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/Port.h', lineno='233', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/Port.h', lineno='235', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/Port.h', lineno='236', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='28') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/Port.h', lineno='243', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/Port.h', lineno='249', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='28') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/Port.h', lineno='252', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='19') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/Port.h', lineno='253', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/Port.h', lineno='272', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='333', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='334', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='18') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='347', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='33') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='353', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='354', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='355', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='18') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='374', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='375', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='18') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='388', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='33') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='394', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='395', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='396', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='18') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='415', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='416', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='18') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='429', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='33') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='435', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='436', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='437', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='18') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='454', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='455', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='18') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='468', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='33') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='474', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='475', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='476', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='18') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='493', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='494', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='18') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='507', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='33') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='513', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='514', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='515', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='18') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='670', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='671', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='18') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='684', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='33') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='690', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='691', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='692', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='18') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='1131', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='1132', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='18') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='1145', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='33') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='1151', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='1152', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='1153', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='18') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='1174', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='1175', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='18') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='1188', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='33') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='1194', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='1195', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='1196', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='18') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='1392', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='1396', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='19') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='1408', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='1410', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='1411', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='28') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='1418', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='1425', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='28') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='1428', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='19') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='1429', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='1509', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='15') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='1510', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='1523', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='35') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='1529', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='1530', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='1531', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='1714', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='1718', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='19') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='1730', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='1732', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='1733', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='28') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='1740', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='1754', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='28') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='1757', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='19') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='1758', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='1840', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='15') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='1841', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='1854', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='35') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='1860', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='1861', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='1862', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='1879', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='15') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='1880', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='1893', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='35') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='1899', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='1900', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='1901', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='1928', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='1932', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='19') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='1944', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='1946', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='1947', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='28') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='1954', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='1965', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='28') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='1968', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='19') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='1969', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='2047', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='15') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='2048', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='2061', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='35') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='2067', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='2068', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='2069', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='2088', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='15') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='2089', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='2102', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='35') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='2108', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='2109', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='2110', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='2131', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='15') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='2132', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='2145', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='35') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='2151', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='2152', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='2153', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='2177', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='2181', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='19') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='2193', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='2195', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='2196', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='28') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='2203', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='2211', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='28') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='2214', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='19') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='2215', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='2427', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='15') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='2428', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='2441', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='35') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='2447', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='2448', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='2449', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='2466', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='15') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='2467', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='2480', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='35') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='2486', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='2487', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='2488', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='2505', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='15') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='2506', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='2519', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='35') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='2525', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='2526', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='2527', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='2549', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='2553', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='19') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='2565', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='2567', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='2568', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='28') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='2575', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='2582', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='28') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='2585', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='19') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='2586', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='2666', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='15') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='2667', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='2680', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='35') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='2686', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='2687', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='2688', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='2707', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='15') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='2708', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='2721', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='35') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='2727', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='2728', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='2729', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='2751', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='2755', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='19') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='2767', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='2769', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='2770', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='28') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='2777', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='2783', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='28') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='2786', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='19') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='2787', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='2865', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='15') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='2866', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='2879', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='35') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='2885', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='2886', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='2887', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='2908', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='2912', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='19') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='2924', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='2926', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='2927', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='28') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='2934', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='2939', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='28') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='2942', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='19') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='2943', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='3051', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='3055', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='19') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='3067', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='3069', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='3070', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='28') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='3077', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='3082', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='28') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='3085', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='19') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='3086', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='3168', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='15') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='3169', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='3182', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='35') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='3188', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='3189', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='3190', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='3209', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='15') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='3210', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='3223', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='35') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='3229', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='3230', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='3231', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='3253', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='3257', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='19') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='3269', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='3271', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='3272', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='28') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='3279', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='3285', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='28') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='3288', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='19') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='3289', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='3367', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='15') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='3368', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='3381', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='35') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='3387', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='3388', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='3389', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='3411', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='3415', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='19') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='3427', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='3429', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='3430', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='28') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='3437', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='3444', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='28') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='3447', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='19') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='3448', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='4370', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='15') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='4371', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='4384', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='35') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='4390', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='4391', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='4392', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='4411', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='15') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='4412', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='4425', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='35') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='4431', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='4432', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='4433', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='4474', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='4478', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='19') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='4490', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='4492', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='4493', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='28') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='4500', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='4515', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='28') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='4518', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='19') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='4519', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='4603', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='4607', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='19') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='4619', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='4621', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='4622', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='28') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='4629', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='4636', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='28') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='4639', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='19') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='4640', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='4724', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='4728', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='19') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='4740', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='4742', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='4743', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='28') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='4750', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='4757', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='28') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='4760', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='19') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='4761', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='5510', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='5514', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='19') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='5526', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='5528', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='5529', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='28') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='5536', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='5544', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='28') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='5547', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='19') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='5548', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='5632', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='5636', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='19') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='5648', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='5650', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='5651', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='28') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='5658', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='5665', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='28') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='5668', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='19') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='5669', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='5749', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='15') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='5750', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='5763', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='35') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='5769', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='5770', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='5771', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='5792', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='15') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='5793', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='5806', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='35') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='5812', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='5813', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='5814', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='5835', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='15') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='5836', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='5849', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='35') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='5855', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='5856', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='5857', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='5876', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='15') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='5877', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='5890', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='35') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='5896', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='5897', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='5898', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='5922', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='5926', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='19') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='5938', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='5940', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='5941', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='28') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='5948', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='5956', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='28') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='5959', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='19') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='5960', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='6042', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='15') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='6043', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='6056', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='35') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='6062', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='6063', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='6064', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='6081', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='15') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='6082', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='6095', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='35') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='6101', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='6102', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='6103', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='6576', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='15') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='6577', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='6590', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='35') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='6596', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='6597', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='6598', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='6615', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='15') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='6616', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='6629', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='35') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='6635', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='6636', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='6637', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='6658', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='15') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='6659', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='6672', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='35') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='6678', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='6679', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='6680', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='6701', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='15') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='6702', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='6715', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='35') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='6721', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='6722', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='6723', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='6744', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='15') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='6745', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='6758', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='35') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='6764', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='6765', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='6766', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='6783', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='15') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='6784', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='6797', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='35') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='6803', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='6804', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='6805', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='6822', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='15') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='6823', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='6836', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='35') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='6842', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='6843', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='6844', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='6861', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='15') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='6862', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='6875', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='35') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='6881', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='6882', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='6883', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='6927', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='6931', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='19') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='6943', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='6945', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='6946', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='28') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='6954', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='6982', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='28') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='6985', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='19') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='6986', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='7064', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='15') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='7065', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='7078', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='35') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='7084', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='7085', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='7086', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='7107', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='7111', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='19') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='7123', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='7125', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='7126', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='28') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='7133', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='7138', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='28') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='7141', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='19') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='7142', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='7369', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='7373', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='19') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='7385', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='7387', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='7388', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='28') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='7395', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='7400', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='28') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='7403', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='19') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='7404', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='7486', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='15') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='7487', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='7500', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='35') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='7506', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='7507', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='7508', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='7529', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='15') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='7530', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='7543', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='35') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='7549', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='7550', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='7551', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='7579', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='7583', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='19') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='7595', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='7597', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='7598', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='28') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='7609', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='7618', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='28') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='7621', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='19') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='7622', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='7702', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='15') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='7703', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='7716', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='35') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='7722', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='7723', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='7724', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='7745', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='15') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='7746', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='7759', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='35') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='7765', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='7766', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='7767', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='7788', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='15') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='7789', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='7802', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='35') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='7808', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='7809', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='7810', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='7852', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='7856', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='19') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='7868', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='7870', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='7871', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='28') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='7878', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='7890', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='28') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='7893', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='19') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='7894', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='7977', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='7981', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='19') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='7993', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='7995', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='7996', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='28') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='8003', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='8010', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='28') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='8013', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='19') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='8014', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='8364', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='15') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='8365', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='8378', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='35') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='8384', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='8385', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='8386', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='8416', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='8420', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='19') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='8432', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='8434', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='8435', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='28') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='8442', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='8457', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='28') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='8460', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='19') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='8461', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='8544', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='15') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='8545', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='8558', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='35') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='8564', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='8565', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='8566', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='8587', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='15') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='8588', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='8601', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='35') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='8607', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='8608', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='8609', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='8630', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='8634', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='19') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='8646', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='8648', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='8649', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='28') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='8656', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='8662', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='28') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='8665', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='19') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='8666', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='8748', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='15') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='8749', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='8762', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='35') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='8768', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='8769', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='8770', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='8787', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='15') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='8788', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='8801', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='35') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='8807', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='8808', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='8809', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='8833', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='15') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='8834', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='8847', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='35') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='8853', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='8854', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='8855', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='8874', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='15') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='8875', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='8888', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='35') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='8894', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='8895', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='8896', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='8921', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='15') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='8922', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='8935', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='35') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='8941', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='8942', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='8943', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='8965', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='8969', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='19') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='8981', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='8983', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='8984', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='28') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='8991', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='8998', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='28') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='9001', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='19') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='9002', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='9231', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='9235', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='19') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='9247', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='9249', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='9250', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='28') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='9259', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='9276', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='28') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='9279', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='19') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='9280', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='10773', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='10785', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='10797', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='10809', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='10821', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='10833', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='10845', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='10857', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='10869', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='10881', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='10893', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='10905', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='10917', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='10929', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='10941', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='10953', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='10966', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='10978', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='10990', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='11006', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='11018', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='11030', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='11042', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='11054', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='11066', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/cf.h', lineno='11080', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/LifeCycle_impl.h', lineno='45', severity='warning', message="\x1b[0m\x1b[1mannotate this function with 'override' or (rarely) 'final' [modernize-use-override]\x1b[0m", column='10') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/LifeCycle_impl.h', lineno='46', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw (CF::LifeCycle::InitializeError, CORBA::SystemException)' is deprecated; consider using 'noexcept(false)' instead [modernize-use-noexcept]\x1b[0m", column='5') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/LifeCycle_impl.h', lineno='49', severity='warning', message="\x1b[0m\x1b[1mannotate this function with 'override' or (rarely) 'final' [modernize-use-override]\x1b[0m", column='10') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/LifeCycle_impl.h', lineno='50', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw (CF::LifeCycle::ReleaseError, CORBA::SystemException)' is deprecated; consider using 'noexcept(false)' instead [modernize-use-noexcept]\x1b[0m", column='5') +WarningErrorEntry(path='\x1b[0m\x1b[1m/usr/local/include/omniORB4/cdrStream.h', lineno='32', severity='warning', message="\x1b[0m\x1b[1minclusion of deprecated C++ header 'limits.h'; consider using 'climits' instead [modernize-deprecated-headers]\x1b[0m", column='10') +WarningErrorEntry(path='\x1b[0m\x1b[1m/usr/local/include/omniORB4/omniInternal.h', lineno='32', severity='warning', message="\x1b[0m\x1b[1minclusion of deprecated C++ header 'stddef.h'; consider using 'cstddef' instead [modernize-deprecated-headers]\x1b[0m", column='10') +WarningErrorEntry(path='\x1b[0m\x1b[1m/usr/local/include/omniORB4/omniInternal.h', lineno='36', severity='warning', message="\x1b[0m\x1b[1minclusion of deprecated C++ header 'string.h'; consider using 'cstring' instead [modernize-deprecated-headers]\x1b[0m", column='10') +WarningErrorEntry(path='\x1b[0m\x1b[1m/usr/local/include/omniORB4/omniObjKey.h', lineno='31', severity='warning', message="\x1b[0m\x1b[1minclusion of deprecated C++ header 'string.h'; consider using 'cstring' instead [modernize-deprecated-headers]\x1b[0m", column='10') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/LifeCycle_impl.cpp', lineno='26', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw (CORBA::SystemException, CF::LifeCycle::InitializeError)' is deprecated; consider using 'noexcept(false)' instead [modernize-use-noexcept]\x1b[0m", column='1') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/LifeCycle_impl.cpp', lineno='33', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw (CORBA::SystemException, CF::LifeCycle::ReleaseError)' is deprecated; consider using 'noexcept(false)' instead [modernize-use-noexcept]\x1b[0m", column='1') +WarningErrorEntry(path='\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/AggregateDevice_impl.h', lineno='31', severity='warning', message="\x1b[0m\x1b[1mannotate this function with 'override' or (rarely) 'final' [modernize-use-override]\x1b[0m", column='5') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/AggregateDevice_impl.h', lineno='33', severity='warning', message="\x1b[0m\x1b[1mannotate this function with 'override' or (rarely) 'final' [modernize-use-override]\x1b[0m", column='10') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/AggregateDevice_impl.h', lineno='34', severity='warning', message="\x1b[0m\x1b[1mannotate this function with 'override' or (rarely) 'final' [modernize-use-override]\x1b[0m", column='10') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/AggregateDevice_impl.h', lineno='35', severity='warning', message="\x1b[0m\x1b[1mannotate this function with 'override' or (rarely) 'final' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/AggregateDevices.h', lineno='166', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/AggregateDevices.h', lineno='170', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='19') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/AggregateDevices.h', lineno='182', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/AggregateDevices.h', lineno='184', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/AggregateDevices.h', lineno='185', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='28') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/AggregateDevices.h', lineno='193', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/AggregateDevices.h', lineno='198', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='28') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/AggregateDevices.h', lineno='201', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='19') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/AggregateDevices.h', lineno='202', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/AggregateDevices.h', lineno='284', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/AggregateDevices.h', lineno='288', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='19') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/AggregateDevices.h', lineno='300', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/AggregateDevices.h', lineno='302', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/AggregateDevices.h', lineno='303', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='28') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/AggregateDevices.h', lineno='311', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/AggregateDevices.h', lineno='316', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='28') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/AggregateDevices.h', lineno='319', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='19') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/AggregateDevices.h', lineno='320', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/AggregateDevices.h', lineno='402', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/AggregateDevices.h', lineno='406', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='19') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/AggregateDevices.h', lineno='418', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/AggregateDevices.h', lineno='420', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/AggregateDevices.h', lineno='421', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='28') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/AggregateDevices.h', lineno='429', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/AggregateDevices.h', lineno='434', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='28') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/AggregateDevices.h', lineno='437', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='19') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/AggregateDevices.h', lineno='438', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/AggregateDevices.h', lineno='458', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/AggregateDevices.h', lineno='471', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/AggregateDevices.h', lineno='484', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/EventChannelManager.h', lineno='553', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='15') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/PortSupplier_impl.h', lineno='48', severity='warning', message="\x1b[0m\x1b[1mannotate this function with 'override' or (rarely) 'final' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/PortSupplier_impl.h', lineno='48', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw (CF::PortSupplier::UnknownPort, CORBA::SystemException)' is deprecated; consider using 'noexcept(false)' instead [modernize-use-noexcept]\x1b[0m", column='42') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/Port_impl.h', lineno='54', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw()' is deprecated; consider using 'noexcept' instead [modernize-use-noexcept]\x1b[0m", column='30') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/Port_impl.h', lineno='57', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw()' is deprecated; consider using 'noexcept' instead [modernize-use-noexcept]\x1b[0m", column='55') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/Port_impl.h', lineno='61', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw()' is deprecated; consider using 'noexcept' instead [modernize-use-noexcept]\x1b[0m", column='61') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/Port_impl.h', lineno='64', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw()' is deprecated; consider using 'noexcept' instead [modernize-use-noexcept]\x1b[0m", column='31') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/Port_impl.h', lineno='88', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw()' is deprecated; consider using 'noexcept' instead [modernize-use-noexcept]\x1b[0m", column='36') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/Port_impl.h', lineno='123', severity='warning', message="\x1b[0m\x1b[1mannotate this function with 'override' or (rarely) 'final' [modernize-use-override]\x1b[0m", column='9') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/Port_impl.h', lineno='123', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw ()' is deprecated; consider using 'noexcept' instead [modernize-use-noexcept]\x1b[0m", column='26') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/Port_impl.h', lineno='138', severity='warning', message="\x1b[0m\x1b[1mannotate this function with 'override' or (rarely) 'final' [modernize-use-override]\x1b[0m", column='5') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/Port_impl.h', lineno='139', severity='warning', message="\x1b[0m\x1b[1mannotate this function with 'override' or (rarely) 'final' [modernize-use-override]\x1b[0m", column='10') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/Port_impl.h', lineno='140', severity='warning', message="\x1b[0m\x1b[1mannotate this function with 'override' or (rarely) 'final' [modernize-use-override]\x1b[0m", column='10') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/Port_impl.h', lineno='280', severity='warning', message='\x1b[0m\x1b[1mpass by value and use std::move [modernize-pass-by-value]\x1b[0m', column='15') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/Port_impl.h', lineno='285', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/Port_impl.h', lineno='354', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/Port_impl.h', lineno='378', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/Port_impl.h', lineno='397', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/Port_impl.h', lineno='402', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/logging/rh_logger.h', lineno='23', severity='warning', message="\x1b[0m\x1b[1minclusion of deprecated C++ header 'limits.h'; consider using 'climits' instead [modernize-deprecated-headers]\x1b[0m", column='10') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/logging/rh_logger.h', lineno='31', severity='warning', message="\x1b[0m\x1b[1minclusion of deprecated C++ header 'stdint.h'; consider using 'cstdint' instead [modernize-deprecated-headers]\x1b[0m", column='10') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/logging/rh_logger.h', lineno='231', severity='warning', message='\x1b[0m\x1b[1mpass by value and use std::move [modernize-pass-by-value]\x1b[0m', column='17') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/logging/rh_logger.h', lineno='231', severity='warning', message='\x1b[0m\x1b[1mpass by value and use std::move [modernize-pass-by-value]\x1b[0m', column='44') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/logging/rh_logger.h', lineno='231', severity='warning', message='\x1b[0m\x1b[1mpass by value and use std::move [modernize-pass-by-value]\x1b[0m', column='75') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/logging/rh_logger.h', lineno='235', severity='warning', message='\x1b[0m\x1b[1mpass by value and use std::move [modernize-pass-by-value]\x1b[0m', column='37') +WarningErrorEntry(path='\x1b[0m\x1b[1m/usr/local/include/boost/assert.hpp', lineno='58', severity='warning', message="\x1b[0m\x1b[1minclusion of deprecated C++ header 'assert.h'; consider using 'cassert' instead [modernize-deprecated-headers]\x1b[0m", column='11') +WarningErrorEntry(path='\x1b[0m\x1b[1m/usr/local/include/boost/integer_traits.hpp', lineno='23', severity='warning', message="\x1b[0m\x1b[1minclusion of deprecated C++ header 'limits.h'; consider using 'climits' instead [modernize-deprecated-headers]\x1b[0m", column='10') +WarningErrorEntry(path='\x1b[0m\x1b[1m/usr/local/include/boost/integer_traits.hpp', lineno='27', severity='warning', message="\x1b[0m\x1b[1minclusion of deprecated C++ header 'wchar.h'; consider using 'cwchar' instead [modernize-deprecated-headers]\x1b[0m", column='10') +WarningErrorEntry(path='\x1b[0m\x1b[1m/usr/local/include/boost/move/detail/meta_utils.hpp', lineno='235', severity='warning', message='\x1b[0m\x1b[1mredundant void argument list in variable declaration [modernize-redundant-void-arg]\x1b[0m', column='52') +WarningErrorEntry(path='\x1b[0m\x1b[1m/usr/local/include/boost/predef/library/c/gnu.h', lineno='17', severity='warning', message="\x1b[0m\x1b[1minclusion of deprecated C++ header 'stddef.h'; consider using 'cstddef' instead [modernize-deprecated-headers]\x1b[0m", column='10') +WarningErrorEntry(path='\x1b[0m\x1b[1m/usr/local/include/boost/smart_ptr/detail/local_counted_base.hpp', lineno='104', severity='warning', message='\x1b[0m\x1b[1mpass by value and use std::move [modernize-pass-by-value]\x1b[0m', column='34') +WarningErrorEntry(path='\x1b[0m\x1b[1m/usr/local/include/boost/smart_ptr/detail/shared_count.hpp', lineno='506', severity='warning', message="\x1b[0m\x1b[1mprefer transparent functors 'less<>' [modernize-use-transparent-functors]\x1b[0m", column='16') +WarningErrorEntry(path='\x1b[0m\x1b[1m/usr/local/include/boost/smart_ptr/detail/shared_count.hpp', lineno='649', severity='warning', message="\x1b[0m\x1b[1mprefer transparent functors 'less<>' [modernize-use-transparent-functors]\x1b[0m", column='16') +WarningErrorEntry(path='\x1b[0m\x1b[1m/usr/local/include/boost/smart_ptr/detail/shared_count.hpp', lineno='654', severity='warning', message="\x1b[0m\x1b[1mprefer transparent functors 'less<>' [modernize-use-transparent-functors]\x1b[0m", column='16') +WarningErrorEntry(path='\x1b[0m\x1b[1m/usr/local/include/boost/smart_ptr/detail/shared_count.hpp', lineno='692', severity='warning', message="\x1b[0m\x1b[1mprefer transparent functors 'less<>' [modernize-use-transparent-functors]\x1b[0m", column='12') +WarningErrorEntry(path='\x1b[0m\x1b[1m/usr/local/include/boost/smart_ptr/detail/sp_thread_sleep.hpp', lineno='53', severity='warning', message="\x1b[0m\x1b[1minclusion of deprecated C++ header 'time.h'; consider using 'ctime' instead [modernize-deprecated-headers]\x1b[0m", column='10') +WarningErrorEntry(path='\x1b[0m\x1b[1m/usr/local/include/boost/smart_ptr/shared_ptr.hpp', lineno='358', severity='warning', message='\x1b[0m\x1b[1mpass by value and use std::move [modernize-pass-by-value]\x1b[0m', column='97') +WarningErrorEntry(path='\x1b[0m\x1b[1m/usr/local/include/boost/system/detail/error_category.hpp', lineno='151', severity='warning', message="\x1b[0m\x1b[1mprefer transparent functors 'less<>' [modernize-use-transparent-functors]\x1b[0m", column='16') +WarningErrorEntry(path='\x1b[0m\x1b[1m/usr/local/include/boost/thread/pthread/mutex.hpp', lineno='23', severity='warning', message="\x1b[0m\x1b[1minclusion of deprecated C++ header 'errno.h'; consider using 'cerrno' instead [modernize-deprecated-headers]\x1b[0m", column='10') +WarningErrorEntry(path='\x1b[0m\x1b[1m/usr/local/include/boost/thread/pthread/pthread_helpers.hpp', lineno='13', severity='warning', message="\x1b[0m\x1b[1minclusion of deprecated C++ header 'errno.h'; consider using 'cerrno' instead [modernize-deprecated-headers]\x1b[0m", column='10') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/PortSupplier_impl.cpp', lineno='27', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw (CORBA::SystemException, CF::PortSupplier::UnknownPort)' is deprecated; consider using 'noexcept(false)' instead [modernize-use-noexcept]\x1b[0m", column='62') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CorbaUtils.h', lineno='280', severity='warning', message='\x1b[0m\x1b[1mredundant void argument list in function definition [modernize-redundant-void-arg]\x1b[0m', column='46') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CorbaUtils.h', lineno='286', severity='warning', message='\x1b[0m\x1b[1mredundant void argument list in function definition [modernize-redundant-void-arg]\x1b[0m', column='52') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CorbaUtils.h', lineno='292', severity='warning', message='\x1b[0m\x1b[1mredundant void argument list in function definition [modernize-redundant-void-arg]\x1b[0m', column='52') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CorbaUtils.h', lineno='298', severity='warning', message='\x1b[0m\x1b[1mredundant void argument list in function definition [modernize-redundant-void-arg]\x1b[0m', column='60') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CorbaUtils.h', lineno='304', severity='warning', message='\x1b[0m\x1b[1mredundant void argument list in function definition [modernize-redundant-void-arg]\x1b[0m', column='60') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CorbaUtils.h', lineno='310', severity='warning', message='\x1b[0m\x1b[1mredundant void argument list in function definition [modernize-redundant-void-arg]\x1b[0m', column='59') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CorbaUtils.h', lineno='316', severity='warning', message='\x1b[0m\x1b[1mredundant void argument list in function definition [modernize-redundant-void-arg]\x1b[0m', column='61') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CorbaUtils.h', lineno='322', severity='warning', message='\x1b[0m\x1b[1mredundant void argument list in function definition [modernize-redundant-void-arg]\x1b[0m', column='60') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CorbaUtils.h', lineno='328', severity='warning', message='\x1b[0m\x1b[1mredundant void argument list in function definition [modernize-redundant-void-arg]\x1b[0m', column='60') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CorbaUtils.h', lineno='334', severity='warning', message='\x1b[0m\x1b[1mredundant void argument list in function definition [modernize-redundant-void-arg]\x1b[0m', column='61') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CorbaUtils.h', lineno='340', severity='warning', message='\x1b[0m\x1b[1mredundant void argument list in function definition [modernize-redundant-void-arg]\x1b[0m', column='63') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CorbaUtils.h', lineno='346', severity='warning', message='\x1b[0m\x1b[1mredundant void argument list in function definition [modernize-redundant-void-arg]\x1b[0m', column='64') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CorbaUtils.h', lineno='352', severity='warning', message='\x1b[0m\x1b[1mredundant void argument list in function definition [modernize-redundant-void-arg]\x1b[0m', column='59') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CorbaUtils.h', lineno='358', severity='warning', message='\x1b[0m\x1b[1mredundant void argument list in function definition [modernize-redundant-void-arg]\x1b[0m', column='59') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CorbaUtils.h', lineno='370', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='21') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CorbaUtils.h', lineno='372', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='36') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CorbaUtils.h', lineno='372', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw(CORBA::SystemException)' is deprecated; consider using 'noexcept(false)' instead [modernize-use-noexcept]\x1b[0m", column='102') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/PortSet_impl.h', lineno='44', severity='warning', message="\x1b[0m\x1b[1mannotate this function with 'override' or (rarely) 'final' [modernize-use-override]\x1b[0m", column='36') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/EventChannelSupport.h', lineno='116', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='15') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/EventChannelSupport.h', lineno='117', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/EventChannelSupport.h', lineno='314', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='17') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/EventChannelSupport.h', lineno='336', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='15') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/EventChannelSupport.h', lineno='433', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='15') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/EventChannelSupport.h', lineno='434', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/EventChannelSupport.h', lineno='444', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/Logging_impl.h', lineno='41', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='11') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/Logging_impl.h', lineno='44', severity='warning', message="\x1b[0m\x1b[1mannotate this function with 'override' or (rarely) 'final' [modernize-use-override]\x1b[0m", column='17') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/Logging_impl.h', lineno='47', severity='warning', message="\x1b[0m\x1b[1mannotate this function with 'override' or (rarely) 'final' [modernize-use-override]\x1b[0m", column='16') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/Logging_impl.h', lineno='51', severity='warning', message="\x1b[0m\x1b[1mannotate this function with 'override' or (rarely) 'final' [modernize-use-override]\x1b[0m", column='16') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/Logging_impl.h', lineno='54', severity='warning', message="\x1b[0m\x1b[1mannotate this function with 'override' or (rarely) 'final' [modernize-use-override]\x1b[0m", column='16') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/Logging_impl.h', lineno='57', severity='warning', message="\x1b[0m\x1b[1mannotate this function with 'override' or (rarely) 'final' [modernize-use-override]\x1b[0m", column='16') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/Logging_impl.h', lineno='60', severity='warning', message="\x1b[0m\x1b[1mannotate this function with 'override' or (rarely) 'final' [modernize-use-override]\x1b[0m", column='16') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/Logging_impl.h', lineno='60', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw (CF::UnknownIdentifier)' is deprecated; consider using 'noexcept(false)' instead [modernize-use-noexcept]\x1b[0m", column='82') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/Logging_impl.h', lineno='63', severity='warning', message="\x1b[0m\x1b[1mannotate this function with 'override' or (rarely) 'final' [modernize-use-override]\x1b[0m", column='16') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/Logging_impl.h', lineno='63', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw (CF::UnknownIdentifier)' is deprecated; consider using 'noexcept(false)' instead [modernize-use-noexcept]\x1b[0m", column='53') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/Logging_impl.h', lineno='66', severity='warning', message="\x1b[0m\x1b[1mannotate this function with 'override' or (rarely) 'final' [modernize-use-override]\x1b[0m", column='23') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/Logging_impl.h', lineno='69', severity='warning', message="\x1b[0m\x1b[1mannotate this function with 'override' or (rarely) 'final' [modernize-use-override]\x1b[0m", column='8') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/Logging_impl.h', lineno='82', severity='warning', message="\x1b[0m\x1b[1mannotate this function with 'override' or (rarely) 'final' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/Logging_impl.h', lineno='84', severity='warning', message="\x1b[0m\x1b[1mannotate this function with 'override' or (rarely) 'final' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/Logging_impl.h', lineno='86', severity='warning', message="\x1b[0m\x1b[1mannotate this function with 'override' or (rarely) 'final' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/Logging_impl.h', lineno='166', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/Logging_impl.h', lineno='188', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='18') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/Logging_impl.h', lineno='231', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/Logging_impl.h', lineno='253', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='18') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/logging/loghelpers.h', lineno='132', severity='warning', message="\x1b[0m\x1b[1mannotate this function with 'override' or (rarely) 'final' [modernize-use-override]\x1b[0m", column='7') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/logging/loghelpers.h', lineno='133', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/logging/loghelpers.h', lineno='134', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/logging/loghelpers.h', lineno='147', severity='warning', message="\x1b[0m\x1b[1mannotate this function with 'override' or (rarely) 'final' [modernize-use-override]\x1b[0m", column='7') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/logging/loghelpers.h', lineno='148', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/logging/loghelpers.h', lineno='156', severity='warning', message="\x1b[0m\x1b[1mannotate this function with 'override' or (rarely) 'final' [modernize-use-override]\x1b[0m", column='7') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/logging/loghelpers.h', lineno='157', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/logging/loghelpers.h', lineno='166', severity='warning', message="\x1b[0m\x1b[1mannotate this function with 'override' or (rarely) 'final' [modernize-use-override]\x1b[0m", column='7') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/logging/loghelpers.h', lineno='167', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/logging/loghelpers.h', lineno='175', severity='warning', message="\x1b[0m\x1b[1mannotate this function with 'override' or (rarely) 'final' [modernize-use-override]\x1b[0m", column='7') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/logging/loghelpers.h', lineno='176', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/logging/loghelpers.h', lineno='177', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/logging/loghelpers.h', lineno='336', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw ( std::exception )' is deprecated; consider using 'noexcept(false)' instead [modernize-use-noexcept]\x1b[0m", column='66') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/logging/loghelpers.h', lineno='352', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw ( std::exception )' is deprecated; consider using 'noexcept(false)' instead [modernize-use-noexcept]\x1b[0m", column='66') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/Logging_impl.cpp', lineno='304', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw (CF::UnknownIdentifier)' is deprecated; consider using 'noexcept(false)' instead [modernize-use-noexcept]\x1b[0m", column='3') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/Logging_impl.cpp', lineno='344', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw (CF::UnknownIdentifier)' is deprecated; consider using 'noexcept(false)' instead [modernize-use-noexcept]\x1b[0m", column='3') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/ExtendedEvent.h', lineno='217', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/ExtendedEvent.h', lineno='221', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='19') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/ExtendedEvent.h', lineno='233', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/ExtendedEvent.h', lineno='235', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/ExtendedEvent.h', lineno='236', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='28') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/ExtendedEvent.h', lineno='244', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/ExtendedEvent.h', lineno='249', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='28') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/ExtendedEvent.h', lineno='252', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='19') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/ExtendedEvent.h', lineno='253', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/ExtendedEvent.h', lineno='273', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/Events.h', lineno='366', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw(RegistrationExists, RegistrationFailed )' is deprecated; consider using 'noexcept(false)' instead [modernize-use-noexcept]\x1b[0m", column='7') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/Events.h', lineno='372', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw (RegistrationExists, RegistrationFailed )' is deprecated; consider using 'noexcept(false)' instead [modernize-use-noexcept]\x1b[0m", column='7') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/Events.h', lineno='604', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/ProcessThread.h', lineno='24', severity='warning', message="\x1b[0m\x1b[1minclusion of deprecated C++ header 'time.h'; consider using 'ctime' instead [modernize-deprecated-headers]\x1b[0m", column='10') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/PropertyInterface.h', lineno='56', severity='warning', message='\x1b[0m\x1b[1mredundant void argument list in function definition [modernize-redundant-void-arg]\x1b[0m', column='33') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/PropertyInterface.h', lineno='146', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='18') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/PropertyInterface.h', lineno='154', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='18') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/PropertyInterface.h', lineno='163', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='18') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/PropertyInterface.h', lineno='194', severity='warning', message='\x1b[0m\x1b[1mredundant void argument list in function definition [modernize-redundant-void-arg]\x1b[0m', column='41') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/PropertyInterface.h', lineno='212', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='19') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/PropertyInterface.h', lineno='237', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='18') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/PropertyInterface.h', lineno='241', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='18') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/PropertyInterface.h', lineno='245', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='18') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/PropertyInterface.h', lineno='259', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='18') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/PropertyInterface.h', lineno='369', severity='warning', message="\x1b[0m\x1b[1mannotate this function with 'override' or (rarely) 'final' [modernize-use-override]\x1b[0m", column='23') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/PropertyInterface.h', lineno='431', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='18') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/PropertyInterface.h', lineno='732', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/PropertyInterface.h', lineno='732', severity='warning', message='\x1b[0m\x1b[1mredundant void argument list in function definition [modernize-redundant-void-arg]\x1b[0m', column='37') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/PropertyInterface.h', lineno='735', severity='warning', message="\x1b[0m\x1b[1mannotate this function with 'override' or (rarely) 'final' [modernize-use-override]\x1b[0m", column='10') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/PropertyInterface.h', lineno='745', severity='warning', message="\x1b[0m\x1b[1mannotate this function with 'override' or (rarely) 'final' [modernize-use-override]\x1b[0m", column='10') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/PropertyMonitor.h', lineno='69', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='15') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/PropertyMonitor.h', lineno='71', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/PropertyMonitor.h', lineno='80', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/PropertyMonitor.h', lineno='147', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='15') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/PropertyMonitor.h', lineno='149', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/PropertyMonitor.h', lineno='158', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/PropertySet_impl.h', lineno='52', severity='warning', message="\x1b[0m\x1b[1mannotate this function with 'override' or (rarely) 'final' [modernize-use-override]\x1b[0m", column='5') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/PropertySet_impl.h', lineno='60', severity='warning', message="\x1b[0m\x1b[1mannotate this function with 'override' or (rarely) 'final' [modernize-use-override]\x1b[0m", column='5') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/PropertySet_impl.h', lineno='61', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw (CF::PropertyEmitter::AlreadyInitialized, CF::PropertySet::PartialConfiguration,", column='5') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/PropertySet_impl.h', lineno='66', severity='warning', message="\x1b[0m\x1b[1mannotate this function with 'override' or (rarely) 'final' [modernize-use-override]\x1b[0m", column='5') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/PropertySet_impl.h', lineno='67', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw (CF::PropertySet::PartialConfiguration,", column='5') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/PropertySet_impl.h', lineno='72', severity='warning', message="\x1b[0m\x1b[1mannotate this function with 'override' or (rarely) 'final' [modernize-use-override]\x1b[0m", column='5') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/PropertySet_impl.h', lineno='73', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw (CF::UnknownProperties, CORBA::SystemException)' is deprecated; consider using 'noexcept(false)' instead [modernize-use-noexcept]\x1b[0m", column='5') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/PropertySet_impl.h', lineno='84', severity='warning', message="\x1b[0m\x1b[1mannotate this function with 'override' or (rarely) 'final' [modernize-use-override]\x1b[0m", column='10') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/PropertySet_impl.h', lineno='85', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw(CF::UnknownProperties, CF::InvalidObjectReference)' is deprecated; consider using 'noexcept(false)' instead [modernize-use-noexcept]\x1b[0m", column='7') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/PropertySet_impl.h', lineno='86', severity='warning', message="\x1b[0m\x1b[1mannotate this function with 'override' or (rarely) 'final' [modernize-use-override]\x1b[0m", column='9') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/PropertySet_impl.h', lineno='87', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw(CF::InvalidIdentifier)' is deprecated; consider using 'noexcept(false)' instead [modernize-use-noexcept]\x1b[0m", column='7') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/PropertySet_impl.h', lineno='394', severity='warning', message='\x1b[0m\x1b[1mredundant void argument list in function definition [modernize-redundant-void-arg]\x1b[0m', column='30') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/callback.h', lineno='348', severity='warning', message='\x1b[0m\x1b[1mpass by value and use std::move [modernize-pass-by-value]\x1b[0m', column='29') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/prop_helpers.h', lineno='87', severity='warning', message='\x1b[0m\x1b[1mpass by value and use std::move [modernize-pass-by-value]\x1b[0m', column='23') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/prop_helpers.h', lineno='87', severity='warning', message='\x1b[0m\x1b[1mpass by value and use std::move [modernize-pass-by-value]\x1b[0m', column='42') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/prop_helpers.h', lineno='88', severity='warning', message="\x1b[0m\x1b[1mannotate this function with 'override' or (rarely) 'final' [modernize-use-override]\x1b[0m", column='9') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/prop_helpers.h', lineno='88', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw()' is deprecated; consider using 'noexcept' instead [modernize-use-noexcept]\x1b[0m", column='26') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/prop_helpers.h', lineno='89', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='29') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/prop_helpers.h', lineno='89', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw()' is deprecated; consider using 'noexcept' instead [modernize-use-noexcept]\x1b[0m", column='42') +WarningErrorEntry(path='\x1b[0m\x1b[1m/usr/local/include/boost/atomic/detail/float_sizes.hpp', lineno='17', severity='warning', message="\x1b[0m\x1b[1minclusion of deprecated C++ header 'float.h'; consider using 'cfloat' instead [modernize-deprecated-headers]\x1b[0m", column='10') +WarningErrorEntry(path='\x1b[0m\x1b[1m/usr/local/include/boost/atomic/detail/lock_pool.hpp', lineno='25', severity='warning', message="\x1b[0m\x1b[1minclusion of deprecated C++ header 'time.h'; consider using 'ctime' instead [modernize-deprecated-headers]\x1b[0m", column='10') +WarningErrorEntry(path='\x1b[0m\x1b[1m/usr/local/include/boost/exception/detail/exception_ptr.hpp', lineno='26', severity='warning', message="\x1b[0m\x1b[1minclusion of deprecated C++ header 'stdlib.h'; consider using 'cstdlib' instead [modernize-deprecated-headers]\x1b[0m", column='10') +WarningErrorEntry(path='\x1b[0m\x1b[1m/usr/local/include/boost/exception/detail/type_info.hpp', lineno='14', severity='warning', message="\x1b[0m\x1b[1minclusion of deprecated C++ header 'string.h'; consider using 'cstring' instead [modernize-deprecated-headers]\x1b[0m", column='10') +WarningErrorEntry(path='\x1b[0m\x1b[1m/usr/local/include/boost/thread/detail/thread.hpp', lineno='34', severity='warning', message="\x1b[0m\x1b[1minclusion of deprecated C++ header 'stdlib.h'; consider using 'cstdlib' instead [modernize-deprecated-headers]\x1b[0m", column='10') +WarningErrorEntry(path='\x1b[0m\x1b[1m/usr/local/include/boost/thread/exceptional_ptr.hpp', lineno='20', severity='warning', message='\x1b[0m\x1b[1mpass by value and use std::move [modernize-pass-by-value]\x1b[0m', column='30') +WarningErrorEntry(path='\x1b[0m\x1b[1m/usr/local/include/boost/thread/future.hpp', lineno='396', severity='warning', message='\x1b[0m\x1b[1mprefer a lambda to boost::bind [modernize-avoid-bind]\x1b[0m', column='32') +WarningErrorEntry(path='\x1b[0m\x1b[1m/usr/local/include/boost/thread/future.hpp', lineno='423', severity='warning', message='\x1b[0m\x1b[1mprefer a lambda to boost::bind [modernize-avoid-bind]\x1b[0m', column='59') +WarningErrorEntry(path='\x1b[0m\x1b[1m/usr/local/include/boost/thread/future.hpp', lineno='433', severity='warning', message='\x1b[0m\x1b[1mprefer a lambda to boost::bind [modernize-avoid-bind]\x1b[0m', column='62') +WarningErrorEntry(path='\x1b[0m\x1b[1m/usr/local/include/boost/thread/future.hpp', lineno='446', severity='warning', message='\x1b[0m\x1b[1mprefer a lambda to boost::bind [modernize-avoid-bind]\x1b[0m', column='54') +WarningErrorEntry(path='\x1b[0m\x1b[1m/usr/local/include/boost/thread/future.hpp', lineno='1132', severity='warning', message='\x1b[0m\x1b[1mpass by value and use std::move [modernize-pass-by-value]\x1b[0m', column='35') +WarningErrorEntry(path='\x1b[0m\x1b[1m/usr/local/include/boost/thread/future.hpp', lineno='1345', severity='warning', message='\x1b[0m\x1b[1mpass by value and use std::move [modernize-pass-by-value]\x1b[0m', column='22') +WarningErrorEntry(path='\x1b[0m\x1b[1m/usr/local/include/boost/thread/pthread/recursive_mutex.hpp', lineno='21', severity='warning', message="\x1b[0m\x1b[1minclusion of deprecated C++ header 'errno.h'; consider using 'cerrno' instead [modernize-deprecated-headers]\x1b[0m", column='10') +WarningErrorEntry(path='\x1b[0m\x1b[1m/usr/local/include/boost/thread/pthread/shared_mutex.hpp', lineno='174', severity='warning', message='\x1b[0m\x1b[1mprefer a lambda to boost::bind [modernize-avoid-bind]\x1b[0m', column='34') +WarningErrorEntry(path='\x1b[0m\x1b[1m/usr/local/include/boost/thread/pthread/shared_mutex.hpp', lineno='197', severity='warning', message='\x1b[0m\x1b[1mprefer a lambda to boost::bind [modernize-avoid-bind]\x1b[0m', column='53') +WarningErrorEntry(path='\x1b[0m\x1b[1m/usr/local/include/boost/thread/pthread/shared_mutex.hpp', lineno='212', severity='warning', message='\x1b[0m\x1b[1mprefer a lambda to boost::bind [modernize-avoid-bind]\x1b[0m', column='59') +WarningErrorEntry(path='\x1b[0m\x1b[1m/usr/local/include/boost/thread/pthread/shared_mutex.hpp', lineno='233', severity='warning', message='\x1b[0m\x1b[1mprefer a lambda to boost::bind [modernize-avoid-bind]\x1b[0m', column='52') +WarningErrorEntry(path='\x1b[0m\x1b[1m/usr/local/include/boost/thread/pthread/shared_mutex.hpp', lineno='273', severity='warning', message='\x1b[0m\x1b[1mprefer a lambda to boost::bind [modernize-avoid-bind]\x1b[0m', column='37') +WarningErrorEntry(path='\x1b[0m\x1b[1m/usr/local/include/boost/thread/pthread/shared_mutex.hpp', lineno='285', severity='warning', message='\x1b[0m\x1b[1mprefer a lambda to boost::bind [modernize-avoid-bind]\x1b[0m', column='56') +WarningErrorEntry(path='\x1b[0m\x1b[1m/usr/local/include/boost/thread/pthread/shared_mutex.hpp', lineno='303', severity='warning', message='\x1b[0m\x1b[1mprefer a lambda to boost::bind [modernize-avoid-bind]\x1b[0m', column='62') +WarningErrorEntry(path='\x1b[0m\x1b[1m/usr/local/include/boost/thread/pthread/shared_mutex.hpp', lineno='327', severity='warning', message='\x1b[0m\x1b[1mprefer a lambda to boost::bind [modernize-avoid-bind]\x1b[0m', column='55') +WarningErrorEntry(path='\x1b[0m\x1b[1m/usr/local/include/boost/thread/pthread/shared_mutex.hpp', lineno='365', severity='warning', message='\x1b[0m\x1b[1mprefer a lambda to boost::bind [modernize-avoid-bind]\x1b[0m', column='34') +WarningErrorEntry(path='\x1b[0m\x1b[1m/usr/local/include/boost/thread/pthread/shared_mutex.hpp', lineno='377', severity='warning', message='\x1b[0m\x1b[1mprefer a lambda to boost::bind [modernize-avoid-bind]\x1b[0m', column='53') +WarningErrorEntry(path='\x1b[0m\x1b[1m/usr/local/include/boost/thread/pthread/shared_mutex.hpp', lineno='393', severity='warning', message='\x1b[0m\x1b[1mprefer a lambda to boost::bind [modernize-avoid-bind]\x1b[0m', column='59') +WarningErrorEntry(path='\x1b[0m\x1b[1m/usr/local/include/boost/thread/pthread/shared_mutex.hpp', lineno='415', severity='warning', message='\x1b[0m\x1b[1mprefer a lambda to boost::bind [modernize-avoid-bind]\x1b[0m', column='52') +WarningErrorEntry(path='\x1b[0m\x1b[1m/usr/local/include/boost/thread/pthread/shared_mutex.hpp', lineno='460', severity='warning', message='\x1b[0m\x1b[1mprefer a lambda to boost::bind [modernize-avoid-bind]\x1b[0m', column='35') +WarningErrorEntry(path='\x1b[0m\x1b[1m/usr/local/include/boost/thread/pthread/shared_mutex.hpp', lineno='514', severity='warning', message='\x1b[0m\x1b[1mprefer a lambda to boost::bind [modernize-avoid-bind]\x1b[0m', column='52') +WarningErrorEntry(path='\x1b[0m\x1b[1m/usr/local/include/boost/type_index/stl_type_index.hpp', lineno='90', severity='warning', message='\x1b[0m\x1b[1mredundant void argument list in function definition [modernize-redundant-void-arg]\x1b[0m', column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/PropertySet_impl.cpp', lineno='46', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='11') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/PropertySet_impl.cpp', lineno='47', severity='warning', message="\x1b[0m\x1b[1mannotate this function with 'override' or (rarely) 'final' [modernize-use-override]\x1b[0m", column='7') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/PropertySet_impl.cpp', lineno='63', severity='warning', message="\x1b[0m\x1b[1mannotate this function with 'override' or (rarely) 'final' [modernize-use-override]\x1b[0m", column='4') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/PropertySet_impl.cpp', lineno='64', severity='warning', message="\x1b[0m\x1b[1mannotate this function with 'override' or (rarely) 'final' [modernize-use-override]\x1b[0m", column='8') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/PropertySet_impl.cpp', lineno='80', severity='warning', message="\x1b[0m\x1b[1mannotate this function with 'override' or (rarely) 'final' [modernize-use-override]\x1b[0m", column='3') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/PropertySet_impl.cpp', lineno='81', severity='warning', message="\x1b[0m\x1b[1mannotate this function with 'override' or (rarely) 'final' [modernize-use-override]\x1b[0m", column='8') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/PropertySet_impl.cpp', lineno='169', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw (CF::PropertyEmitter::AlreadyInitialized, CF::PropertySet::PartialConfiguration,", column='1') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/PropertySet_impl.cpp', lineno='216', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw (CORBA::SystemException, CF::PropertySet::InvalidConfiguration,", column='1') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/PropertySet_impl.cpp', lineno='303', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw (CORBA::SystemException, CF::UnknownProperties)' is deprecated; consider using 'noexcept(false)' instead [modernize-use-noexcept]\x1b[0m", column='1') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/PropertySet_impl.cpp', lineno='373', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw(CF::UnknownProperties, CF::InvalidObjectReference)' is deprecated; consider using 'noexcept(false)' instead [modernize-use-noexcept]\x1b[0m", column='3') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/PropertySet_impl.cpp', lineno='493', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw(CF::InvalidIdentifier)' is deprecated; consider using 'noexcept(false)' instead [modernize-use-noexcept]\x1b[0m", column='7') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/Device_impl.h', lineno='25', severity='warning', message="\x1b[0m\x1b[1minclusion of deprecated C++ header 'signal.h'; consider using 'csignal' instead [modernize-deprecated-headers]\x1b[0m", column='10') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/Device_impl.h', lineno='56', severity='warning', message="\x1b[0m\x1b[1mannotate this function with 'override' or (rarely) 'final' [modernize-use-override]\x1b[0m", column='5') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/Device_impl.h', lineno='62', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='18') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/Device_impl.h', lineno='63', severity='warning', message="\x1b[0m\x1b[1mannotate this function with 'override' or (rarely) 'final' [modernize-use-override]\x1b[0m", column='10') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/Device_impl.h', lineno='63', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw (CF::LifeCycle::ReleaseError, CORBA::SystemException)' is deprecated; consider using 'noexcept(false)' instead [modernize-use-noexcept]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/Device_impl.h', lineno='64', severity='warning', message="\x1b[0m\x1b[1mannotate this function with 'override' or (rarely) 'final' [modernize-use-override]\x1b[0m", column='11') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/Device_impl.h', lineno='64', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw (CORBA::SystemException)' is deprecated; consider using 'noexcept(false)' instead [modernize-use-noexcept]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/Device_impl.h', lineno='65', severity='warning', message="\x1b[0m\x1b[1mannotate this function with 'override' or (rarely) 'final' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/Device_impl.h', lineno='65', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw (CORBA::SystemException)' is deprecated; consider using 'noexcept(false)' instead [modernize-use-noexcept]\x1b[0m", column='40') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/Device_impl.h', lineno='66', severity='warning', message="\x1b[0m\x1b[1mannotate this function with 'override' or (rarely) 'final' [modernize-use-override]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/Device_impl.h', lineno='66', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw (CORBA::SystemException)' is deprecated; consider using 'noexcept(false)' instead [modernize-use-noexcept]\x1b[0m", column='40') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/Device_impl.h', lineno='67', severity='warning', message="\x1b[0m\x1b[1mannotate this function with 'override' or (rarely) 'final' [modernize-use-override]\x1b[0m", column='33') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/Device_impl.h', lineno='67', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw (CORBA::SystemException)' is deprecated; consider using 'noexcept(false)' instead [modernize-use-noexcept]\x1b[0m", column='52') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/Device_impl.h', lineno='68', severity='warning', message="\x1b[0m\x1b[1mannotate this function with 'override' or (rarely) 'final' [modernize-use-override]\x1b[0m", column='29') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/Device_impl.h', lineno='68', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw (CORBA::SystemException)' is deprecated; consider using 'noexcept(false)' instead [modernize-use-noexcept]\x1b[0m", column='47') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/Device_impl.h', lineno='69', severity='warning', message="\x1b[0m\x1b[1mannotate this function with 'override' or (rarely) 'final' [modernize-use-override]\x1b[0m", column='10') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/Device_impl.h', lineno='69', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw (CORBA::SystemException)' is deprecated; consider using 'noexcept(false)' instead [modernize-use-noexcept]\x1b[0m", column='56') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/Device_impl.h', lineno='70', severity='warning', message="\x1b[0m\x1b[1mannotate this function with 'override' or (rarely) 'final' [modernize-use-override]\x1b[0m", column='10') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/Device_impl.h', lineno='70', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw (CF::Device::InvalidState, CF::Device::InvalidCapacity, CORBA::SystemException)' is deprecated; consider using 'noexcept(false)' instead [modernize-use-noexcept]\x1b[0m", column='64') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/Device_impl.h', lineno='71', severity='warning', message="\x1b[0m\x1b[1mannotate this function with 'override' or (rarely) 'final' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/Device_impl.h', lineno='71', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw (CF::Device::InvalidState, CF::Device::InvalidCapacity, CF::Device::InsufficientCapacity, CORBA::SystemException)' is deprecated; consider using 'noexcept(false)' instead [modernize-use-noexcept]\x1b[0m", column='72') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/Device_impl.h', lineno='72', severity='warning', message="\x1b[0m\x1b[1mannotate this function with 'override' or (rarely) 'final' [modernize-use-override]\x1b[0m", column='10') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/Device_impl.h', lineno='72', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw (CF::PropertySet::PartialConfiguration, CF::PropertySet::InvalidConfiguration, CORBA::SystemException)' is deprecated; consider using 'noexcept(false)' instead [modernize-use-noexcept]\x1b[0m", column='61') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/Device_impl.h', lineno='74', severity='warning', message="\x1b[0m\x1b[1mannotate this function with 'override' or (rarely) 'final' [modernize-use-override]\x1b[0m", column='10') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/Device_impl.h', lineno='75', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='18') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/Resource_impl.h', lineno='63', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/Resource_impl.h', lineno='75', severity='warning', message="\x1b[0m\x1b[1mannotate this function with 'override' or (rarely) 'final' [modernize-use-override]\x1b[0m", column='10') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/Resource_impl.h', lineno='75', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw (CF::Resource::StartError, CORBA::SystemException)' is deprecated; consider using 'noexcept(false)' instead [modernize-use-noexcept]\x1b[0m", column='19') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/Resource_impl.h', lineno='76', severity='warning', message="\x1b[0m\x1b[1mannotate this function with 'override' or (rarely) 'final' [modernize-use-override]\x1b[0m", column='10') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/Resource_impl.h', lineno='76', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw (CF::Resource::StopError, CORBA::SystemException)' is deprecated; consider using 'noexcept(false)' instead [modernize-use-noexcept]\x1b[0m", column='18') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/Resource_impl.h', lineno='77', severity='warning', message="\x1b[0m\x1b[1mannotate this function with 'override' or (rarely) 'final' [modernize-use-override]\x1b[0m", column='10') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/Resource_impl.h', lineno='77', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw (CF::LifeCycle::InitializeError, CORBA::SystemException)' is deprecated; consider using 'noexcept(false)' instead [modernize-use-noexcept]\x1b[0m", column='24') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/Resource_impl.h', lineno='78', severity='warning', message="\x1b[0m\x1b[1mannotate this function with 'override' or (rarely) 'final' [modernize-use-override]\x1b[0m", column='10') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/Resource_impl.h', lineno='78', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw (CORBA::SystemException, CF::LifeCycle::ReleaseError)' is deprecated; consider using 'noexcept(false)' instead [modernize-use-noexcept]\x1b[0m", column='26') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/Resource_impl.h', lineno='79', severity='warning', message="\x1b[0m\x1b[1mannotate this function with 'override' or (rarely) 'final' [modernize-use-override]\x1b[0m", column='11') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/Resource_impl.h', lineno='79', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw (CORBA::SystemException)' is deprecated; consider using 'noexcept(false)' instead [modernize-use-noexcept]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/Resource_impl.h', lineno='80', severity='warning', message="\x1b[0m\x1b[1mannotate this function with 'override' or (rarely) 'final' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/Resource_impl.h', lineno='80', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw (CORBA::SystemException)' is deprecated; consider using 'noexcept(false)' instead [modernize-use-noexcept]\x1b[0m", column='30') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/Resource_impl.h', lineno='81', severity='warning', message="\x1b[0m\x1b[1mannotate this function with 'override' or (rarely) 'final' [modernize-use-override]\x1b[0m", column='11') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/Resource_impl.h', lineno='81', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw (CORBA::SystemException)' is deprecated; consider using 'noexcept(false)' instead [modernize-use-noexcept]\x1b[0m", column='30') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/Resource_impl.h', lineno='82', severity='warning', message="\x1b[0m\x1b[1mannotate this function with 'override' or (rarely) 'final' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/Resource_impl.h', lineno='129', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='18') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/TestableObject_impl.h', lineno='41', severity='warning', message="\x1b[0m\x1b[1mannotate this function with 'override' or (rarely) 'final' [modernize-use-override]\x1b[0m", column='10') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/TestableObject_impl.h', lineno='42', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw (CF::UnknownProperties, CF::TestableObject::UnknownTest,", column='5') +WarningErrorEntry(path='\x1b[0m\x1b[1m/usr/local/include/boost/smart_ptr/scoped_ptr.hpp', lineno='74', severity='warning', message='\x1b[0m\x1b[1mauto_ptr is deprecated, use unique_ptr instead [modernize-replace-auto-ptr]\x1b[0m', column='31') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/Device_impl.cpp', lineno='22', severity='warning', message="\x1b[0m\x1b[1minclusion of deprecated C++ header 'string.h'; consider using 'cstring' instead [modernize-deprecated-headers]\x1b[0m", column='10') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/Device_impl.cpp', lineno='23', severity='warning', message="\x1b[0m\x1b[1minclusion of deprecated C++ header 'signal.h'; consider using 'csignal' instead [modernize-deprecated-headers]\x1b[0m", column='10') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/Device_impl.cpp', lineno='245', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw (CORBA::SystemException, CF::LifeCycle::ReleaseError)' is deprecated; consider using 'noexcept(false)' instead [modernize-use-noexcept]\x1b[0m", column='1') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/Device_impl.cpp', lineno='299', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw (CORBA::SystemException, CF::Device::InvalidCapacity, CF::Device::InvalidState, CF::Device::InsufficientCapacity)' is deprecated; consider using 'noexcept(false)' instead [modernize-use-noexcept]\x1b[0m", column='1') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/Device_impl.cpp', lineno='527', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw (CORBA::SystemException, CF::Device::InvalidCapacity, CF::Device::InvalidState)' is deprecated; consider using 'noexcept(false)' instead [modernize-use-noexcept]\x1b[0m", column='1') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/Device_impl.cpp', lineno='1014', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw (CORBA::SystemException)' is deprecated; consider using 'noexcept(false)' instead [modernize-use-noexcept]\x1b[0m", column='1') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/Device_impl.cpp', lineno='1072', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw (CORBA::SystemException)' is deprecated; consider using 'noexcept(false)' instead [modernize-use-noexcept]\x1b[0m", column='1') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/Device_impl.cpp', lineno='1079', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw (CORBA::SystemException)' is deprecated; consider using 'noexcept(false)' instead [modernize-use-noexcept]\x1b[0m", column='1') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/Device_impl.cpp', lineno='1086', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw (CORBA::SystemException)' is deprecated; consider using 'noexcept(false)' instead [modernize-use-noexcept]\x1b[0m", column='1') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/Device_impl.cpp', lineno='1093', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw (CORBA::SystemException)' is deprecated; consider using 'noexcept(false)' instead [modernize-use-noexcept]\x1b[0m", column='1') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/Device_impl.cpp', lineno='1100', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw (CORBA::SystemException)' is deprecated; consider using 'noexcept(false)' instead [modernize-use-noexcept]\x1b[0m", column='1') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/Device_impl.cpp', lineno='1107', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw (CF::PropertySet::PartialConfiguration, CF::PropertySet::", column='1') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/Component.h', lineno='33', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/Component.h', lineno='34', severity='warning', message="\x1b[0m\x1b[1mannotate this function with 'override' or (rarely) 'final' [modernize-use-override]\x1b[0m", column='10') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/Component.h', lineno='46', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='18') +WarningErrorEntry(path='\x1b[0m\x1b[1m/usr/local/include/boost/range/detail/implementation_help.hpp', lineno='18', severity='warning', message="\x1b[0m\x1b[1minclusion of deprecated C++ header 'string.h'; consider using 'cstring' instead [modernize-deprecated-headers]\x1b[0m", column='10') +WarningErrorEntry(path='\x1b[0m\x1b[1m/usr/local/include/boost/range/detail/implementation_help.hpp', lineno='21', severity='warning', message="\x1b[0m\x1b[1minclusion of deprecated C++ header 'wchar.h'; consider using 'cwchar' instead [modernize-deprecated-headers]\x1b[0m", column='10') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/Resource_impl.cpp', lineno='21', severity='warning', message="\x1b[0m\x1b[1minclusion of deprecated C++ header 'signal.h'; consider using 'csignal' instead [modernize-deprecated-headers]\x1b[0m", column='10') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/Resource_impl.cpp', lineno='125', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw (CORBA::SystemException, CF::Resource::StartError)' is deprecated; consider using 'noexcept(false)' instead [modernize-use-noexcept]\x1b[0m", column='30') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/Resource_impl.cpp', lineno='132', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw (CORBA::SystemException, CF::Resource::StopError)' is deprecated; consider using 'noexcept(false)' instead [modernize-use-noexcept]\x1b[0m", column='29') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/Resource_impl.cpp', lineno='138', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw (CORBA::SystemException)' is deprecated; consider using 'noexcept(false)' instead [modernize-use-noexcept]\x1b[0m", column='36') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/Resource_impl.cpp', lineno='144', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw (CORBA::SystemException)' is deprecated; consider using 'noexcept(false)' instead [modernize-use-noexcept]\x1b[0m", column='1') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/Resource_impl.cpp', lineno='159', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw (CORBA::SystemException)' is deprecated; consider using 'noexcept(false)' instead [modernize-use-noexcept]\x1b[0m", column='42') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/Resource_impl.cpp', lineno='166', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw (CF::LifeCycle::InitializeError, CORBA::SystemException)' is deprecated; consider using 'noexcept(false)' instead [modernize-use-noexcept]\x1b[0m", column='35') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/Resource_impl.cpp', lineno='182', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw (CORBA::SystemException, CF::LifeCycle::ReleaseError)' is deprecated; consider using 'noexcept(false)' instead [modernize-use-noexcept]\x1b[0m", column='37') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/TestableObject_impl.cpp', lineno='26', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw (CORBA::SystemException, CF::TestableObject::UnknownTest,", column='1') +WarningErrorEntry(path='\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CorbaUtils.h', lineno='280', severity='warning', message='\x1b[0m\x1b[1mredundant void argument list in function definition [modernize-redundant-void-arg]\x1b[0m', column='46') +WarningErrorEntry(path='\x1b[0m\x1b[1m/usr/local/include/boost/thread/detail/thread.hpp', lineno='395', severity='warning', message='\x1b[0m\x1b[1mprefer a lambda to boost::bind [modernize-avoid-bind]\x1b[0m', column='42') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/ThreadedComponent.cpp', lineno='28', severity='warning', message='\x1b[0m\x1b[1mpass by value and use std::move [modernize-pass-by-value]\x1b[0m', column='70') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/FileStream.h', lineno='35', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw(std::ios_base::failure)' is deprecated; consider using 'noexcept(false)' instead [modernize-use-noexcept]\x1b[0m", column='30') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/FileStream.h', lineno='39', severity='warning', message="\x1b[0m\x1b[1mannotate this function with 'override' or (rarely) 'final' [modernize-use-override]\x1b[0m", column='18') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/FileStream.h', lineno='59', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw(std::ios_base::failure)' is deprecated; consider using 'noexcept(false)' instead [modernize-use-noexcept]\x1b[0m", column='67') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/FileStream.h', lineno='68', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='17') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/FileStream.h', lineno='70', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw(std::ios_base::failure)' is deprecated; consider using 'noexcept(false)' instead [modernize-use-noexcept]\x1b[0m", column='30') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/FileStream.cpp', lineno='79', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw(std::ios_base::failure)' is deprecated; consider using 'noexcept(false)' instead [modernize-use-noexcept]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/FileStream.cpp', lineno='93', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw(std::ios_base::failure)' is deprecated; consider using 'noexcept(false)' instead [modernize-use-noexcept]\x1b[0m", column='72') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/FileStream.cpp', lineno='121', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw(std::ios_base::failure)' is deprecated; consider using 'noexcept(false)' instead [modernize-use-noexcept]\x1b[0m", column='27') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/ExecutableDevice_impl.h', lineno='46', severity='warning', message="\x1b[0m\x1b[1mannotate this function with 'override' or (rarely) 'final' [modernize-use-override]\x1b[0m", column='5') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/ExecutableDevice_impl.h', lineno='48', severity='warning', message="\x1b[0m\x1b[1mannotate this function with 'override' or (rarely) 'final' [modernize-use-override]\x1b[0m", column='42') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/ExecutableDevice_impl.h', lineno='49', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw (CF::ExecutableDevice::ExecuteFail,", column='85') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/ExecutableDevice_impl.h', lineno='54', severity='warning', message="\x1b[0m\x1b[1mannotate this function with 'override' or (rarely) 'final' [modernize-use-override]\x1b[0m", column='10') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/ExecutableDevice_impl.h', lineno='55', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw (CF::PropertySet::PartialConfiguration,", column='5') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/ExecutableDevice_impl.h', lineno='61', severity='warning', message="\x1b[0m\x1b[1mannotate this function with 'override' or (rarely) 'final' [modernize-use-override]\x1b[0m", column='42') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/ExecutableDevice_impl.h', lineno='62', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw (CF::ExecutableDevice::ExecuteFail,", column='117') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/ExecutableDevice_impl.h', lineno='69', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw (CF::ExecutableDevice::ExecuteFail,", column='130') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/ExecutableDevice_impl.h', lineno='76', severity='warning', message="\x1b[0m\x1b[1mannotate this function with 'override' or (rarely) 'final' [modernize-use-override]\x1b[0m", column='10') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/ExecutableDevice_impl.h', lineno='76', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw", column='69') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/LoadableDevice_impl.h', lineno='33', severity='warning', message="\x1b[0m\x1b[1mprefer transparent functors 'less<>' [modernize-use-transparent-functors]\x1b[0m", column='49') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/LoadableDevice_impl.h', lineno='76', severity='warning', message='\x1b[0m\x1b[1muse emplace_back instead of push_back [modernize-use-emplace]\x1b[0m', column='23') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/LoadableDevice_impl.h', lineno='172', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/LoadableDevice_impl.h', lineno='175', severity='warning', message="\x1b[0m\x1b[1mannotate this function with 'override' or (rarely) 'final' [modernize-use-override]\x1b[0m", column='11') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/LoadableDevice_impl.h', lineno='177', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw (CF::LoadableDevice::LoadFail, CF::InvalidFileName,", column='5') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/LoadableDevice_impl.h', lineno='182', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw (CF::LoadableDevice::LoadFail, CF::InvalidFileName,", column='5') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/LoadableDevice_impl.h', lineno='187', severity='warning', message="\x1b[0m\x1b[1mannotate this function with 'override' or (rarely) 'final' [modernize-use-override]\x1b[0m", column='11') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/LoadableDevice_impl.h', lineno='188', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw (CF::InvalidFileName, CF::Device::InvalidState,", column='5') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/LoadableDevice_impl.h', lineno='192', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw (CF::InvalidFileName, CF::Device::InvalidState,", column='5') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/LoadableDevice_impl.h', lineno='219', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw (CORBA::SystemException, CF::Device::InvalidState, CF::LoadableDevice::InvalidLoadKind, CF::InvalidFileName, CF::LoadableDevice::LoadFail)' is deprecated; consider using 'noexcept(false)' instead [modernize-use-noexcept]\x1b[0m", column='118') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/LoadableDevice_impl.h', lineno='220', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw (CORBA::SystemException, CF::Device::InvalidState, CF::LoadableDevice::InvalidLoadKind, CF::InvalidFileName, CF::LoadableDevice::LoadFail)' is deprecated; consider using 'noexcept(false)' instead [modernize-use-noexcept]\x1b[0m", column='114') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/affinity.h', lineno='109', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw (AffinityFailed)' is deprecated; consider using 'noexcept(false)' instead [modernize-use-noexcept]\x1b[0m", column='9') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/affinity.h', lineno='159', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw (AffinityFailed)' is deprecated; consider using 'noexcept(false)' instead [modernize-use-noexcept]\x1b[0m", column='9') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/affinity.h', lineno='190', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw (AffinityFailed)' is deprecated; consider using 'noexcept(false)' instead [modernize-use-noexcept]\x1b[0m", column='9') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/affinity.h', lineno='193', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw (AffinityFailed)' is deprecated; consider using 'noexcept(false)' instead [modernize-use-noexcept]\x1b[0m", column='9') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/./logging/rh_logger_stdout.h', lineno='23', severity='warning', message="\x1b[0m\x1b[1minclusion of deprecated C++ header 'limits.h'; consider using 'climits' instead [modernize-deprecated-headers]\x1b[0m", column='10') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/./logging/rh_logger_stdout.h', lineno='37', severity='warning', message="\x1b[0m\x1b[1mannotate this function with 'override' or (rarely) 'final' [modernize-use-override]\x1b[0m", column='15') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/./logging/rh_logger_stdout.h', lineno='40', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/./logging/rh_logger_stdout.h', lineno='46', severity='warning', message="\x1b[0m\x1b[1mannotate this function with 'override' or (rarely) 'final' [modernize-use-override]\x1b[0m", column='10') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/./logging/rh_logger_stdout.h', lineno='48', severity='warning', message="\x1b[0m\x1b[1mannotate this function with 'override' or (rarely) 'final' [modernize-use-override]\x1b[0m", column='10') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/./logging/rh_logger_stdout.h', lineno='50', severity='warning', message="\x1b[0m\x1b[1mannotate this function with 'override' or (rarely) 'final' [modernize-use-override]\x1b[0m", column='10') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/./logging/rh_logger_stdout.h', lineno='52', severity='warning', message="\x1b[0m\x1b[1mannotate this function with 'override' or (rarely) 'final' [modernize-use-override]\x1b[0m", column='22') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/./logging/rh_logger_stdout.h', lineno='54', severity='warning', message="\x1b[0m\x1b[1mannotate this function with 'override' or (rarely) 'final' [modernize-use-override]\x1b[0m", column='30') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/./logging/rh_logger_stdout.h', lineno='56', severity='warning', message="\x1b[0m\x1b[1mannotate this function with 'override' or (rarely) 'final' [modernize-use-override]\x1b[0m", column='10') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/./logging/rh_logger_stdout.h', lineno='58', severity='warning', message="\x1b[0m\x1b[1mannotate this function with 'override' or (rarely) 'final' [modernize-use-override]\x1b[0m", column='11') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/./logging/rh_logger_stdout.h', lineno='60', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='18') +WarningErrorEntry(path='\x1b[0m\x1b[1m/usr/local/include/boost/filesystem/path.hpp', lineno='173', severity='warning', message='\x1b[0m\x1b[1mpass by value and use std::move [modernize-pass-by-value]\x1b[0m', column='10') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/ExecutableDevice_impl.cpp', lineno='30', severity='warning', message="\x1b[0m\x1b[1minclusion of deprecated C++ header 'stdlib.h'; consider using 'cstdlib' instead [modernize-deprecated-headers]\x1b[0m", column='10') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/ExecutableDevice_impl.cpp', lineno='45', severity='warning', message="\x1b[0m\x1b[1minclusion of deprecated C++ header 'errno.h'; consider using 'cerrno' instead [modernize-deprecated-headers]\x1b[0m", column='10') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/ExecutableDevice_impl.cpp', lineno='140', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw (CORBA::SystemException, CF::Device::InvalidState, CF::ExecutableDevice::InvalidFunction, CF::ExecutableDevice::InvalidParameters, CF::ExecutableDevice::InvalidOptions, CF::InvalidFileName, CF::ExecutableDevice::ExecuteFail)' is deprecated; consider using 'noexcept(false)' instead [modernize-use-noexcept]\x1b[0m", column='191') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/ExecutableDevice_impl.cpp', lineno='176', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw (CORBA::SystemException, CF::Device::InvalidState, CF::ExecutableDevice::InvalidFunction, CF::ExecutableDevice::InvalidParameters, CF::ExecutableDevice::InvalidOptions, CF::InvalidFileName, CF::ExecutableDevice::ExecuteFail)' is deprecated; consider using 'noexcept(false)' instead [modernize-use-noexcept]\x1b[0m", column='153') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/ExecutableDevice_impl.cpp', lineno='231', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw (CORBA::SystemException, CF::Device::InvalidState, CF::ExecutableDevice::InvalidFunction, CF::ExecutableDevice::InvalidParameters, CF::ExecutableDevice::InvalidOptions, CF::InvalidFileName, CF::ExecutableDevice::ExecuteFail)' is deprecated; consider using 'noexcept(false)' instead [modernize-use-noexcept]\x1b[0m", column='201') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/ExecutableDevice_impl.cpp', lineno='305', severity='warning', message='\x1b[0m\x1b[1muse emplace_back instead of push_back [modernize-use-emplace]\x1b[0m', column='18') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/ExecutableDevice_impl.cpp', lineno='308', severity='warning', message='\x1b[0m\x1b[1muse emplace_back instead of push_back [modernize-use-emplace]\x1b[0m', column='18') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/ExecutableDevice_impl.cpp', lineno='452', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw (CORBA::SystemException, CF::ExecutableDevice::InvalidProcess, CF::Device::InvalidState)' is deprecated; consider using 'noexcept(false)' instead [modernize-use-noexcept]\x1b[0m", column='83') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/ExecutableDevice_impl.cpp', lineno='455', severity='warning', message='\x1b[0m\x1b[1muse emplace_back instead of push_back [modernize-use-emplace]\x1b[0m', column='14') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/ExecutableDevice_impl.cpp', lineno='456', severity='warning', message='\x1b[0m\x1b[1muse emplace_back instead of push_back [modernize-use-emplace]\x1b[0m', column='14') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/ExecutableDevice_impl.cpp', lineno='457', severity='warning', message='\x1b[0m\x1b[1muse emplace_back instead of push_back [modernize-use-emplace]\x1b[0m', column='14') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/ExecutableDevice_impl.cpp', lineno='507', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw (CF::PropertySet::PartialConfiguration, CF::PropertySet::", column='1') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/Port_impl.cpp', lineno='55', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw ()' is deprecated; consider using 'noexcept' instead [modernize-use-noexcept]\x1b[0m", column='37') +WarningErrorEntry(path='\x1b[0m\x1b[1m/usr/local/include/boost/filesystem/directory.hpp', lineno='65', severity='warning', message='\x1b[0m\x1b[1mpass by value and use std::move [modernize-pass-by-value]\x1b[0m', column='28') +WarningErrorEntry(path='\x1b[0m\x1b[1m/usr/local/include/boost/filesystem/directory.hpp', lineno='69', severity='warning', message='\x1b[0m\x1b[1mpass by value and use std::move [modernize-pass-by-value]\x1b[0m', column='19') +WarningErrorEntry(path='\x1b[0m\x1b[1m/usr/local/include/boost/filesystem/directory.hpp', lineno='70', severity='warning', message='\x1b[0m\x1b[1mpass by value and use std::move [modernize-pass-by-value]\x1b[0m', column='5') +WarningErrorEntry(path='\x1b[0m\x1b[1m/usr/local/include/boost/filesystem/directory.hpp', lineno='70', severity='warning', message='\x1b[0m\x1b[1mpass by value and use std::move [modernize-pass-by-value]\x1b[0m', column='21') +WarningErrorEntry(path='\x1b[0m\x1b[1m/usr/local/include/boost/filesystem/exception.hpp', lineno='86', severity='warning', message='\x1b[0m\x1b[1mpass by value and use std::move [modernize-pass-by-value]\x1b[0m', column='19') +WarningErrorEntry(path='\x1b[0m\x1b[1m/usr/local/include/boost/filesystem/exception.hpp', lineno='87', severity='warning', message='\x1b[0m\x1b[1mpass by value and use std::move [modernize-pass-by-value]\x1b[0m', column='10') +WarningErrorEntry(path='\x1b[0m\x1b[1m/usr/local/include/boost/filesystem/exception.hpp', lineno='87', severity='warning', message='\x1b[0m\x1b[1mpass by value and use std::move [modernize-pass-by-value]\x1b[0m', column='29') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/LoadableDevice_impl.cpp', lineno='198', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw (CORBA::SystemException, CF::Device::InvalidState, CF::LoadableDevice::InvalidLoadKind, CF::InvalidFileName, CF::LoadableDevice::LoadFail)' is deprecated; consider using 'noexcept(false)' instead [modernize-use-noexcept]\x1b[0m", column='135') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/LoadableDevice_impl.cpp', lineno='207', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw (CORBA::SystemException, CF::Device::InvalidState, CF::LoadableDevice::InvalidLoadKind, CF::InvalidFileName, CF::LoadableDevice::LoadFail)' is deprecated; consider using 'noexcept(false)' instead [modernize-use-noexcept]\x1b[0m", column='131') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/LoadableDevice_impl.cpp', lineno='227', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw (CORBA::SystemException, CF::Device::InvalidState,", column='1') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/LoadableDevice_impl.cpp', lineno='269', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw (CORBA::SystemException, CF::Device::InvalidState,", column='1') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/LoadableDevice_impl.cpp', lineno='817', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw (CORBA::SystemException, CF::Device::InvalidState, CF::InvalidFileName)' is deprecated; consider using 'noexcept(false)' instead [modernize-use-noexcept]\x1b[0m", column='1') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/LoadableDevice_impl.cpp', lineno='837', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw (CORBA::SystemException, CF::Device::InvalidState, CF::InvalidFileName)' is deprecated; consider using 'noexcept(false)' instead [modernize-use-noexcept]\x1b[0m", column='1') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/POACreator.cpp', lineno='28', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw (CORBA::SystemException)' is deprecated; consider using 'noexcept(false)' instead [modernize-use-noexcept]\x1b[0m", column='5') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/CorbaUtils.cpp', lineno='643', severity='warning', message='\x1b[0m\x1b[1muse emplace_back instead of push_back [modernize-use-emplace]\x1b[0m', column='12') +WarningErrorEntry(path='\x1b[0m\x1b[1m/usr/local/include/boost/lexical_cast/bad_lexical_cast.hpp', lineno='50', severity='warning', message='\x1b[0m\x1b[1mredundant void argument list in function definition [modernize-redundant-void-arg]\x1b[0m', column='29') +WarningErrorEntry(path='\x1b[0m\x1b[1m/usr/local/include/boost/lexical_cast/bad_lexical_cast.hpp', lineno='50', severity='warning', message='\x1b[0m\x1b[1mredundant void argument list in function definition [modernize-redundant-void-arg]\x1b[0m', column='52') +WarningErrorEntry(path='\x1b[0m\x1b[1m/usr/local/include/boost/regex/v5/basic_regex.hpp', lineno='165', severity='warning', message='\x1b[0m\x1b[1mpass by value and use std::move [modernize-pass-by-value]\x1b[0m', column='15') +WarningErrorEntry(path='\x1b[0m\x1b[1m/usr/local/include/boost/regex/v5/basic_regex_creator.hpp', lineno='911', severity='warning', message='\x1b[0m\x1b[1muse emplace_back instead of push_back [modernize-use-emplace]\x1b[0m', column='12') +WarningErrorEntry(path='\x1b[0m\x1b[1m/usr/local/include/boost/regex/v5/regex_token_iterator.hpp', lineno='46', severity='warning', message='\x1b[0m\x1b[1mpass by value and use std::move [modernize-pass-by-value]\x1b[0m', column='89') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/affinity.cpp', lineno='193', severity='warning', message='\x1b[0m\x1b[1muse emplace_back instead of push_back [modernize-use-emplace]\x1b[0m', column='22') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/affinity.cpp', lineno='333', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw (AffinityFailed)' is deprecated; consider using 'noexcept(false)' instead [modernize-use-noexcept]\x1b[0m", column='7') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/affinity.cpp', lineno='465', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw (AffinityFailed)' is deprecated; consider using 'noexcept(false)' instead [modernize-use-noexcept]\x1b[0m", column='7') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/affinity.cpp', lineno='543', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw (AffinityFailed)' is deprecated; consider using 'noexcept(false)' instead [modernize-use-noexcept]\x1b[0m", column='7') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/affinity.cpp', lineno='557', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw (AffinityFailed)' is deprecated; consider using 'noexcept(false)' instead [modernize-use-noexcept]\x1b[0m", column='7') +WarningErrorEntry(path='\x1b[1m/usr/local/include/omniORB4/cdrStream.h', lineno='32', severity='warning', message="\x1b[0m\x1b[1minclusion of deprecated C++ header 'limits.h'; consider using 'climits' instead [modernize-deprecated-headers]\x1b[0m", column='10') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/type_traits.cpp', lineno='23', severity='warning', message="\x1b[0m\x1b[1minclusion of deprecated C++ header 'stdlib.h'; consider using 'cstdlib' instead [modernize-deprecated-headers]\x1b[0m", column='10') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/NegotiablePort.h', lineno='85', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/NegotiablePort.h', lineno='86', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='18') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/NegotiablePort.h', lineno='99', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='33') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/NegotiablePort.h', lineno='105', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/NegotiablePort.h', lineno='106', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/NegotiablePort.h', lineno='107', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='18') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/NegotiablePort.h', lineno='321', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/NegotiablePort.h', lineno='325', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='19') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/NegotiablePort.h', lineno='337', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/NegotiablePort.h', lineno='339', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/NegotiablePort.h', lineno='340', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='28') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/NegotiablePort.h', lineno='347', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/NegotiablePort.h', lineno='352', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='28') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/NegotiablePort.h', lineno='355', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='19') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/NegotiablePort.h', lineno='356', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/NegotiablePort.h', lineno='578', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/NegotiablePort.h', lineno='582', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='19') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/NegotiablePort.h', lineno='594', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/NegotiablePort.h', lineno='596', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/NegotiablePort.h', lineno='597', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='28') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/NegotiablePort.h', lineno='605', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/NegotiablePort.h', lineno='610', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='28') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/NegotiablePort.h', lineno='613', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='19') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/NegotiablePort.h', lineno='614', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/NegotiablePort.h', lineno='716', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/NegotiablePort.h', lineno='720', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='19') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/NegotiablePort.h', lineno='732', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/NegotiablePort.h', lineno='734', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/NegotiablePort.h', lineno='735', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='28') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/NegotiablePort.h', lineno='742', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/NegotiablePort.h', lineno='748', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='28') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/NegotiablePort.h', lineno='751', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='19') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/NegotiablePort.h', lineno='752', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/NegotiablePort.h', lineno='771', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/NegotiablePort.h', lineno='784', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/NegotiablePort.h', lineno='796', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/QueryablePort.h', lineno='275', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/QueryablePort.h', lineno='279', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='19') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/QueryablePort.h', lineno='291', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/QueryablePort.h', lineno='293', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/QueryablePort.h', lineno='294', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='28') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/QueryablePort.h', lineno='301', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/QueryablePort.h', lineno='306', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='28') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/QueryablePort.h', lineno='309', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='19') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/QueryablePort.h', lineno='310', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/CF/QueryablePort.h', lineno='329', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/MessageInterface.h', lineno='55', severity='warning', message="\x1b[0m\x1b[1mannotate this function with 'override' or (rarely) 'final' [modernize-use-override]\x1b[0m", column='14') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/MessageInterface.h', lineno='57', severity='warning', message="\x1b[0m\x1b[1mannotate this function with 'override' or (rarely) 'final' [modernize-use-override]\x1b[0m", column='14') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/MessageInterface.h', lineno='59', severity='warning', message="\x1b[0m\x1b[1mannotate this function with 'override' or (rarely) 'final' [modernize-use-override]\x1b[0m", column='14') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/MessageInterface.h', lineno='70', severity='warning', message="\x1b[0m\x1b[1mannotate this function with 'override' or (rarely) 'final' [modernize-use-override]\x1b[0m", column='53') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/MessageInterface.h', lineno='72', severity='warning', message="\x1b[0m\x1b[1mannotate this function with 'override' or (rarely) 'final' [modernize-use-override]\x1b[0m", column='53') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/MessageInterface.h', lineno='94', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/MessageInterface.h', lineno='94', severity='warning', message='\x1b[0m\x1b[1mredundant void argument list in function declaration [modernize-redundant-void-arg]\x1b[0m', column='35') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/MessageInterface.h', lineno='116', severity='warning', message="\x1b[0m\x1b[1mannotate this function with 'override' or (rarely) 'final' [modernize-use-override]\x1b[0m", column='10') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/MessageInterface.h', lineno='118', severity='warning', message="\x1b[0m\x1b[1mannotate this function with 'override' or (rarely) 'final' [modernize-use-override]\x1b[0m", column='10') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/MessageInterface.h', lineno='120', severity='warning', message="\x1b[0m\x1b[1mannotate this function with 'override' or (rarely) 'final' [modernize-use-override]\x1b[0m", column='45') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/MessageInterface.h', lineno='122', severity='warning', message="\x1b[0m\x1b[1mannotate this function with 'override' or (rarely) 'final' [modernize-use-override]\x1b[0m", column='45') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/MessageInterface.h', lineno='124', severity='warning', message="\x1b[0m\x1b[1mannotate this function with 'override' or (rarely) 'final' [modernize-use-override]\x1b[0m", column='10') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/MessageInterface.h', lineno='132', severity='warning', message="\x1b[0m\x1b[1mannotate this function with 'override' or (rarely) 'final' [modernize-use-override]\x1b[0m", column='17') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/MessageInterface.h', lineno='134', severity='warning', message="\x1b[0m\x1b[1mannotate this function with 'override' or (rarely) 'final' [modernize-use-override]\x1b[0m", column='17') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/MessageInterface.h', lineno='178', severity='warning', message='\x1b[0m\x1b[1mpass by value and use std::move [modernize-pass-by-value]\x1b[0m', column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/MessageInterface.h', lineno='202', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='22') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/MessageInterface.h', lineno='210', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='22') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/MessageSupplier.h', lineno='41', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/MessageSupplier.h', lineno='41', severity='warning', message='\x1b[0m\x1b[1mredundant void argument list in function declaration [modernize-redundant-void-arg]\x1b[0m', column='35') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/MessageSupplier.h', lineno='100', severity='warning', message="\x1b[0m\x1b[1mannotate this function with 'override' or (rarely) 'final' [modernize-use-override]\x1b[0m", column='17') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/MessageSupplier.h', lineno='103', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='18') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/MessageSupplier.h', lineno='104', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='37') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/Transport.h', lineno='98', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='17') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/Transport.h', lineno='113', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='17') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/Transport.h', lineno='147', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='17') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/Transport.h', lineno='172', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='17') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/UsesPort.h', lineno='46', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='17') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/UsesPort.h', lineno='90', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='22') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/UsesPort.h', lineno='92', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='22') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/UsesPort.h', lineno='94', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='53') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/UsesPort.h', lineno='188', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='17') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/UsesPort.h', lineno='190', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='22') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/UsesPort.h', lineno='192', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='52') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/UsesPort.h', lineno='194', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='55') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/UsesPort.h', lineno='199', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='29') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/MessageSupplier.cpp', lineno='32', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/MessageSupplier.cpp', lineno='57', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/MessageSupplier.cpp', lineno='62', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='28') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/MessageSupplier.cpp', lineno='67', severity='warning', message="\x1b[0m\x1b[1mannotate this function with 'override' or (rarely) 'final' [modernize-use-override]\x1b[0m", column='10') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/MessageSupplier.cpp', lineno='76', severity='warning', message="\x1b[0m\x1b[1mannotate this function with 'override' or (rarely) 'final' [modernize-use-override]\x1b[0m", column='10') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/MessageSupplier.cpp', lineno='86', severity='warning', message="\x1b[0m\x1b[1mannotate this function with 'override' or (rarely) 'final' [modernize-use-override]\x1b[0m", column='10') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/MessageSupplier.cpp', lineno='95', severity='warning', message="\x1b[0m\x1b[1mannotate this function with 'override' or (rarely) 'final' [modernize-use-override]\x1b[0m", column='10') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/MessageSupplier.cpp', lineno='126', severity='warning', message="\x1b[0m\x1b[1mannotate this function with 'override' or (rarely) 'final' [modernize-use-override]\x1b[0m", column='10') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/MessageSupplier.cpp', lineno='149', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/MessageSupplier.cpp', lineno='154', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='28') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/MessageSupplier.cpp', lineno='159', severity='warning', message="\x1b[0m\x1b[1mannotate this function with 'override' or (rarely) 'final' [modernize-use-override]\x1b[0m", column='10') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/MessageSupplier.cpp', lineno='171', severity='warning', message="\x1b[0m\x1b[1mannotate this function with 'override' or (rarely) 'final' [modernize-use-override]\x1b[0m", column='10') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/MessageSupplier.cpp', lineno='175', severity='warning', message="\x1b[0m\x1b[1mannotate this function with 'override' or (rarely) 'final' [modernize-use-override]\x1b[0m", column='10') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/MessageSupplier.cpp', lineno='202', severity='warning', message="\x1b[0m\x1b[1mannotate this function with 'override' or (rarely) 'final' [modernize-use-override]\x1b[0m", column='10') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/MessageSupplier.cpp', lineno='246', severity='warning', message='\x1b[0m\x1b[1mredundant void argument list in function definition [modernize-redundant-void-arg]\x1b[0m', column='44') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/Service_impl.h', lineno='25', severity='warning', message="\x1b[0m\x1b[1minclusion of deprecated C++ header 'stdlib.h'; consider using 'cstdlib' instead [modernize-deprecated-headers]\x1b[0m", column='10') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/Service_impl.h', lineno='38', severity='warning', message="\x1b[0m\x1b[1minclusion of deprecated C++ header 'signal.h'; consider using 'csignal' instead [modernize-deprecated-headers]\x1b[0m", column='10') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/Service_impl.cpp', lineno='22', severity='warning', message="\x1b[0m\x1b[1minclusion of deprecated C++ header 'string.h'; consider using 'cstring' instead [modernize-deprecated-headers]\x1b[0m", column='10') +WarningErrorEntry(path='\x1b[0m\x1b[1m/usr/local/include/boost/token_iterator.hpp', lineno='79', severity='warning', message='\x1b[0m\x1b[1mpass by value and use std::move [modernize-pass-by-value]\x1b[0m', column='22') +WarningErrorEntry(path='\x1b[0m\x1b[1m/usr/local/include/boost/tokenizer.hpp', lineno='62', severity='warning', message='\x1b[0m\x1b[1mpass by value and use std::move [modernize-pass-by-value]\x1b[0m', column='34') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/EventChannelSupport.cpp', lineno='21', severity='warning', message="\x1b[0m\x1b[1minclusion of deprecated C++ header 'stdlib.h'; consider using 'cstdlib' instead [modernize-deprecated-headers]\x1b[0m", column='10') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/EventChannelSupport.cpp', lineno='22', severity='warning', message="\x1b[0m\x1b[1minclusion of deprecated C++ header 'stdint.h'; consider using 'cstdint' instead [modernize-deprecated-headers]\x1b[0m", column='10') +For full log, please open: /var/folders/wb/ckvxxgls5db7qyhqq4y5_l1c0000gq/T/build-bolh0tmr.log +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/EventChannelSupport.cpp', lineno='23', severity='warning', message="\x1b[0m\x1b[1minclusion of deprecated C++ header 'signal.h'; consider using 'csignal' instead [modernize-deprecated-headers]\x1b[0m", column='10') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/EventChannelSupport.cpp', lineno='685', severity='warning', message='\x1b[0m\x1b[1mpass by value and use std::move [modernize-pass-by-value]\x1b[0m', column='41') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/EventChannelSupport.cpp', lineno='699', severity='warning', message='\x1b[0m\x1b[1mpass by value and use std::move [modernize-pass-by-value]\x1b[0m', column='41') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/EventChannelSupport.cpp', lineno='700', severity='warning', message='\x1b[0m\x1b[1mpass by value and use std::move [modernize-pass-by-value]\x1b[0m', column='6') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/EventChannelSupport.cpp', lineno='713', severity='warning', message='\x1b[0m\x1b[1mpass by value and use std::move [modernize-pass-by-value]\x1b[0m', column='43') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/EventChannelSupport.cpp', lineno='725', severity='warning', message='\x1b[0m\x1b[1mpass by value and use std::move [modernize-pass-by-value]\x1b[0m', column='41') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/EventChannelSupport.cpp', lineno='726', severity='warning', message='\x1b[0m\x1b[1mpass by value and use std::move [modernize-pass-by-value]\x1b[0m', column='6') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/EventChannelSupport.cpp', lineno='913', severity='warning', message='\x1b[0m\x1b[1mpass by value and use std::move [modernize-pass-by-value]\x1b[0m', column='41') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/EventChannelSupport.cpp', lineno='926', severity='warning', message='\x1b[0m\x1b[1mpass by value and use std::move [modernize-pass-by-value]\x1b[0m', column='41') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/EventChannelSupport.cpp', lineno='927', severity='warning', message='\x1b[0m\x1b[1mpass by value and use std::move [modernize-pass-by-value]\x1b[0m', column='6') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/EventChannelSupport.cpp', lineno='941', severity='warning', message='\x1b[0m\x1b[1mpass by value and use std::move [modernize-pass-by-value]\x1b[0m', column='41') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/EventChannelSupport.cpp', lineno='954', severity='warning', message='\x1b[0m\x1b[1mpass by value and use std::move [modernize-pass-by-value]\x1b[0m', column='41') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/EventChannelSupport.cpp', lineno='955', severity='warning', message='\x1b[0m\x1b[1mpass by value and use std::move [modernize-pass-by-value]\x1b[0m', column='6') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/PropertyInterface.h', lineno='493', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='18') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/PropertyInterface.h', lineno='503', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='18') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/PropertyInterface.cpp', lineno='248', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='19') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/PropertyInterface.cpp', lineno='259', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='18') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/PropertyInterface.cpp', lineno='264', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='18') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/PropertyInterface.cpp', lineno='340', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='19') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/PropertyInterface.cpp', lineno='364', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='18') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/PropertyInterface.cpp', lineno='374', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='18') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/PropertyInterface.cpp', lineno='391', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='18') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/PropertyInterface.cpp', lineno='396', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='18') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/PropertyInterface.cpp', lineno='406', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='18') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/PropertyInterface.cpp', lineno='429', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='18') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/PropertyInterface.cpp', lineno='434', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='18') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/Events.cpp', lineno='193', severity='warning', message='\x1b[0m\x1b[1mpass by value and use std::move [modernize-pass-by-value]\x1b[0m', column='41') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/Events.cpp', lineno='444', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/Events.cpp', lineno='479', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/Events.cpp', lineno='583', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw (RegistrationExists, RegistrationFailed)' is deprecated; consider using 'noexcept(false)' instead [modernize-use-noexcept]\x1b[0m", column='5') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/Events.cpp', lineno='641', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw (RegistrationExists, RegistrationFailed)' is deprecated; consider using 'noexcept(false)' instead [modernize-use-noexcept]\x1b[0m", column='5') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/Events.cpp', lineno='853', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='15') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/Events.cpp', lineno='864', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='20') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/Events.cpp', lineno='914', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='15') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/Events.cpp', lineno='1191', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='18') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/Events.cpp', lineno='1226', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/Events.cpp', lineno='1238', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='18') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/Events.cpp', lineno='1240', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='18') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/Events.cpp', lineno='1284', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/Events.cpp', lineno='1285', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='18') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/Events.cpp', lineno='1298', severity='warning', message='\x1b[0m\x1b[1mpass by value and use std::move [modernize-pass-by-value]\x1b[0m', column='44') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/Events.cpp', lineno='1313', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='13') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/Events.cpp', lineno='1314', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='18') +WarningErrorEntry(path='\x1b[1m/usr/local/include/boost/assert.hpp', lineno='58', severity='warning', message="\x1b[0m\x1b[1minclusion of deprecated C++ header 'assert.h'; consider using 'cassert' instead [modernize-deprecated-headers]\x1b[0m", column='11') +WarningErrorEntry(path='\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/bitops.h', lineno='25', severity='warning', message="\x1b[0m\x1b[1minclusion of deprecated C++ header 'stdint.h'; consider using 'cstdint' instead [modernize-deprecated-headers]\x1b[0m", column='10') +WarningErrorEntry(path='\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/BufferManager.h', lineno='73', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw()' is deprecated; consider using 'noexcept' instead [modernize-use-noexcept]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/BufferManager.h', lineno='78', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw()' is deprecated; consider using 'noexcept' instead [modernize-use-noexcept]\x1b[0m", column='47') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/BufferManager.h', lineno='84', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw()' is deprecated; consider using 'noexcept' instead [modernize-use-noexcept]\x1b[0m", column='50') +WarningErrorEntry(path='\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/bitbuffer.h', lineno='24', severity='warning', message="\x1b[0m\x1b[1minclusion of deprecated C++ header 'stdint.h'; consider using 'cstdint' instead [modernize-deprecated-headers]\x1b[0m", column='10') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/bitbuffer.h', lineno='25', severity='warning', message="\x1b[0m\x1b[1minclusion of deprecated C++ header 'stddef.h'; consider using 'cstddef' instead [modernize-deprecated-headers]\x1b[0m", column='10') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/bitops.h', lineno='25', severity='warning', message="\x1b[0m\x1b[1minclusion of deprecated C++ header 'stdint.h'; consider using 'cstdint' instead [modernize-deprecated-headers]\x1b[0m", column='10') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/shm/Allocator.h', lineno='57', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw()' is deprecated; consider using 'noexcept' instead [modernize-use-noexcept]\x1b[0m", column='25') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/shm/Allocator.h', lineno='62', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw()' is deprecated; consider using 'noexcept' instead [modernize-use-noexcept]\x1b[0m", column='47') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/shm/Allocator.h', lineno='68', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw()' is deprecated; consider using 'noexcept' instead [modernize-use-noexcept]\x1b[0m", column='50') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/shm/Allocator.h', lineno='103', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw()' is deprecated; consider using 'noexcept' instead [modernize-use-noexcept]\x1b[0m", column='31') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/shm/Allocator.h', lineno='108', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw()' is deprecated; consider using 'noexcept' instead [modernize-use-noexcept]\x1b[0m", column='59') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/shm/Allocator.h', lineno='114', severity='warning', message="\x1b[0m\x1b[1mdynamic exception specification 'throw()' is deprecated; consider using 'noexcept' instead [modernize-use-noexcept]\x1b[0m", column='62') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/UsesPort.cpp', lineno='60', severity='warning', message='\x1b[0m\x1b[1mpass by value and use std::move [modernize-pass-by-value]\x1b[0m', column='38') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/UsesPort.cpp', lineno='277', severity='warning', message='\x1b[0m\x1b[1mpass by value and use std::move [modernize-pass-by-value]\x1b[0m', column='30') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/UsesPort.cpp', lineno='284', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='22') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/ProvidesPort.h', lineno='41', severity='warning', message="\x1b[0m\x1b[1mannotate this function with 'override' or (rarely) 'final' [modernize-use-override]\x1b[0m", column='9') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/ProvidesPort.h', lineno='43', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='22') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/ProvidesPort.h', lineno='44', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='22') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/ProvidesPort.h', lineno='46', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='52') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/ProvidesPort.h', lineno='47', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='48') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/../include/ossie/ProvidesPort.h', lineno='49', severity='warning', message="\x1b[0m\x1b[1mprefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]\x1b[0m", column='22') +WarningErrorEntry(path='\x1b[0m\x1b[1m/Users/clausklein/Workspace/OSSIE/core-framework/redhawk/src/base/framework/ProvidesPort.cpp', lineno='27', severity='warning', message='\x1b[0m\x1b[1mpass by value and use std::move [modernize-pass-by-value]\x1b[0m', column='76') diff --git a/redhawk/src/Makefile.am b/redhawk/src/Makefile.am index 83f1183a1..cc09c7c50 100644 --- a/redhawk/src/Makefile.am +++ b/redhawk/src/Makefile.am @@ -18,7 +18,7 @@ # along with this program. If not, see http://www.gnu.org/licenses/. # -ACLOCAL_AMFLAGS = -I acinclude +ACLOCAL_AMFLAGS = -I acinclude BOOST_THREAD_LIB += $(BOOST_REGEX_LIB) LIBTOOL_DEPS = @LIBTOOL_DEPS@ @@ -35,7 +35,7 @@ if HAVE_JAVASUPPORT endif if BUILD_TESTS -TEST_DIR=testing + TEST_DIR=testing endif SUBDIRS = acinclude etc $(OMNIJNI) base control tools xml idl $(TEST_DIR) diff --git a/redhawk/src/base/cfg/.gitignore b/redhawk/src/base/cfg/.gitignore new file mode 100644 index 000000000..277521672 --- /dev/null +++ b/redhawk/src/base/cfg/.gitignore @@ -0,0 +1,3 @@ +cluster.cfg +!templates/cluster.cfg +!Makefile diff --git a/redhawk/src/base/cfg/Makefile b/redhawk/src/base/cfg/Makefile new file mode 100644 index 000000000..333192976 --- /dev/null +++ b/redhawk/src/base/cfg/Makefile @@ -0,0 +1,32 @@ +REGISTRY="\"\"" +SSH_KEY="\"\"" +SERVER_USER="\"\"" +SERVER_IP="\"\"" +DOCKER_DIR="\"\"" +MOUNT_DIR="\"\"" +JSON="\"\"" + +EksKube: + @sudo sh -c 'echo " mkdir -p /usr/local/redhawk/core/{aws,.kube}"' + @sudo mkdir -p /usr/local/redhawk/core/{aws,.kube} + @echo " Creating empty placeholder files for k8s" + # aws config + @sudo sh -c 'echo "[profile redhawk]" > /usr/local/redhawk/core/aws/config.fake' + @sudo sh -c 'echo "region = " >> /usr/local/redhawk/core/aws/config.fake' + @sudo sh -c 'echo "output = table" >> /usr/local/redhawk/core/aws/config.fake' + # aws credentials + @sudo sh -c 'echo "[redhawk]" > /usr/local/redhawk/core/aws/credentials.fake' + @sudo sh -c 'echo "aws_access_key_id=YOURACCESSKEYIDHERE" >> /usr/local/redhawk/core/aws/credentials.fake' + @sudo sh -c 'echo "aws_secret_access_key=YOURSECRETACCESSKEYHERE" >> /usr/local/redhawk/core/aws/credentials.fake' + @sudo sh -c 'echo "Make sure you edit the config.fake and credentials.fake file, then remove the .fake suffixes when the files are ready" > /usr/local/redhawk/core/aws/README' + # kubectl config + @sudo sh -c 'echo "Configure your AWS credentials first" > /usr/local/redhawk/core/.kube/README' + @sudo sh -c "echo \"Then run 'aws eks update-kubeconfig –name '\" >> /usr/local/redhawk/core/.kube/README" + @sudo sh -c 'echo "To create the kubectl config file. Move it to OSSIEHOME/.kube/config. This is where RH will look for the file." >> /usr/local/redhawk/core/.kube/README' + sudo -E ./build.py --cluster EksKube --registry ${REGISTRY} --json ${JSON} + +DockerSwarm: + sudo -E ./build.py --cluster DockerSwarm --registry ${REGISTRY} --ssh_key ${SSH_KEY} --server_user ${SERVER_USER} --server_ip ${SERVER_IP} + +Docker: + sudo -E ./build.py --cluster Docker --docker_dir ${DOCKER_DIR} --mount_dir ${MOUNT_DIR} diff --git a/redhawk/src/base/cfg/build.py b/redhawk/src/base/cfg/build.py new file mode 100755 index 000000000..e292f83b0 --- /dev/null +++ b/redhawk/src/base/cfg/build.py @@ -0,0 +1,30 @@ +#!/usr/bin/python + +from jinja2 import Environment, FileSystemLoader +import os +import argparse + +parser = argparse.ArgumentParser() +parser.add_argument("--cluster", default="Docker") +parser.add_argument("--registry", default="\"\"") +parser.add_argument("--ssh_key", default="\"\"") +parser.add_argument("--server_user", default="\"\"") +parser.add_argument("--server_ip", default="\"\"") +parser.add_argument("--docker_dir", default="\"\"") +parser.add_argument("--mount_dir", default="\"\"") +parser.add_argument("--json", default="\"\"") + +args = parser.parse_args() + +OSSIEHOME = os.getenv('OSSIEHOME') + +content = 'This is about page' + +file_loader = FileSystemLoader('templates') +env = Environment(loader=file_loader) + +template = env.get_template('cluster.cfg') + +output = template.render(cluster=args.cluster, dockerjsonconfig=args.json, registry=args.registry, ssh_key=args.ssh_key, server_user=args.server_user, server_ip=args.server_ip, docker_dir=args.docker_dir, mount_dir=args.mount_dir) +with open(OSSIEHOME+"/cluster.cfg", "w") as new_cluster: + new_cluster.write(output) diff --git a/redhawk/src/base/cfg/templates/cluster.cfg b/redhawk/src/base/cfg/templates/cluster.cfg new file mode 100644 index 000000000..ea7769d3f --- /dev/null +++ b/redhawk/src/base/cfg/templates/cluster.cfg @@ -0,0 +1,20 @@ +[CLUSTER] +name = {{cluster}} + +[EksKube] +registry = {{registry}} +tag = latest +dockerconfigjson = {{dockerjsonconfig}} + +[DockerSwarm] +registry = {{registry}} +tag = latest + +key = {{ssh_key}} +user = {{server_user}} +ip = {{server_ip}} +docker_login_cmd = "docker login" + +[Docker] +local_dir={{docker_dir}} +mount_dir={{mount_dir}} diff --git a/redhawk/src/base/framework/Component.cpp b/redhawk/src/base/framework/Component.cpp index 140322779..9edbb0c64 100644 --- a/redhawk/src/base/framework/Component.cpp +++ b/redhawk/src/base/framework/Component.cpp @@ -37,7 +37,7 @@ Component::~Component() { } -void Component::setAdditionalParameters(std::string &softwareProfile, std::string &application_registrar_ior, std::string &nic) +void Component::setAdditionalParameters(std::string &softwareProfile, std::string &application_registrar_ior, const std::string &nic) { CORBA::ORB_ptr orb = ossie::corba::Orb(); Resource_impl::setAdditionalParameters(softwareProfile, application_registrar_ior, nic); diff --git a/redhawk/src/base/framework/Device_impl.cpp b/redhawk/src/base/framework/Device_impl.cpp index ebc1aec96..5c7e52c6b 100644 --- a/redhawk/src/base/framework/Device_impl.cpp +++ b/redhawk/src/base/framework/Device_impl.cpp @@ -21,7 +21,10 @@ #include #include #include + +#ifdef __linux__ #include +#endif #include "ossie/Device_impl.h" #include "ossie/CorbaUtils.h" @@ -1276,12 +1279,16 @@ void Device_impl::start_device(Device_impl::ctor_type ctor, struct sigaction sa, RH_NL_FATAL(logname, "Failed to create signalfd for SIGCHLD"); exit(EXIT_FAILURE); } + +#ifdef __linux__ /* Create the signalfd */ sig_fd = signalfd(-1, &sigset,0); if ( sig_fd == -1 ) { RH_NL_FATAL(logname, "Failed to create signalfd for SIGCHLD"); exit(EXIT_FAILURE); } +#endif + } // The ORB must be initialized before configuring logging, which may use diff --git a/redhawk/src/base/framework/FileStream.cpp b/redhawk/src/base/framework/FileStream.cpp index 399d5a45a..d8ee5f386 100644 --- a/redhawk/src/base/framework/FileStream.cpp +++ b/redhawk/src/base/framework/FileStream.cpp @@ -91,7 +91,7 @@ void File_buffer::close() throw(std::ios_base::failure) } File_stream::File_stream(CF::FileSystem_ptr fsysptr, const char* path) throw(std::ios_base::failure) : - std::ios(0), + std::istream(0), needsClose(true) { try { @@ -107,7 +107,7 @@ File_stream::File_stream(CF::FileSystem_ptr fsysptr, const char* path) throw(std } File_stream::File_stream(CF::File_ptr fptr) : - std::ios(0), + std::istream(0), needsClose(false) { try { diff --git a/redhawk/src/base/framework/LoadableDevice_impl.cpp b/redhawk/src/base/framework/LoadableDevice_impl.cpp index c99927185..655e91350 100644 --- a/redhawk/src/base/framework/LoadableDevice_impl.cpp +++ b/redhawk/src/base/framework/LoadableDevice_impl.cpp @@ -231,6 +231,10 @@ throw (CORBA::SystemException, CF::Device::InvalidState, boost::recursive_mutex::scoped_lock lock(load_execute_lock); try { + if (loadKind == CF::LoadableDevice::CONTAINER) { + RH_WARN(_loadabledeviceLog, "Found a CONTAINER and changed it to EXECUTABLE") + loadKind = CF::LoadableDevice::EXECUTABLE; + } do_load(fs, fileName, loadKind); update_ld_library_path(fs, fileName, loadKind); update_octave_path(fs, fileName, loadKind); diff --git a/redhawk/src/base/framework/Makefile.am b/redhawk/src/base/framework/Makefile.am index 1bdf8ba71..54fdf22e4 100644 --- a/redhawk/src/base/framework/Makefile.am +++ b/redhawk/src/base/framework/Makefile.am @@ -51,33 +51,36 @@ libossiecf_la_SOURCES = AggregateDevice_impl.cpp \ logging/StringInputStream.cpp \ logging/RH_LogEventAppender.cpp \ logging/RH_SyncRollingAppender.cpp \ + cluster/clusterhelpers.cpp \ EventChannelSupport.cpp \ - Events.cpp \ - Component.cpp \ - Value.cpp \ - PropertyType.cpp \ - PropertyMap.cpp \ - Versions.cpp \ - ExecutorService.cpp \ - UsesPort.cpp \ - ProvidesPort.cpp \ - Transport.cpp \ - BufferManager.cpp \ - inplace_list.h \ - bitops.cpp \ - bitbuffer.cpp \ - shm/Allocator.cpp \ - shm/Heap.cpp \ - shm/HeapClient.cpp \ - shm/HeapPolicy.cpp \ - shm/MappedFile.cpp \ - shm/Metrics.cpp \ - shm/Superblock.cpp \ - shm/SuperblockFile.cpp \ - shm/System.cpp + Events.cpp \ + Component.cpp \ + Value.cpp \ + PropertyType.cpp \ + PropertyMap.cpp \ + Versions.cpp \ + ExecutorService.cpp \ + UsesPort.cpp \ + ProvidesPort.cpp \ + Transport.cpp \ + BufferManager.cpp \ + inplace_list.h \ + bitops.cpp \ + bitbuffer.cpp \ + shm/Allocator.cpp \ + shm/Heap.cpp \ + shm/HeapClient.cpp \ + shm/HeapPolicy.cpp \ + shm/MappedFile.cpp \ + shm/Metrics.cpp \ + shm/Superblock.cpp \ + shm/SuperblockFile.cpp \ + shm/System.cpp libossiecf_la_CXXFLAGS = -Wall $(BOOST_CPPFLAGS) $(OMNICOS_CFLAGS) $(OMNIORB_CFLAGS) $(LOG4CXX_FLAGS) # Include the omniORB internal directory, otherwise CorbaUtils will not build libossiecf_la_CXXFLAGS +=-I$(OMNIORB_INCLUDEDIR)/omniORB4/internal -libossiecf_la_LIBADD = $(BOOST_LDFLAGS) $(BOOST_FILESYSTEM_LIB) $(BOOST_SERIALIZATION_LIB) $(BOOST_THREAD_LIB) $(BOOST_SYSTEM_LIB) $(BOOST_REGEX_LIB) $(OMNICOS_LIBS) $(OMNIORB_LIBS) $(LOG4CXX_LIBS) -ldl -lrt -libossiecf_la_LDFLAGS = -Wall -version-info $(LIBOSSIECF_VERSION_INFO) +libossiecf_la_LIBADD = $(BOOST_LDFLAGS) $(BOOST_FILESYSTEM_LIB) $(BOOST_SERIALIZATION_LIB) $(BOOST_THREAD_LIB) $(BOOST_SYSTEM_LIB) $(BOOST_REGEX_LIB) $(OMNICOS_LIBS) $(OMNIORB_LIBS) $(LOG4CXX_LIBS) -ldl -lyaml-cpp +libossiecf_la_LIBADD += $(RT_LIB) +libossiecf_la_LDFLAGS = -version-info $(LIBOSSIECF_VERSION_INFO) + diff --git a/redhawk/src/base/framework/Resource_impl.cpp b/redhawk/src/base/framework/Resource_impl.cpp index 294e40359..5515a5654 100644 --- a/redhawk/src/base/framework/Resource_impl.cpp +++ b/redhawk/src/base/framework/Resource_impl.cpp @@ -56,7 +56,7 @@ Resource_impl::~Resource_impl () } -void Resource_impl::setAdditionalParameters(std::string& softwareProfile, std::string &application_registrar_ior, std::string &nic) +void Resource_impl::setAdditionalParameters(std::string& softwareProfile, std::string &application_registrar_ior, const std::string &nic) { _softwareProfile = softwareProfile; CORBA::ORB_ptr orb = ossie::corba::Orb(); @@ -375,7 +375,13 @@ void Resource_impl::start_component(Resource_impl::ctor_type ctor, int argc, cha if (++index < argc) { std::string value = argv[index]; value = value.substr(0, 15); + +#ifdef __APPLE__ + (void)pthread_setname_np(value.c_str()); +#else pthread_setname_np(pthread_self(), value.c_str()); +#endif + } break; } diff --git a/redhawk/src/base/framework/ThreadedComponent.cpp b/redhawk/src/base/framework/ThreadedComponent.cpp index a9535bf59..070f305ab 100644 --- a/redhawk/src/base/framework/ThreadedComponent.cpp +++ b/redhawk/src/base/framework/ThreadedComponent.cpp @@ -50,7 +50,13 @@ void ProcessThread::run() // fails if the name exceeds that limit if (!_name.empty()) { std::string name = _name.substr(0, 15); + +#ifdef __APPLE__ + (void)pthread_setname_np(name.c_str()); +#else pthread_setname_np(pthread_self(), name.c_str()); +#endif + } while (_running) { @@ -74,7 +80,7 @@ void ProcessThread::run() return; } else if (state == NOOP) { try { - boost::posix_time::time_duration boost_delay = boost::posix_time::microseconds(_delay.tv_sec*1e6 + _delay.tv_nsec*1e-3); + boost::posix_time::time_duration boost_delay = boost::posix_time::microseconds(_delay.tv_sec * 1000000 + _delay.tv_nsec / 1000); boost::this_thread::sleep(boost_delay); } catch (boost::thread_interrupted &) { break; diff --git a/redhawk/src/base/framework/cluster/clusterhelpers.cpp b/redhawk/src/base/framework/cluster/clusterhelpers.cpp new file mode 100644 index 000000000..a25acdd82 --- /dev/null +++ b/redhawk/src/base/framework/cluster/clusterhelpers.cpp @@ -0,0 +1,103 @@ +#include + +#include +#include +#include + +namespace ossie { + namespace cluster { + + class _EmptyClusterManager : public ClusterManagerResolver { + public: + _EmptyClusterManager(std::string app_id) : ClusterManagerResolver(app_id) {}; + + virtual ~_EmptyClusterManager() {}; + + virtual int launchComponent(std::string comp_id) { return 0; } + + virtual bool pollStatusActive(std::string name) { return false; } + virtual bool pollStatusTerminated(std::string name) { return false; } + + virtual void deleteComponent(std::string name) {} + + virtual bool isTerminated(std::string name) { return false; } + + virtual void openComponentConfigFile(redhawk::PropertyMap execParameters, std::string entryPoint, std::string image) { return; } + + virtual void closeComponentConfigFile(std::string file_name) {} + }; + + struct ClusterManagerHolder { + void *library; + ClusterFactory factory; + ClusterManagerHolder() : library(NULL), factory(NULL){}; + ~ClusterManagerHolder() { + close(); + } + void close() { + if (library) dlclose(library); + library = NULL; + } + }; + + static ClusterManagerResolverPtr _cluster_resolver; + static ClusterManagerHolder _clusterMgr; + + void _LoadClusterManagerLibrary () { + if (_clusterMgr.library) _clusterMgr.close(); + + try { + void* cluster_library = dlopen("libossiecluster.so", RTLD_LAZY); + if (!cluster_library) { + throw 1; + } + _clusterMgr.library=cluster_library; + // reset errors + dlerror(); + + // load the symbols + ossie::cluster::ClusterFactory cluster_factory = (ossie::cluster::ClusterFactory) dlsym(cluster_library, "cluster_factory"); + const char* dlsym_error = dlerror(); + if (dlsym_error) { + RH_NL_ERROR( "ossie.clustermgr", "Cannot find cluster_factory symbol in libossicluster.so library: " << dlsym_error); + throw 2; + } + _clusterMgr.factory=cluster_factory; + + RH_NL_DEBUG( "ossie.clustermgr", "ossie.clustermgr: Found libossiecluster.so for LOGGING_CONFIG_URI resolution." ); + } + catch( std::exception &e){ + RH_NL_ERROR( "ossie.clustermgr", "Error: Exception on cluster load " << e.what()); + } + catch( int e){ + RH_NL_ERROR( "ossie.clustermgr", "Error: Exception on cluster load with integer output " << e); + if ( e == 2 ) { // library symbol look up error + if ( _clusterMgr.library ) dlclose(_clusterMgr.library); + _clusterMgr.library = 0; + } + + } + + } + + ClusterManagerResolverPtr GetClusterManagerResolver(std::string app_id) { + if (_cluster_resolver) { + return _clusterMgr.factory(app_id); + } + + _LoadClusterManagerLibrary(); + + // If the factory does not exist a new class was not found and a default + // cluster manager will be used instead + if (!_clusterMgr.factory) { + RH_NL_ERROR("ossie.clustermgr", "Could not find cluster factory. This means a default cluster manager will be used instead!"); + return ClusterManagerResolverPtr ( new _EmptyClusterManager(app_id) ); + } + else { + RH_NL_TRACE("ossie.clustermgr", "No cluster resolver. It will now be set by the Cluster Manager Factory"); + _cluster_resolver = _clusterMgr.factory(app_id); + return _cluster_resolver; + } + } + }; +}; diff --git a/redhawk/src/base/framework/helperFunctions.cpp b/redhawk/src/base/framework/helperFunctions.cpp index 86eec7e0b..01a6f6fbb 100644 --- a/redhawk/src/base/framework/helperFunctions.cpp +++ b/redhawk/src/base/framework/helperFunctions.cpp @@ -20,6 +20,7 @@ #include +#include #include #include @@ -39,7 +40,13 @@ std::string ossie::generateUUID() std::string ossie::getCurrentDirName() { std::string retval; + +#ifdef __APPLE__ + char* tdir = getcwd(NULL,0); +#else char *tdir = get_current_dir_name(); +#endif + if ( tdir ) { retval = tdir; free(tdir); diff --git a/redhawk/src/base/framework/logging/loghelpers.cpp b/redhawk/src/base/framework/logging/loghelpers.cpp index 512bef116..77cbe7797 100644 --- a/redhawk/src/base/framework/logging/loghelpers.cpp +++ b/redhawk/src/base/framework/logging/loghelpers.cpp @@ -1,20 +1,20 @@ /* - * This file is protected by Copyright. Please refer to the COPYRIGHT file + * This file is protected by Copyright. Please refer to the COPYRIGHT file * distributed with this source distribution. - * + * * This file is part of REDHAWK core. - * - * REDHAWK core is free software: you can redistribute it and/or modify it - * under the terms of the GNU Lesser General Public License as published by the - * Free Software Foundation, either version 3 of the License, or (at your + * + * REDHAWK core is free software: you can redistribute it and/or modify it + * under the terms of the GNU Lesser General Public License as published by the + * Free Software Foundation, either version 3 of the License, or (at your * option) any later version. - * - * REDHAWK core is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License + * + * REDHAWK core is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License * for more details. - * - * You should have received a copy of the GNU Lesser General Public License + * + * You should have received a copy of the GNU Lesser General Public License * along with this program. If not, see http://www.gnu.org/licenses/. */ #include @@ -62,7 +62,7 @@ using boost::asio::ip::tcp; #ifdef LOCAL_DEBUG_ON #define STDOUT_DEBUG(x) std::cout << x << std::endl #else -#define STDOUT_DEBUG(x) +#define STDOUT_DEBUG(x) #endif @@ -71,330 +71,332 @@ using boost::asio::ip::tcp; namespace ossie { - namespace logging { +namespace logging { - static const std::string DomPrefix("dom"); - static const std::string DevMgrPrefix("devmgr"); - static const std::string DevicePrefix("dev"); - static const std::string ServicePrefix("svc"); - static const std::string ComponentPrefix("rsc"); +static const std::string DomPrefix("dom"); +static const std::string DevMgrPrefix("devmgr"); +static const std::string DevicePrefix("dev"); +static const std::string ServicePrefix("svc"); +static const std::string ComponentPrefix("rsc"); - class _EmptyLogConfigUri : public LogConfigUriResolver { +class _EmptyLogConfigUri : public LogConfigUriResolver { - public: +public: - _EmptyLogConfigUri() {}; + _EmptyLogConfigUri() {}; - virtual ~_EmptyLogConfigUri(){}; - - std::string get_uri( const std::string &path ) { return std::string(""); }; + virtual ~_EmptyLogConfigUri() {}; + std::string get_uri( const std::string &path ) { + return std::string(""); }; - struct LogConfigFactoryHolder { - void *library; - LogConfigFactory factory; - LogConfigFactoryHolder(): library(NULL), factory(NULL){}; - ~LogConfigFactoryHolder() { +}; + +struct LogConfigFactoryHolder { + void *library; + LogConfigFactory factory; + LogConfigFactoryHolder(): library(NULL), factory(NULL) {}; + ~LogConfigFactoryHolder() { close(); - }; - void close() { + }; + void close() { if (library) dlclose(library); library=NULL; - } - }; + } +}; + +static LogConfigUriResolverPtr _logcfg_resolver; +static LogConfigFactoryHolder _logcfg; - static LogConfigUriResolverPtr _logcfg_resolver; - static LogConfigFactoryHolder _logcfg; +void _LoadLogConfigUriLibrary() { - void _LoadLogConfigUriLibrary() { + // multiple dlopens return the same instance so we need to close each time + if ( _logcfg.library ) _logcfg.close(); - // multiple dlopens return the same instance so we need to close each time - if ( _logcfg.library ) _logcfg.close(); - - try{ + try { void* log_library = dlopen("libossielogcfg.so", RTLD_LAZY); if (!log_library) { - RH_NL_DEBUG("ossie.logging", "Cannot load library (libossielogcfg.so) : " << dlerror() ); - throw 1; + RH_NL_DEBUG("ossie.logging", "Cannot load library (libossielogcfg.so) : " << dlerror() ); + throw 1; } _logcfg.library=log_library; // reset errors dlerror(); - + // load the symbols ossie::logging::LogConfigFactory logcfg_factory = (ossie::logging::LogConfigFactory) dlsym(log_library, "logcfg_factory"); const char* dlsym_error = dlerror(); if (dlsym_error) { - RH_NL_ERROR( "ossie.logging", "Cannot find logcfg_factory symbol in libossielogcfg.so library: " << dlsym_error); - throw 2; + RH_NL_ERROR( "ossie.logging", "Cannot find logcfg_factory symbol in libossielogcfg.so library: " << dlsym_error); + throw 2; } _logcfg.factory=logcfg_factory; RH_NL_DEBUG( "ossie.logging", "ossie.logging: Found libossielogcfg.so for LOGGING_CONFIG_URI resolution." ); - } - catch( std::exception &e){ - } - catch( int e){ + } + catch( std::exception &e) { + } + catch( int e) { if ( e == 2 ) { // library symbol look up error - if ( _logcfg.library ) dlclose(_logcfg.library); - _logcfg.library = 0; + if ( _logcfg.library ) dlclose(_logcfg.library); + _logcfg.library = 0; } - - } } +} - LogConfigUriResolverPtr GetLogConfigUriResolver() { - - if ( !_logcfg_resolver ) { - _LoadLogConfigUriLibrary(); - } - - if ( !_logcfg_resolver ) { - // if the library is missing use empty resolver for backwards compatability - if ( !_logcfg.factory ) return LogConfigUriResolverPtr( new _EmptyLogConfigUri() ); - _logcfg_resolver = _logcfg.factory(); - } - - return _logcfg_resolver; - } - - - std::string GetComponentPath( const std::string &dm, - const std::string &wf, - const std::string &cid ) { - std::ostringstream os; - os << ComponentPrefix << ":" << dm << "/" << wf << "/" << cid; - return os.str(); - } - - std::string GetDeviceMgrPath( const std::string &dm, - const std::string &node ) { - std::ostringstream os; - os << DevMgrPrefix << ":" << dm << "/" << node ; - return os.str(); - } +LogConfigUriResolverPtr GetLogConfigUriResolver() { - std::string GetDevicePath( const std::string &dm, - const std::string &node, - const std::string &dev_id) { - std::ostringstream os; - os << DevicePrefix << ":" << dm << "/" << node << "/" << dev_id; - return os.str(); + if ( !_logcfg_resolver ) { + _LoadLogConfigUriLibrary(); } - std::string GetServicePath( const std::string &dm, - const std::string &node, - const std::string &sname) { - std::ostringstream os; - os << ServicePrefix << ":" << dm << "/" << node << "/" << sname; - return os.str(); - } - - - - MacroTable GetDefaultMacros() { - MacroTable ctx; - ctx["@@@HOST.NAME@@@"] = "HOST.NO_NAME"; - ctx["@@@HOST.IP@@@"] = "HOST.NO_IP"; - ctx["@@@NAME@@@"] = "NO_NAME"; - ctx["@@@INSTANCE@@@"] = "NO_INST"; - ctx["@@@PID@@@"] = "NO_PID"; - ctx["@@@DOMAIN.NAME@@@"] = "DOMAIN.NO_NAME"; - ctx["@@@DOMAIN.PATH@@@"] = "DOMAIN.PATH"; - ctx["@@@DEVICE_MANAGER.NAME@@@"] = "DEV_MGR.NO_NAME"; - ctx["@@@DEVICE_MANAGER.INSTANCE@@@"] = "DEV_MGR.NO_INST"; - ctx["@@@SERVICE.NAME@@@"] = "SERVICE.NO_NAME"; - ctx["@@@SERVICE.INSTANCE@@@"] = "SERVICE.NO_INST"; - ctx["@@@SERVICE.PID@@@"] = "SERVICE.NO_PID"; - ctx["@@@DEVICE.NAME@@@"] = "DEVICE.NO_NAME"; - ctx["@@@DEVICE.INSTANCE@@@"] = "DEVICE.NO_INST"; - ctx["@@@DEVICE.PID@@@"] = "DEVICE.NO_PID"; - ctx["@@@WAVEFORM.NAME@@@"] = "WAVEFORM.NO_NAME"; - ctx["@@@WAVEFORM.INSTANCE@@@"] = "WAVEFORM.NO_INST"; - ctx["@@@COMPONENT.NAME@@@"] = "COMPONENT.NO_NAME"; - ctx["@@@COMPONENT.INSTANCE@@@"] = "COMPONENT.NO_INST"; - ctx["@@@COMPONENT.PID@@@"] = "COMPONENT.NO_PID"; - return ctx; + if ( !_logcfg_resolver ) { + // if the library is missing use empty resolver for backwards compatability + if ( !_logcfg.factory ) return LogConfigUriResolverPtr( new _EmptyLogConfigUri() ); + _logcfg_resolver = _logcfg.factory(); } - - static std::vector< std::string > split_path( const std::string &dpath ) { - std::string tpath=dpath; - if ( dpath[0] == '/' ) + return _logcfg_resolver; +} + + +std::string GetComponentPath( const std::string &dm, + const std::string &wf, + const std::string &cid ) { + std::ostringstream os; + os << ComponentPrefix << ":" << dm << "/" << wf << "/" << cid; + return os.str(); +} + +std::string GetDeviceMgrPath( const std::string &dm, + const std::string &node ) { + std::ostringstream os; + os << DevMgrPrefix << ":" << dm << "/" << node ; + return os.str(); +} + +std::string GetDevicePath( const std::string &dm, + const std::string &node, + const std::string &dev_id) { + std::ostringstream os; + os << DevicePrefix << ":" << dm << "/" << node << "/" << dev_id; + return os.str(); +} + +std::string GetServicePath( const std::string &dm, + const std::string &node, + const std::string &sname) { + std::ostringstream os; + os << ServicePrefix << ":" << dm << "/" << node << "/" << sname; + return os.str(); +} + + + + +MacroTable GetDefaultMacros() { + MacroTable ctx; + ctx["@@@HOST.NAME@@@"] = "HOST.NO_NAME"; + ctx["@@@HOST.IP@@@"] = "HOST.NO_IP"; + ctx["@@@NAME@@@"] = "NO_NAME"; + ctx["@@@INSTANCE@@@"] = "NO_INST"; + ctx["@@@PID@@@"] = "NO_PID"; + ctx["@@@DOMAIN.NAME@@@"] = "DOMAIN.NO_NAME"; + ctx["@@@DOMAIN.PATH@@@"] = "DOMAIN.PATH"; + ctx["@@@DEVICE_MANAGER.NAME@@@"] = "DEV_MGR.NO_NAME"; + ctx["@@@DEVICE_MANAGER.INSTANCE@@@"] = "DEV_MGR.NO_INST"; + ctx["@@@SERVICE.NAME@@@"] = "SERVICE.NO_NAME"; + ctx["@@@SERVICE.INSTANCE@@@"] = "SERVICE.NO_INST"; + ctx["@@@SERVICE.PID@@@"] = "SERVICE.NO_PID"; + ctx["@@@DEVICE.NAME@@@"] = "DEVICE.NO_NAME"; + ctx["@@@DEVICE.INSTANCE@@@"] = "DEVICE.NO_INST"; + ctx["@@@DEVICE.PID@@@"] = "DEVICE.NO_PID"; + ctx["@@@WAVEFORM.NAME@@@"] = "WAVEFORM.NO_NAME"; + ctx["@@@WAVEFORM.INSTANCE@@@"] = "WAVEFORM.NO_INST"; + ctx["@@@COMPONENT.NAME@@@"] = "COMPONENT.NO_NAME"; + ctx["@@@COMPONENT.INSTANCE@@@"] = "COMPONENT.NO_INST"; + ctx["@@@COMPONENT.PID@@@"] = "COMPONENT.NO_PID"; + return ctx; +} + + +static std::vector< std::string > split_path( const std::string &dpath ) { + std::string tpath=dpath; + if ( dpath[0] == '/' ) tpath=dpath.substr(1); - std::vector< std::string > t; - // path should be /domain/ - boost::algorithm::split( t, tpath, boost::is_any_of("/") ); - return t; + std::vector< std::string > t; + // path should be /domain/ + boost::algorithm::split( t, tpath, boost::is_any_of("/") ); + return t; +} + +ResourceCtx::ResourceCtx( const std::string &rname, + const std::string &rid, + const std::string &dpath ) { + + name = rname; + instance_id = rid; + dom_path = dpath; + + // split path + std::vector< std::string > t = split_path(dpath); + if ( t.size() > 1 ) { + domain_name = t[0]; } +} - ResourceCtx::ResourceCtx( const std::string &rname, - const std::string &rid, - const std::string &dpath ) { - - name = rname; - instance_id = rid; - dom_path = dpath; - - // split path - std::vector< std::string > t = split_path(dpath); - if ( t.size() > 1 ) { - domain_name = t[0]; - } - } +void ResourceCtx::apply( MacroTable &tbl ) { + SetResourceInfo( tbl, *this ); +} - void ResourceCtx::apply( MacroTable &tbl ) { - SetResourceInfo( tbl, *this ); - } +void ResourceCtx::configure( const std::string &logcfg_uri, int debugLevel ) { + Configure( logcfg_uri, debugLevel, this ); +}; - void ResourceCtx::configure( const std::string &logcfg_uri, int debugLevel ) { - Configure( logcfg_uri, debugLevel, this ); - }; +DomainCtx::DomainCtx( const std::string &appName, + const std::string &domName, + const std::string &domPath ): + ResourceCtx(appName, "DOMAIN_MANAGER_1", domName+"/"+domName) +{ + rootPath=domPath; +} - DomainCtx::DomainCtx( const std::string &appName, - const std::string &domName, - const std::string &domPath ): - ResourceCtx(appName, "DOMAIN_MANAGER_1", domName+"/"+domName) - { - rootPath=domPath; - } - - void DomainCtx::apply( MacroTable &tbl ) { - SetResourceInfo( tbl, *this ); - } +void DomainCtx::apply( MacroTable &tbl ) { + SetResourceInfo( tbl, *this ); +} - std::string DomainCtx::getLogCfgUri( const std::string &log_uri ) { - std::string val_uri; - return ResolveLocalUri(log_uri, rootPath, val_uri); - } +std::string DomainCtx::getLogCfgUri( const std::string &log_uri ) { + std::string val_uri; + return ResolveLocalUri(log_uri, rootPath, val_uri); +} - void DomainCtx::configure( const std::string &log_uri, int level, std::string &validated_uri ) { - std::string local_uri= ResolveLocalUri(log_uri, rootPath, validated_uri); - Configure( local_uri, level, this ); - } +void DomainCtx::configure( const std::string &log_uri, int level, std::string &validated_uri ) { + std::string local_uri= ResolveLocalUri(log_uri, rootPath, validated_uri); + Configure( local_uri, level, this ); +} - ComponentCtx::ComponentCtx( const std::string &cname, - const std::string &cid, - const std::string &dpath ): - ResourceCtx(cname, cid, dpath) - { +ComponentCtx::ComponentCtx( const std::string &cname, + const std::string &cid, + const std::string &dpath ): + ResourceCtx(cname, cid, dpath) +{ - // path should be /domain/waveform - std::vector< std::string > t = split_path(dpath); - int n=0; - if ( t.size() > 1 ) { + // path should be /domain/waveform + std::vector< std::string > t = split_path(dpath); + int n=0; + if ( t.size() > 1 ) { domain_name = t[n]; n++; - } - if ( t.size() > 0 ) { + } + if ( t.size() > 0 ) { waveform = t[n]; waveform_id = t[n]; - } -#if 0 - std::cout << "ComponentCtx: dpath " << dpath << std::endl; - std::cout << "ComponentCtx: name/id" << name << "/" << instance_id << std::endl; - std::cout << "ComponentCtx: domain/waveform" << domain_name << "/" << waveform << std::endl; -#endif } - - void ComponentCtx::apply( MacroTable &tbl ) { - SetComponentInfo( tbl, *this ); - } - - ServiceCtx::ServiceCtx( const std::string &sname, - const std::string &dpath ) : - ResourceCtx(sname,"",dpath) - { - // path should be /domain/devmgr - std::vector< std::string > t = split_path(dpath); - int n=0; - if ( t.size() > 1 ) { +#if 0 + std::cout << "ComponentCtx: dpath " << dpath << std::endl; + std::cout << "ComponentCtx: name/id" << name << "/" << instance_id << std::endl; + std::cout << "ComponentCtx: domain/waveform" << domain_name << "/" << waveform << std::endl; +#endif +} + +void ComponentCtx::apply( MacroTable &tbl ) { + SetComponentInfo( tbl, *this ); +} + +ServiceCtx::ServiceCtx( const std::string &sname, + const std::string &dpath ) : + ResourceCtx(sname,"",dpath) +{ + // path should be /domain/devmgr + std::vector< std::string > t = split_path(dpath); + int n=0; + if ( t.size() > 1 ) { domain_name = t[n]; n++; - } - if ( t.size() > 0 ) { - device_mgr = t[n]; - } } - - void ServiceCtx::apply( MacroTable &tbl ) { - SetServiceInfo( tbl, *this ); + if ( t.size() > 0 ) { + device_mgr = t[n]; } - - DeviceCtx::DeviceCtx( const std::string &dname, - const std::string &did, - const std::string &dpath ) : - ResourceCtx(dname,did,dpath) - { - // path should be /domain/devmgr - std::vector< std::string > t = split_path(dpath); - int n=0; - if ( t.size() > 1 ) { +} + +void ServiceCtx::apply( MacroTable &tbl ) { + SetServiceInfo( tbl, *this ); +} + +DeviceCtx::DeviceCtx( const std::string &dname, + const std::string &did, + const std::string &dpath ) : + ResourceCtx(dname,did,dpath) +{ + // path should be /domain/devmgr + std::vector< std::string > t = split_path(dpath); + int n=0; + if ( t.size() > 1 ) { domain_name = t[n]; n++; - } - if ( t.size() > 0 ) { - device_mgr = t[n]; - } - - pid_t ppid = getppid(); - std::ostringstream os; - os << domain_name << ":" << boost::asio::ip::host_name() << ":" << device_mgr << "_" << ppid; - device_mgr_id = os.str(); } - - void DeviceCtx::apply( MacroTable &tbl ) { - SetDeviceInfo( tbl, *this ); + if ( t.size() > 0 ) { + device_mgr = t[n]; } - DeviceMgrCtx::DeviceMgrCtx( const std::string &nodeName, - const std::string &domName, - const std::string &devPath ) : - ResourceCtx(nodeName,domName+":"+nodeName, domName+"/"+nodeName) - { - rootPath=devPath; - // path should be /domain/devmgr - std::vector< std::string > t = split_path(dom_path); - int n=0; - if ( t.size() > 0 ) { + pid_t ppid = getppid(); + std::ostringstream os; + os << domain_name << ":" << boost::asio::ip::host_name() << ":" << device_mgr << "_" << ppid; + device_mgr_id = os.str(); +} + +void DeviceCtx::apply( MacroTable &tbl ) { + SetDeviceInfo( tbl, *this ); +} + +DeviceMgrCtx::DeviceMgrCtx( const std::string &nodeName, + const std::string &domName, + const std::string &devPath ) : + ResourceCtx(nodeName,domName+":"+nodeName, domName+"/"+nodeName) +{ + rootPath=devPath; + // path should be /domain/devmgr + std::vector< std::string > t = split_path(dom_path); + int n=0; + if ( t.size() > 0 ) { domain_name = t[n]; n++; - } - pid_t pid = getpid(); - std::ostringstream os; - os << domain_name << ":" << boost::asio::ip::host_name() << ":" << nodeName << "_" << pid; - instance_id = os.str(); } + pid_t pid = getpid(); + std::ostringstream os; + os << domain_name << ":" << boost::asio::ip::host_name() << ":" << nodeName << "_" << pid; + instance_id = os.str(); +} - void DeviceMgrCtx::apply( MacroTable &tbl ) { - SetDeviceMgrInfo( tbl, *this ); - } +void DeviceMgrCtx::apply( MacroTable &tbl ) { + SetDeviceMgrInfo( tbl, *this ); +} - std::string DeviceMgrCtx::getLogCfgUri( const std::string &log_uri ) { - std::string val_uri; - return ResolveLocalUri(log_uri, rootPath, val_uri); - } +std::string DeviceMgrCtx::getLogCfgUri( const std::string &log_uri ) { + std::string val_uri; + return ResolveLocalUri(log_uri, rootPath, val_uri); +} + +void DeviceMgrCtx::configure( const std::string &log_uri, int level, std::string &validated_uri ) { + std::string local_uri= ResolveLocalUri(log_uri, rootPath, validated_uri); + Configure( local_uri, level, this ); +} - void DeviceMgrCtx::configure( const std::string &log_uri, int level, std::string &validated_uri ) { - std::string local_uri= ResolveLocalUri(log_uri, rootPath, validated_uri); - Configure( local_uri, level, this ); - } +void ResolveHostInfo( MacroTable &tbl ) { + std::string hname("unknown"); + std::string ipaddr("unknown"); + char buf[256]; - void ResolveHostInfo( MacroTable &tbl ) { - std::string hname("unknown"); - std::string ipaddr("unknown"); - char buf[256]; - - if (gethostname(buf,sizeof buf) == 0 ){ + if (gethostname(buf,sizeof buf) == 0 ) { hname = buf; struct addrinfo hints, *res; @@ -404,301 +406,301 @@ namespace ossie { hints.ai_family = AF_INET; if ( getaddrinfo(buf, NULL, &hints, &res) == 0) { - addr.s_addr = ((struct sockaddr_in *)(res->ai_addr))->sin_addr.s_addr; - ipaddr = inet_ntoa(addr); - freeaddrinfo(res); + addr.s_addr = ((struct sockaddr_in *)(res->ai_addr))->sin_addr.s_addr; + ipaddr = inet_ntoa(addr); + freeaddrinfo(res); } - } - - tbl["@@@HOST.NAME@@@"] = hname; - tbl["@@@HOST.IP@@@"] = ipaddr; - } - - void SetResourceInfo( MacroTable &tbl, const ResourceCtx &ctx ){ - tbl["@@@DOMAIN.NAME@@@"] = boost::replace_all_copy( ctx.domain_name, ":", "-" ); - tbl["@@@DOMAIN.PATH@@@"] = boost::replace_all_copy( ctx.dom_path, ":", "-" ); - tbl["@@@NAME@@@"] = boost::replace_all_copy( ctx.name, ":", "-" ); - tbl["@@@INSTANCE@@@"] = boost::replace_all_copy( ctx.instance_id, ":", "-" ); - pid_t pid = getpid(); - std::ostringstream os; - os << pid; - tbl["@@@PID@@@"] = os.str(); - } - - void SetComponentInfo( MacroTable &tbl, const ComponentCtx &ctx ){ - SetResourceInfo( tbl, ctx ); - tbl["@@@WAVEFORM.NAME@@@"] = boost::replace_all_copy( ctx.waveform, ":", "-" ); - tbl["@@@WAVEFORM.ID@@@"] = boost::replace_all_copy( ctx.waveform_id, ":", "-" ); - tbl["@@@WAVEFORM.INSTANCE@@@"] = boost::replace_all_copy( ctx.waveform_id, ":", "-" ); - tbl["@@@COMPONENT.NAME@@@"] = boost::replace_all_copy( ctx.name, ":", "-" ); - tbl["@@@COMPONENT.INSTANCE@@@"] = boost::replace_all_copy( ctx.instance_id, ":", "-" ); - pid_t pid = getpid(); - std::ostringstream os; - os << pid; - tbl["@@@COMPONENT.PID@@@"] = os.str(); - } - - void SetServiceInfo( MacroTable &tbl, const ServiceCtx & ctx ) { - SetResourceInfo( tbl, ctx ); - tbl["@@@DEVICE_MANAGER.NAME@@@"] = boost::replace_all_copy( ctx.device_mgr, ":", "-" ); - tbl["@@@DEVICE_MANAGER.INSTANCE@@@"] = boost::replace_all_copy( ctx.device_mgr_id, ":", "-" ); - tbl["@@@SERVICE.NAME@@@"] = boost::replace_all_copy( ctx.name, ":", "-" ); - tbl["@@@SERVICE.INSTANCE@@@"] = boost::replace_all_copy( ctx.instance_id, ":", "-" ); - pid_t pid = getpid(); - std::ostringstream os; - os << pid; - tbl["@@@SERVICE.PID@@@"] = os.str(); - } - - void SetDeviceInfo( MacroTable &tbl, const DeviceCtx & ctx ) { - SetResourceInfo( tbl, ctx ); - tbl["@@@DEVICE_MANAGER.NAME@@@"] = boost::replace_all_copy( ctx.device_mgr, ":", "-" ); - tbl["@@@DEVICE_MANAGER.INSTANCE@@@"] = boost::replace_all_copy( ctx.device_mgr_id, ":", "-" ); - tbl["@@@DEVICE.NAME@@@"] = boost::replace_all_copy( ctx.name, ":", "-" ); - tbl["@@@DEVICE.INSTANCE@@@"] = boost::replace_all_copy( ctx.instance_id, ":", "-" ); - pid_t pid = getpid(); - std::ostringstream os; - os << pid; - tbl["@@@DEVICE.PID@@@"] = os.str(); - } - - void SetDeviceMgrInfo( MacroTable &tbl, const DeviceMgrCtx & ctx ) { - SetResourceInfo( tbl, ctx ); - tbl["@@@DEVICE_MANAGER.NAME@@@"] = boost::replace_all_copy( ctx.name, ":", "-" ); - tbl["@@@DEVICE_MANAGER.INSTANCE@@@"] = boost::replace_all_copy( ctx.instance_id, ":", "-" ); } - static std::string ReplaceString(std::string subject, const std::string& search, - const std::string& replace) { - size_t pos = 0; - while((pos = subject.find(search, pos)) != std::string::npos) { + tbl["@@@HOST.NAME@@@"] = hname; + tbl["@@@HOST.IP@@@"] = ipaddr; +} + +void SetResourceInfo( MacroTable &tbl, const ResourceCtx &ctx ) { + tbl["@@@DOMAIN.NAME@@@"] = boost::replace_all_copy( ctx.domain_name, ":", "-" ); + tbl["@@@DOMAIN.PATH@@@"] = boost::replace_all_copy( ctx.dom_path, ":", "-" ); + tbl["@@@NAME@@@"] = boost::replace_all_copy( ctx.name, ":", "-" ); + tbl["@@@INSTANCE@@@"] = boost::replace_all_copy( ctx.instance_id, ":", "-" ); + pid_t pid = getpid(); + std::ostringstream os; + os << pid; + tbl["@@@PID@@@"] = os.str(); +} + +void SetComponentInfo( MacroTable &tbl, const ComponentCtx &ctx ) { + SetResourceInfo( tbl, ctx ); + tbl["@@@WAVEFORM.NAME@@@"] = boost::replace_all_copy( ctx.waveform, ":", "-" ); + tbl["@@@WAVEFORM.ID@@@"] = boost::replace_all_copy( ctx.waveform_id, ":", "-" ); + tbl["@@@WAVEFORM.INSTANCE@@@"] = boost::replace_all_copy( ctx.waveform_id, ":", "-" ); + tbl["@@@COMPONENT.NAME@@@"] = boost::replace_all_copy( ctx.name, ":", "-" ); + tbl["@@@COMPONENT.INSTANCE@@@"] = boost::replace_all_copy( ctx.instance_id, ":", "-" ); + pid_t pid = getpid(); + std::ostringstream os; + os << pid; + tbl["@@@COMPONENT.PID@@@"] = os.str(); +} + +void SetServiceInfo( MacroTable &tbl, const ServiceCtx & ctx ) { + SetResourceInfo( tbl, ctx ); + tbl["@@@DEVICE_MANAGER.NAME@@@"] = boost::replace_all_copy( ctx.device_mgr, ":", "-" ); + tbl["@@@DEVICE_MANAGER.INSTANCE@@@"] = boost::replace_all_copy( ctx.device_mgr_id, ":", "-" ); + tbl["@@@SERVICE.NAME@@@"] = boost::replace_all_copy( ctx.name, ":", "-" ); + tbl["@@@SERVICE.INSTANCE@@@"] = boost::replace_all_copy( ctx.instance_id, ":", "-" ); + pid_t pid = getpid(); + std::ostringstream os; + os << pid; + tbl["@@@SERVICE.PID@@@"] = os.str(); +} + +void SetDeviceInfo( MacroTable &tbl, const DeviceCtx & ctx ) { + SetResourceInfo( tbl, ctx ); + tbl["@@@DEVICE_MANAGER.NAME@@@"] = boost::replace_all_copy( ctx.device_mgr, ":", "-" ); + tbl["@@@DEVICE_MANAGER.INSTANCE@@@"] = boost::replace_all_copy( ctx.device_mgr_id, ":", "-" ); + tbl["@@@DEVICE.NAME@@@"] = boost::replace_all_copy( ctx.name, ":", "-" ); + tbl["@@@DEVICE.INSTANCE@@@"] = boost::replace_all_copy( ctx.instance_id, ":", "-" ); + pid_t pid = getpid(); + std::ostringstream os; + os << pid; + tbl["@@@DEVICE.PID@@@"] = os.str(); +} + +void SetDeviceMgrInfo( MacroTable &tbl, const DeviceMgrCtx & ctx ) { + SetResourceInfo( tbl, ctx ); + tbl["@@@DEVICE_MANAGER.NAME@@@"] = boost::replace_all_copy( ctx.name, ":", "-" ); + tbl["@@@DEVICE_MANAGER.INSTANCE@@@"] = boost::replace_all_copy( ctx.instance_id, ":", "-" ); +} + +static std::string ReplaceString(std::string subject, const std::string& search, + const std::string& replace) { + size_t pos = 0; + while((pos = subject.find(search, pos)) != std::string::npos) { subject.replace(pos, search.length(), replace); pos += replace.length(); - } - return subject; } - - // - // ExpandMacros - // - // Process contents of src against of set of macro definitions contained in ctx. - // The contents of ctx will be searched in the src string and their values - // replaced with the contents of the their map. - // - // @return string object containing any subsitutions - // + return subject; +} + +// +// ExpandMacros +// +// Process contents of src against of set of macro definitions contained in ctx. +// The contents of ctx will be searched in the src string and their values +// replaced with the contents of the their map. +// +// @return string object containing any subsitutions +// #ifndef USE_REGEX - std::string ExpandMacros ( const std::string &src, const MacroTable &tbl ) - { - MacroTable::const_iterator iter=tbl.begin(); - std::string target; - target = src; - for(; iter != tbl.end(); iter++ ) { +std::string ExpandMacros ( const std::string &src, const MacroTable &tbl ) +{ + MacroTable::const_iterator iter=tbl.begin(); + std::string target; + target = src; + for(; iter != tbl.end(); iter++ ) { std::string res; res = ReplaceString( target, iter->first, iter->second ); target=res; - } - - return target; } + + return target; +} #else +// +// ExpandMacros +// +// Process contents of src against of set of macro definitions contained in ctx. +// The contents of ctx will be used to generate a set of regular expressions that can +// search src for tokens and substitute their contents. +// +// @return string object containing any subsitutions +// +std::string ExpandMacros ( const std::string &src, const MacroTable &ctx ) +{ // - // ExpandMacros + // create regular expression and substitutions + // from context map // - // Process contents of src against of set of macro definitions contained in ctx. - // The contents of ctx will be used to generate a set of regular expressions that can - // search src for tokens and substitute their contents. - // - // @return string object containing any subsitutions - // - std::string ExpandMacros ( const std::string &src, const MacroTable &ctx ) + MacroTable::const_iterator iter=ctx.begin(); + boost::regex e1; + std::string token_exp; // create list of regex to search for + std::string match_exp; // create list of substitutions when match occurrs { - // - // create regular expression and substitutions - // from context map - // - MacroTable::const_iterator iter=ctx.begin(); - boost::regex e1; - std::string token_exp; // create list of regex to search for - std::string match_exp; // create list of substitutions when match occurrs - { std::ostringstream tk; std::ostringstream mo; int cnt=1; for( ; iter != ctx.end(); iter++, cnt++ ) { - tk << "(" << iter->first << ")|"; - mo << "(?" << cnt << iter->second << ")"; + tk << "(" << iter->first << ")|"; + mo << "(?" << cnt << iter->second << ")"; } -#if 0 +#if 0 std::cout << " token_exp:" << tk.str() << std::endl; std::cout << " mo:" << mo.str() << std::endl; #endif token_exp=tk.str(); match_exp=mo.str(); - } + } - e1.assign(token_exp); + e1.assign(token_exp); #if 0 - std::string out_name(fileName + std::string(".htm")); - std::ofstream os(out_name.c_str()); + std::string out_name(fileName + std::string(".htm")); + std::ofstream os(out_name.c_str()); #endif - // need stream... - std::ostringstream convertedText(std::ios::out | std::ios::binary); - std::ostream_iterator oi(convertedText); + // need stream... + std::ostringstream convertedText(std::ios::out | std::ios::binary); + std::ostream_iterator oi(convertedText); - // process regex against source text - boost::regex_replace(oi, src.begin(), src.end(),e1, match_exp, boost::match_default | boost::format_all); + // process regex against source text + boost::regex_replace(oi, src.begin(), src.end(),e1, match_exp, boost::match_default | boost::format_all); #if 0 - std::cout << "IN: >>" << src << std::endl; - std::cout << "<<>" << convertedText.str() << std::endl; - std::cout << "<<>" << src << std::endl; + std::cout << "<<>" << convertedText.str() << std::endl; + std::cout << "<< 0 ) { +static std::string _saveConfig ( const std::string &fc ) { + char xx[32]; + std::strcpy(xx,"XX.rhlog.XXXXXX"); + int fd; + if ( (fd = mkstemp(xx)) > 0 ) { write( fd, fc.c_str(), fc.size() ); close(fd); - } - return std::string(xx); } - - rh_logger::LevelPtr ConvertCanonicalLevelToRHLevel ( const std::string &txt_level ) { - if ( txt_level == "OFF" ) return rh_logger::Level::getOff(); - if ( txt_level == "FATAL" ) return rh_logger::Level::getFatal(); - if ( txt_level == "ERROR" ) return rh_logger::Level::getError(); - if ( txt_level == "WARN" ) return rh_logger::Level::getWarn(); - if ( txt_level == "INFO" ) return rh_logger::Level::getInfo(); - if ( txt_level == "DEBUG" ) return rh_logger::Level::getDebug(); - if ( txt_level == "TRACE") return rh_logger::Level::getTrace(); - if ( txt_level == "ALL" ) return rh_logger::Level::getAll(); - return rh_logger::Level::getInfo(); - }; - - int ConvertRHLevelToCFLevel ( rh_logger::LevelPtr l4_level ) { - if (l4_level == rh_logger::Level::getOff() ) return CF::LogLevels::OFF; - if (l4_level == rh_logger::Level::getFatal() ) return CF::LogLevels::FATAL; - if (l4_level == rh_logger::Level::getError() ) return CF::LogLevels::ERROR; - if (l4_level == rh_logger::Level::getWarn() ) return CF::LogLevels::WARN; - if (l4_level == rh_logger::Level::getInfo() ) return CF::LogLevels::INFO; - if (l4_level == rh_logger::Level::getDebug() ) return CF::LogLevels::DEBUG; - if (l4_level == rh_logger::Level::getTrace() ) return CF::LogLevels::TRACE; - if (l4_level == rh_logger::Level::getAll() ) return CF::LogLevels::ALL; - return CF::LogLevels::INFO; - }; - - - int ConvertRHLevelToDebug ( rh_logger::LevelPtr rh_level ) { - if (rh_level == rh_logger::Level::getFatal() ) return 0; - if (rh_level == rh_logger::Level::getError() ) return 1; - if (rh_level == rh_logger::Level::getWarn() ) return 2; - if (rh_level == rh_logger::Level::getInfo() ) return 3; - if (rh_level == rh_logger::Level::getDebug() ) return 4; - if (rh_level == rh_logger::Level::getTrace() ) return 5; - if (rh_level == rh_logger::Level::getAll() ) return 5; - return 3; - }; - - rh_logger::LevelPtr ConvertCFLevelToRHLevel ( int newlevel ) { - if ( newlevel == CF::LogLevels::OFF ) return rh_logger::Level::getOff(); - if ( newlevel == CF::LogLevels::FATAL ) return rh_logger::Level::getFatal(); - if ( newlevel == CF::LogLevels::ERROR ) return rh_logger::Level::getError(); - if ( newlevel == CF::LogLevels::WARN ) return rh_logger::Level::getWarn(); - if ( newlevel == CF::LogLevels::INFO ) return rh_logger::Level::getInfo(); - if ( newlevel == CF::LogLevels::DEBUG ) return rh_logger::Level::getDebug(); - if ( newlevel == CF::LogLevels::TRACE) return rh_logger::Level::getTrace(); - if ( newlevel == CF::LogLevels::ALL ) return rh_logger::Level::getAll(); - return rh_logger::Level::getInfo(); - } - - CF::LogLevel ConvertDebugToCFLevel ( const int oldstyle_level ) { - if ( oldstyle_level == 0 ) return CF::LogLevels::FATAL; - if ( oldstyle_level == 1 ) return CF::LogLevels::ERROR; - if ( oldstyle_level == 2 ) return CF::LogLevels::WARN; - if ( oldstyle_level == 3 ) return CF::LogLevels::INFO; - if ( oldstyle_level == 4 ) return CF::LogLevels::DEBUG; - if ( oldstyle_level == 5) return CF::LogLevels::ALL; - return CF::LogLevels::INFO; - } - - rh_logger::LevelPtr ConvertDebugToRHLevel ( const int oldstyle_level ) { - if ( oldstyle_level == 0 ) return rh_logger::Level::getFatal(); - if ( oldstyle_level == 1 ) return rh_logger::Level::getError(); - if ( oldstyle_level == 2 ) return rh_logger::Level::getWarn(); - if ( oldstyle_level == 3 ) return rh_logger::Level::getInfo(); - if ( oldstyle_level == 4 ) return rh_logger::Level::getDebug(); - if ( oldstyle_level == 5) return rh_logger::Level::getAll(); - return rh_logger::Level::getInfo(); - } - - - - void SetLevel( const std::string &logid, int debugLevel) { - STDOUT_DEBUG( " Setting Logger:" << logid << " OLD STYLE Level:" << debugLevel ); - SetLogLevel( logid, ConvertDebugToCFLevel(debugLevel)); - STDOUT_DEBUG( " Setting Logger: END " << logid << " OLD STYLE Level:" << debugLevel ); - } - - - void SetLogLevel( const std::string &logid, const rh_logger::LevelPtr &newLevel ) { - - STDOUT_DEBUG(" Setting Logger: START log:" << logid << " NEW Level:" << newLevel->toString() ); - rh_logger::LoggerPtr logger; - if ( logid == "" ) { + return std::string(xx); +} + +rh_logger::LevelPtr ConvertCanonicalLevelToRHLevel ( const std::string &txt_level ) { + if ( txt_level == "OFF" ) return rh_logger::Level::getOff(); + if ( txt_level == "FATAL" ) return rh_logger::Level::getFatal(); + if ( txt_level == "ERROR" ) return rh_logger::Level::getError(); + if ( txt_level == "WARN" ) return rh_logger::Level::getWarn(); + if ( txt_level == "INFO" ) return rh_logger::Level::getInfo(); + if ( txt_level == "DEBUG" ) return rh_logger::Level::getDebug(); + if ( txt_level == "TRACE") return rh_logger::Level::getTrace(); + if ( txt_level == "ALL" ) return rh_logger::Level::getAll(); + return rh_logger::Level::getInfo(); +}; + +int ConvertRHLevelToCFLevel ( rh_logger::LevelPtr l4_level ) { + if (l4_level == rh_logger::Level::getOff() ) return CF::LogLevels::OFF; + if (l4_level == rh_logger::Level::getFatal() ) return CF::LogLevels::FATAL; + if (l4_level == rh_logger::Level::getError() ) return CF::LogLevels::ERROR; + if (l4_level == rh_logger::Level::getWarn() ) return CF::LogLevels::WARN; + if (l4_level == rh_logger::Level::getInfo() ) return CF::LogLevels::INFO; + if (l4_level == rh_logger::Level::getDebug() ) return CF::LogLevels::DEBUG; + if (l4_level == rh_logger::Level::getTrace() ) return CF::LogLevels::TRACE; + if (l4_level == rh_logger::Level::getAll() ) return CF::LogLevels::ALL; + return CF::LogLevels::INFO; +}; + + +int ConvertRHLevelToDebug ( rh_logger::LevelPtr rh_level ) { + if (rh_level == rh_logger::Level::getFatal() ) return 0; + if (rh_level == rh_logger::Level::getError() ) return 1; + if (rh_level == rh_logger::Level::getWarn() ) return 2; + if (rh_level == rh_logger::Level::getInfo() ) return 3; + if (rh_level == rh_logger::Level::getDebug() ) return 4; + if (rh_level == rh_logger::Level::getTrace() ) return 5; + if (rh_level == rh_logger::Level::getAll() ) return 5; + return 3; +}; + +rh_logger::LevelPtr ConvertCFLevelToRHLevel ( int newlevel ) { + if ( newlevel == CF::LogLevels::OFF ) return rh_logger::Level::getOff(); + if ( newlevel == CF::LogLevels::FATAL ) return rh_logger::Level::getFatal(); + if ( newlevel == CF::LogLevels::ERROR ) return rh_logger::Level::getError(); + if ( newlevel == CF::LogLevels::WARN ) return rh_logger::Level::getWarn(); + if ( newlevel == CF::LogLevels::INFO ) return rh_logger::Level::getInfo(); + if ( newlevel == CF::LogLevels::DEBUG ) return rh_logger::Level::getDebug(); + if ( newlevel == CF::LogLevels::TRACE) return rh_logger::Level::getTrace(); + if ( newlevel == CF::LogLevels::ALL ) return rh_logger::Level::getAll(); + return rh_logger::Level::getInfo(); +} + +CF::LogLevel ConvertDebugToCFLevel ( const int oldstyle_level ) { + if ( oldstyle_level == 0 ) return CF::LogLevels::FATAL; + if ( oldstyle_level == 1 ) return CF::LogLevels::ERROR; + if ( oldstyle_level == 2 ) return CF::LogLevels::WARN; + if ( oldstyle_level == 3 ) return CF::LogLevels::INFO; + if ( oldstyle_level == 4 ) return CF::LogLevels::DEBUG; + if ( oldstyle_level == 5) return CF::LogLevels::ALL; + return CF::LogLevels::INFO; +} + +rh_logger::LevelPtr ConvertDebugToRHLevel ( const int oldstyle_level ) { + if ( oldstyle_level == 0 ) return rh_logger::Level::getFatal(); + if ( oldstyle_level == 1 ) return rh_logger::Level::getError(); + if ( oldstyle_level == 2 ) return rh_logger::Level::getWarn(); + if ( oldstyle_level == 3 ) return rh_logger::Level::getInfo(); + if ( oldstyle_level == 4 ) return rh_logger::Level::getDebug(); + if ( oldstyle_level == 5) return rh_logger::Level::getAll(); + return rh_logger::Level::getInfo(); +} + + + +void SetLevel( const std::string &logid, int debugLevel) { + STDOUT_DEBUG( " Setting Logger:" << logid << " OLD STYLE Level:" << debugLevel ); + SetLogLevel( logid, ConvertDebugToCFLevel(debugLevel)); + STDOUT_DEBUG( " Setting Logger: END " << logid << " OLD STYLE Level:" << debugLevel ); +} + + +void SetLogLevel( const std::string &logid, const rh_logger::LevelPtr &newLevel ) { + + STDOUT_DEBUG(" Setting Logger: START log:" << logid << " NEW Level:" << newLevel->toString() ); + rh_logger::LoggerPtr logger; + if ( logid == "" ) { logger = rh_logger::Logger::getRootLogger(); - } - else { + } + else { logger = rh_logger::Logger::getLogger( logid ); - } - if ( logger ) { - STDOUT_DEBUG( " Setting Redhawk Logger Name/level <" << logid << "> Level:" << newLevel->toString() ); + } + if ( logger ) { + STDOUT_DEBUG( " Setting Redhawk Logger Name/level <" << logid << "> Level:" << newLevel->toString() ); logger->setLevel( newLevel ); - STDOUT_DEBUG( " Get name/level <" << logger->getName() << ">/" << logger->getLevel()->toString() ); - } - STDOUT_DEBUG( " Setting Logger: END log:" << logid << " NEW Level:" << newLevel->toString() ); + STDOUT_DEBUG( " Get name/level <" << logger->getName() << ">/" << logger->getLevel()->toString() ); } + STDOUT_DEBUG( " Setting Logger: END log:" << logid << " NEW Level:" << newLevel->toString() ); +} - void SetLogLevel( const std::string &logid, CF::LogLevel newLevel ) { +void SetLogLevel( const std::string &logid, CF::LogLevel newLevel ) { - STDOUT_DEBUG(" Setting Logger: START log:" << logid << " NEW Level:" << newLevel ); - rh_logger::LoggerPtr logger; - if ( logid == "" ) { + STDOUT_DEBUG(" Setting Logger: START log:" << logid << " NEW Level:" << newLevel ); + rh_logger::LoggerPtr logger; + if ( logid == "" ) { logger = rh_logger::Logger::getRootLogger(); - } - else { + } + else { logger = rh_logger::Logger::getLogger( logid ); - } - if ( logger ) { + } + if ( logger ) { rh_logger::LevelPtr level = ConvertCFLevelToRHLevel( newLevel); - STDOUT_DEBUG( " Setting Log4 Params id/level <" << logid << ">/" << newLevel << " log4 id/Level4:" << - logger->getName() << "/" << level->toString() ); + STDOUT_DEBUG( " Setting Log4 Params id/level <" << logid << ">/" << newLevel << " log4 id/Level4:" << + logger->getName() << "/" << level->toString() ); logger->setLevel( level ); - STDOUT_DEBUG( " GET log4 name/level <" << logger->getName() << ">/" << logger->getLevel()->toString() ); - } - STDOUT_DEBUG( " Setting Logger: END log:" << logid << " NEW Level:" << newLevel ); + STDOUT_DEBUG( " GET log4 name/level <" << logger->getName() << ">/" << logger->getLevel()->toString() ); } + STDOUT_DEBUG( " Setting Logger: END log:" << logid << " NEW Level:" << newLevel ); +} - std::string ResolveLocalUri( const std::string &in_logfile_uri, - const std::string &root_path, - std::string &new_uri ) { +std::string ResolveLocalUri( const std::string &in_logfile_uri, + const std::string &root_path, + std::string &new_uri ) { - std::string logfile_uri(in_logfile_uri); - std::string logcfg_uri(""); - if ( !logfile_uri.empty() ) { + std::string logfile_uri(in_logfile_uri); + std::string logcfg_uri(""); + if ( !logfile_uri.empty() ) { // Determine the scheme, if any. This isn't a full fledged URI parser so we can // get tripped up on complex URIs. We should probably incorporate a URI parser // library for this sooner rather than later @@ -708,171 +710,171 @@ namespace ossie { std::string::size_type colonIdx = logfile_uri.find(":"); // Find the scheme separator if (colonIdx == std::string::npos) { - scheme = "file"; - path = logfile_uri; - // Make the path absolute - boost::filesystem::path logfile_path(path); - if (! logfile_path.is_complete()) { - // Get the root path so we can resolve relative paths - boost::filesystem::path root = boost::filesystem::initial_path(); - logfile_path = boost::filesystem::path(root / path); - } - path = logfile_path; - logfile_uri = "file://" + path.string(); + scheme = "file"; + path = logfile_uri; + // Make the path absolute + boost::filesystem::path logfile_path(path); + if (! logfile_path.is_complete()) { + // Get the root path so we can resolve relative paths + boost::filesystem::path root = boost::filesystem::initial_path(); + logfile_path = boost::filesystem::path(root / path); + } + path = logfile_path; + logfile_uri = "file://" + path.string(); } else { - scheme = logfile_uri.substr(0, colonIdx); - colonIdx += 1; - if ((logfile_uri.at(colonIdx + 1) == '/') && (logfile_uri.at(colonIdx + 2) == '/')) { - colonIdx += 2; - } - path = logfile_uri.substr(colonIdx, logfile_uri.length() - colonIdx); + scheme = logfile_uri.substr(0, colonIdx); + colonIdx += 1; + if ((logfile_uri.at(colonIdx + 1) == '/') && (logfile_uri.at(colonIdx + 2) == '/')) { + colonIdx += 2; + } + path = logfile_uri.substr(colonIdx, logfile_uri.length() - colonIdx); } if (scheme == "file") { - std::string fpath((char*)path.string().c_str()); - logcfg_uri = "file://" + fpath; + std::string fpath((char*)path.string().c_str()); + logcfg_uri = "file://" + fpath; } if (scheme == "sca") { - std::string fpath((char*)boost::filesystem::path( root_path / path).string().c_str()); - logcfg_uri = "file://" + fpath; + std::string fpath((char*)boost::filesystem::path( root_path / path).string().c_str()); + logcfg_uri = "file://" + fpath; } - } - - new_uri = logfile_uri; - return logcfg_uri; } + new_uri = logfile_uri; + return logcfg_uri; +} - /* - log4j.appender.stdout.Target=System.out\n \ - */ - std::string GetDefaultConfig() { - std::string cfg = "log4j.rootLogger=INFO,STDOUT\n" -"# Direct log messages to STDOUT\n" -"log4j.appender.STDOUT=org.apache.log4j.ConsoleAppender\n" -"log4j.appender.STDOUT.layout=org.apache.log4j.PatternLayout\n" -"log4j.appender.STDOUT.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{3}:%L - %m%n\n"; +/* +log4j.appender.stdout.Target=System.out\n \ +*/ - return cfg; - } +std::string GetDefaultConfig() { + std::string cfg = "log4j.rootLogger=INFO,STDOUT\n" + "# Direct log messages to STDOUT\n" + "log4j.appender.STDOUT=org.apache.log4j.ConsoleAppender\n" + "log4j.appender.STDOUT.layout=org.apache.log4j.PatternLayout\n" + "log4j.appender.STDOUT.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{3}:%L - %m%n\n"; - std::string CacheSCAFile( const std::string &url) - { - std::string localPath; + return cfg; +} + +std::string CacheSCAFile( const std::string &url) +{ + std::string localPath; - if ( url.find( "sca:") != 0 ) { + if ( url.find( "sca:") != 0 ) { return localPath; - } + } - std::string::size_type fsPos = url.find("?fs="); - if (std::string::npos == fsPos) { + std::string::size_type fsPos = url.find("?fs="); + if (std::string::npos == fsPos) { return localPath; - } + } - std::string IOR = url.substr(fsPos + 4); - CORBA::Object_var obj = ossie::corba::stringToObject(IOR); - if (CORBA::is_nil(obj)) { + std::string IOR = url.substr(fsPos + 4); + CORBA::Object_var obj = ossie::corba::stringToObject(IOR); + if (CORBA::is_nil(obj)) { return localPath; - } + } - CF::FileSystem_var fileSystem = CF::FileSystem::_narrow(obj); - if (CORBA::is_nil(fileSystem)) { + CF::FileSystem_var fileSystem = CF::FileSystem::_narrow(obj); + if (CORBA::is_nil(fileSystem)) { return localPath; - } + } - // skip sca: take chars till ?fs= - std::string remotePath = url.substr(4, fsPos-4); - CF::OctetSequence_var data; - try { + // skip sca: take chars till ?fs= + std::string remotePath = url.substr(4, fsPos-4); + CF::OctetSequence_var data; + try { CF::File_var remoteFile = fileSystem->open(remotePath.c_str(), true); CORBA::ULong size = remoteFile->sizeOf(); remoteFile->read(data, size); - } catch (...) { + } catch (...) { return localPath; - } + } - std::string tempPath = remotePath; - std::string::size_type slashPos = remotePath.find_last_of('/'); - if (std::string::npos != slashPos) { + std::string tempPath = remotePath; + std::string::size_type slashPos = remotePath.find_last_of('/'); + if (std::string::npos != slashPos) { tempPath.erase(0, slashPos + 1); - } - std::fstream localFile(tempPath.c_str(), std::ios::out|std::ios::trunc); - if (!localFile) { + } + std::fstream localFile(tempPath.c_str(), std::ios::out|std::ios::trunc); + if (!localFile) { return localPath; - } + } - if (localFile.write((const char*)data->get_buffer(), data->length())) { + if (localFile.write((const char*)data->get_buffer(), data->length())) { localPath = tempPath; - } - localFile.close(); - - return localPath; } + localFile.close(); + return localPath; +} - std::string GetSCAFileContents( const std::string &url) throw ( std::exception ) - { - std::string fileContents; - std::string::size_type pos; - pos = url.find( "sca:"); - if ( pos != 0 ) + +std::string GetSCAFileContents( const std::string &url) throw ( std::exception ) +{ + std::string fileContents; + std::string::size_type pos; + pos = url.find( "sca:"); + if ( pos != 0 ) throw std::runtime_error("invalid uri"); - - std::string::size_type fsPos = url.find("?fs="); - if (std::string::npos == fsPos) + + std::string::size_type fsPos = url.find("?fs="); + if (std::string::npos == fsPos) throw std::runtime_error("malformed uri, no fs= param"); - std::string IOR = url.substr(fsPos + 4); - STDOUT_DEBUG( "GetSCAFileContents IOR:" << IOR ); - CORBA::Object_var obj = ossie::corba::stringToObject(IOR); - if (CORBA::is_nil(obj)) + std::string IOR = url.substr(fsPos + 4); + STDOUT_DEBUG( "GetSCAFileContents IOR:" << IOR ); + CORBA::Object_var obj = ossie::corba::stringToObject(IOR); + if (CORBA::is_nil(obj)) throw std::runtime_error("cannot access filesystem IOR"); - CF::FileSystem_var fileSystem = CF::FileSystem::_narrow(obj); - if (CORBA::is_nil(fileSystem)) + CF::FileSystem_var fileSystem = CF::FileSystem::_narrow(obj); + if (CORBA::is_nil(fileSystem)) throw std::runtime_error("cannot access filesystem IOR"); - - // grab from sca:?fs= - std::string remotePath = url.substr(4, fsPos-4); - STDOUT_DEBUG("GetSCAFileContents remove path:" << remotePath ); - CF::OctetSequence_var data; - try { + + // grab from sca:?fs= + std::string remotePath = url.substr(4, fsPos-4); + STDOUT_DEBUG("GetSCAFileContents remove path:" << remotePath ); + CF::OctetSequence_var data; + try { CF::File_var remoteFile = fileSystem->open(remotePath.c_str(), true); CORBA::ULong size = remoteFile->sizeOf(); remoteFile->read(data, size); remoteFile->close(); - } catch (...) { + } catch (...) { throw std::runtime_error("error reading file contents."); - } - - fileContents.append((const char*)data->get_buffer(), data->length()); - STDOUT_DEBUG("GetSCAFileContents fileContents:" << fileContents); - return fileContents; } - std::string GetHTTPFileContents(const std::string &url) throw ( std::exception ) - { - std::string fileContents; - std::ostringstream ss; - //get host name from url - std::string host; - std::string address; - unsigned int pos = 0; - std::string delimiter = "http://"; - pos = url.find(delimiter); - if ( pos != 0 ) + fileContents.append((const char*)data->get_buffer(), data->length()); + STDOUT_DEBUG("GetSCAFileContents fileContents:" << fileContents); + return fileContents; +} + +std::string GetHTTPFileContents(const std::string &url) throw ( std::exception ) +{ + std::string fileContents; + std::ostringstream ss; + //get host name from url + std::string host; + std::string address; + unsigned int pos = 0; + std::string delimiter = "http://"; + pos = url.find(delimiter); + if ( pos != 0 ) throw std::runtime_error("invalid uri"); - host = url.substr(pos+delimiter.length(),url.length()); - delimiter = "/"; - pos = host.find(delimiter); - address = host.substr(pos+delimiter.length(), host.length()); - host = host.substr(0,pos); - - try { + host = url.substr(pos+delimiter.length(),url.length()); + delimiter = "/"; + pos = host.find(delimiter); + address = host.substr(pos+delimiter.length(), host.length()); + host = host.substr(0,pos); + + try { boost::asio::io_service io_service; // Get a list of endpoints corresponding to the server name. @@ -886,11 +888,11 @@ namespace ossie { boost::system::error_code error = boost::asio::error::host_not_found; while (error && endpoint_iterator != end) { - socket.close(); - socket.connect(*endpoint_iterator++, error); + socket.close(); + socket.connect(*endpoint_iterator++, error); } if (error) - throw boost::system::system_error(error); + throw boost::system::system_error(error); // Form the request. We specify the "Connection: close" header so that the // server will close the socket after transmitting the response. This will @@ -918,183 +920,184 @@ namespace ossie { std::string status_message; std::getline(response_stream, status_message); if (!response_stream || http_version.substr(0, 5) != "HTTP/") { - return "Invalid response\n"; + return "Invalid response\n"; } if (status_code != 200) { - return "Response returned with status code \n"; + return "Response returned with status code \n"; } while (boost::asio::read(socket, response, - boost::asio::transfer_at_least(1), error)) - ss << &response; - fileContents = ss.str(); + boost::asio::transfer_at_least(1), error)) { + ss << &response; + fileContents = ss.str(); + } if (error != boost::asio::error::eof) - throw boost::system::system_error(error); - - } - catch (std::exception& e) { + throw boost::system::system_error(error); + + } + catch (std::exception& e) { std::cout << "Exception: " << e.what() << "\n"; - } - return fileContents; } + return fileContents; +} + +std::string GetConfigFileContents( const std::string &url ) throw (std::exception) +{ + std::string fileContents(""); + if ( url.find( "file://") == 0 ) { - std::string GetConfigFileContents( const std::string &url ) throw (std::exception) - { - std::string fileContents(""); - if ( url.find( "file://") == 0 ) { - std::string fileName( url.begin()+7, url.end() ); STDOUT_DEBUG(" GetLogConfigFile File:" << fileName ); std::ifstream fs(fileName.c_str()); if ( fs.good() ) { - STDOUT_DEBUG( "GetLogConfigfile: Processing File ..."); - std::ostringstream os; - std::copy( std::istreambuf_iterator(fs), std::istreambuf_iterator(), std::ostream_iterator(os) ); - fileContents= os.str(); + STDOUT_DEBUG( "GetLogConfigfile: Processing File ..."); + std::ostringstream os; + std::copy( std::istreambuf_iterator(fs), std::istreambuf_iterator(), std::ostream_iterator(os) ); + fileContents= os.str(); } else { - std::ostringstream os; - os << "Error reading file contents, local file:" << fileName; - throw std::runtime_error(os.str() ); + std::ostringstream os; + os << "Error reading file contents, local file:" << fileName; + throw std::runtime_error(os.str() ); } - } + } - if ( url.find( "sca:") == 0 ) { + if ( url.find( "sca:") == 0 ) { STDOUT_DEBUG("GetLogConfigfile: Processing SCA File ..." << url ); // use local file path to grab file fileContents = GetSCAFileContents( url ); - } + } - if ( url.find( "http:") == 0 ) { + if ( url.find( "http:") == 0 ) { STDOUT_DEBUG("GetLogConfigfile: Processing HTTP File ..." << url ); fileContents = GetHTTPFileContents( url ); - } + } - if ( url.find( "log:") == 0 ) { + if ( url.find( "log:") == 0 ) { // // RESOLVE .. use logging service to grab file //fileContents = getLogConfig( uri+4 ); //validFile=true; - } + } - if ( url.find("str://") == 0 ){ + if ( url.find("str://") == 0 ) { std::string fc=url.substr(6); if ( fc.find("/") == 0 ) fc = fc.substr(1); fileContents = fc; - } - - STDOUT_DEBUG( "GetLogConfigfile: END File ... fc:" << fileContents ); - return fileContents; } - // - // Default logging, stdout with level == INFO - // - void ConfigureDefault() { - std::string fileContents; - fileContents = ossie::logging::GetDefaultConfig(); - STDOUT_DEBUG( "Setting Logging Configuration Properties with Default Configuration.: " << fileContents ); - log4cxx::helpers::Properties props; - // need to allocate heap object... log4cxx::helpers::Properties props takes care of deleting the memory... - log4cxx::helpers::InputStreamPtr is( new log4cxx::helpers::StringInputStream( fileContents ) ); - props.load(is); - log4cxx::PropertyConfigurator::configure(props); - } - - // - // Default logging configuration method for c++ resource, 1.9 and prior - // - void Configure(const char* logcfgUri, int logLevel) - { - STDOUT_DEBUG( " Configure: Pre-1.10 START logging convention" ); - if (logcfgUri) { + STDOUT_DEBUG( "GetLogConfigfile: END File ... fc:" << fileContents ); + return fileContents; +} + +// +// Default logging, stdout with level == INFO +// +void ConfigureDefault() { + std::string fileContents; + fileContents = ossie::logging::GetDefaultConfig(); + STDOUT_DEBUG( "Setting Logging Configuration Properties with Default Configuration.: " << fileContents ); + log4cxx::helpers::Properties props; + // need to allocate heap object... log4cxx::helpers::Properties props takes care of deleting the memory... + log4cxx::helpers::InputStreamPtr is( new log4cxx::helpers::StringInputStream( fileContents ) ); + props.load(is); + log4cxx::PropertyConfigurator::configure(props); +} + +// +// Default logging configuration method for c++ resource, 1.9 and prior +// +void Configure(const char* logcfgUri, int logLevel) +{ + STDOUT_DEBUG( " Configure: Pre-1.10 START logging convention" ); + if (logcfgUri) { if (strncmp("file://", logcfgUri, 7) == 0) { - log4cxx::PropertyConfigurator::configure(logcfgUri + 7); - return; - } else if (strncmp("sca:", logcfgUri, 4) == 0) { - // SCA URI; "?fs=" must have been given, or the file will not be located. - std::string localFile = CacheSCAFile(std::string(logcfgUri)); - if (!localFile.empty()) { - log4cxx::PropertyConfigurator::configure(localFile.c_str() ); + log4cxx::PropertyConfigurator::configure(logcfgUri + 7); return; - } + } else if (strncmp("sca:", logcfgUri, 4) == 0) { + // SCA URI; "?fs=" must have been given, or the file will not be located. + std::string localFile = CacheSCAFile(std::string(logcfgUri)); + if (!localFile.empty()) { + log4cxx::PropertyConfigurator::configure(localFile.c_str() ); + return; + } } - } - else { + } + else { ConfigureDefault(); - } - - STDOUT_DEBUG( " Configure: Pre-1.10 END logging convention" ); - SetLevel( "", logLevel); } + STDOUT_DEBUG( " Configure: Pre-1.10 END logging convention" ); + SetLevel( "", logLevel); +} - // - // Current logging configuration method used by Redhawk Resources. - // - // - void Configure(const std::string &in_logcfgUri, int logLevel, ossie::logging::ResourceCtxPtr ctx ) { - Configure(in_logcfgUri, logLevel, ctx.get() ); - } - void Configure(const std::string &in_logcfgUri, int logLevel, ossie::logging::ResourceCtx *ctx ) { - std::string logcfgUri(in_logcfgUri); +// +// Current logging configuration method used by Redhawk Resources. +// +// +void Configure(const std::string &in_logcfgUri, int logLevel, ossie::logging::ResourceCtxPtr ctx ) { + Configure(in_logcfgUri, logLevel, ctx.get() ); +} - STDOUT_DEBUG( "ossie::logging::Configure Rel 1.10 START url:" << logcfgUri ); - std::string fileContents(""); - try { +void Configure(const std::string &in_logcfgUri, int logLevel, ossie::logging::ResourceCtx *ctx ) { + std::string logcfgUri(in_logcfgUri); + + STDOUT_DEBUG( "ossie::logging::Configure Rel 1.10 START url:" << logcfgUri ); + std::string fileContents(""); + try { if ( logcfgUri=="" ) { - STDOUT_DEBUG(" ossie::logging::Configure Default Configuration" ); - ConfigureDefault(); + STDOUT_DEBUG(" ossie::logging::Configure Default Configuration" ); + ConfigureDefault(); } else { - // get configuration file contents - fileContents = GetConfigFileContents(logcfgUri); - - STDOUT_DEBUG(" ossie::logging::Configure URL configuration::" << fileContents ); - - // get default macro defintions - MacroTable tbl=GetDefaultMacros(); - ResolveHostInfo( tbl ) ; - if ( ctx ) { - ctx->apply(tbl); - } - - if ( !fileContents.empty() ) { - // set logging configuration - std::string cfg; - Configure( fileContents, tbl, cfg ); - } + // get configuration file contents + fileContents = GetConfigFileContents(logcfgUri); + + STDOUT_DEBUG(" ossie::logging::Configure URL configuration::" << fileContents ); + + // get default macro defintions + MacroTable tbl=GetDefaultMacros(); + ResolveHostInfo( tbl ) ; + if ( ctx ) { + ctx->apply(tbl); + } + + if ( !fileContents.empty() ) { + // set logging configuration + std::string cfg; + Configure( fileContents, tbl, cfg ); + } } - } - catch( std::exception &e){ + } + catch( std::exception &e) { std::cerr <<"ERROR: Logging configure, url:" << logcfgUri << std::endl; std::cerr <<"ERROR: Logging configure, exception:" << e.what() << std::endl; - } - catch(...){ - std::cerr <<" ossie::logging::Configure Exception during configuration url:" << logcfgUri << std::endl; - } - - if ( logLevel > -1 ) { - STDOUT_DEBUG( "ossie::logging::Configure Rel 1.10 LEVEL (oldstyle):" << logLevel ); - SetLevel( "", logLevel); - } - else { - STDOUT_DEBUG( "ossie::logging::Configure Rel 1.10 Using logging config URI as default level." ); - } + } + catch(...) { + std::cerr <<" ossie::logging::Configure Exception during configuration url:" << logcfgUri << std::endl; + } + if ( logLevel > -1 ) { + STDOUT_DEBUG( "ossie::logging::Configure Rel 1.10 LEVEL (oldstyle):" << logLevel ); + SetLevel( "", logLevel); + } + else { + STDOUT_DEBUG( "ossie::logging::Configure Rel 1.10 Using logging config URI as default level." ); } +} - void Configure( const std::string &cfg_data, const MacroTable &tbl, std::string &cfgContents ) - { - std::string fc_raw(cfg_data); - std::string fileContents; - std::string fname; - bool saveTemp=false; - try{ + +void Configure( const std::string &cfg_data, const MacroTable &tbl, std::string &cfgContents ) +{ + std::string fc_raw(cfg_data); + std::string fileContents; + std::string fname; + bool saveTemp=false; + try { LogConfigFormatType ptype= JAVA_PROPS; size_t isxml = fc_raw.find(" +#include #include #include #include diff --git a/redhawk/src/base/framework/logging/rh_logger_p.h b/redhawk/src/base/framework/logging/rh_logger_p.h index 6c625d5e2..07b137fc5 100644 --- a/redhawk/src/base/framework/logging/rh_logger_p.h +++ b/redhawk/src/base/framework/logging/rh_logger_p.h @@ -20,7 +20,7 @@ #ifndef RH_LOGGER_P_H #define RH_LOGGER_P_H -#include +#include #include #include #include diff --git a/redhawk/src/base/framework/logging/rh_logger_stdout.h b/redhawk/src/base/framework/logging/rh_logger_stdout.h index acf395253..0ef149e89 100644 --- a/redhawk/src/base/framework/logging/rh_logger_stdout.h +++ b/redhawk/src/base/framework/logging/rh_logger_stdout.h @@ -20,7 +20,7 @@ #ifndef RH_LOGGER_P_STDOUT_H #define RH_LOGGER_P_STDOUT_H -#include +#include #include #include #include diff --git a/redhawk/src/base/framework/nodeCleanup.py b/redhawk/src/base/framework/nodeCleanup.py index 84f797ca2..f42b1ca5a 100755 --- a/redhawk/src/base/framework/nodeCleanup.py +++ b/redhawk/src/base/framework/nodeCleanup.py @@ -74,7 +74,7 @@ for entry in das[0]: if entry.assignedDeviceId in devIds: # try: - print "Releasing an application" + print("Releasing an application") das[1].releaseObject() #except: # print "some bad stuff happened while releasing the application" diff --git a/redhawk/src/base/framework/python/ossie/VirtualPort.py b/redhawk/src/base/framework/python/ossie/VirtualPort.py index 805df2368..c466423fd 100644 --- a/redhawk/src/base/framework/python/ossie/VirtualPort.py +++ b/redhawk/src/base/framework/python/ossie/VirtualPort.py @@ -48,7 +48,7 @@ def connectPort(self, connection, connectionId): def disconnectPort(self, connectionId): self.port_lock.acquire() - if self.outPorts.has_key(str(connectionId)): + if str(connectionId) in self.outPorts: self.outPorts.pop(str(connectionId), None) else: self.port_lock.release() diff --git a/redhawk/src/base/framework/python/ossie/apps/qtbrowse/browsewindow.py b/redhawk/src/base/framework/python/ossie/apps/qtbrowse/browsewindow.py index 6b92ded08..3233f4164 100644 --- a/redhawk/src/base/framework/python/ossie/apps/qtbrowse/browsewindow.py +++ b/redhawk/src/base/framework/python/ossie/apps/qtbrowse/browsewindow.py @@ -34,13 +34,13 @@ from ossie.utils import redhawk,prop_helpers -from properties import * -from browsewindowbase import BrowseWindowBase -import installdialog as installdialog +from .properties import * +from .browsewindowbase import BrowseWindowBase +from . import installdialog as installdialog from ossie.utils.redhawk.channels import IDMListener, ODMListener from ossie.utils import weakobj import ossie.parsers.sad -import Queue +import queue def buildDevSeq(dasXML, fs): _xmlFile = fs.open(str(dasXML), True) @@ -91,7 +91,7 @@ def toAny (value, type): elif type == "boolean": value = str(value.lower()) in ( "true", "1" ) elif type == "longlong": - value = long(value) + value = int(value) elif type == "char": value = value[0] return CORBA.Any(TYPE_MAP[type], value) @@ -112,7 +112,7 @@ def __init__(self, domainName=None, verbose=False, if not domainName: domainName = self.findDomains() BrowseWindowBase.__init__(self,parent,name,fl, domainName) - self._requests = Queue.Queue() + self._requests = queue.Queue() self.worker = self.WorkThread(self._requests) self.debug('Domain:', domainName) self.connect(self.worker, SIGNAL('refreshApplications()'), self.refreshApplications) @@ -179,7 +179,7 @@ def run(self): elif request[0] == 'refreshProperty': self.emit( SIGNAL('refreshProperty(QString,QString,QString)'), request[1], request[2], request[3] ) else: - print request,"...unrecognized" + print(request,"...unrecognized") return def addRequest(self, request): @@ -260,18 +260,18 @@ def getDomain(self, domainName): self.domManager = redhawk.attach(domainName) self.connectToODMChannel() if self.domManager is None: - raise StandardError('Could not narrow Domain Manager') + raise Exception('Could not narrow Domain Manager') # this is here just to make sure that the pointer is accessible if self.domManager._non_existent(): - raise StandardError("Unable to access the Domain Manager in naming context "+domainName) + raise Exception("Unable to access the Domain Manager in naming context "+domainName) except: - raise StandardError("Unable to access the Domain Manager in naming context "+domainName) + raise Exception("Unable to access the Domain Manager in naming context "+domainName) try: self.fileMgr = self.domManager._get_fileMgr() except: - raise StandardError("Unable to access the File Manager in Domain Manager "+domainName) + raise Exception("Unable to access the File Manager in Domain Manager "+domainName) def updateDomain(self, domainName): @@ -362,7 +362,7 @@ def createSelected (self): return try: app_inst = self.domManager.createApplication(app) - except CF.ApplicationFactory.CreateApplicationError, e: + except CF.ApplicationFactory.CreateApplicationError as e: QMessageBox.critical(self, 'Creation of waveform failed.', e.msg, QMessageBox.Ok) return except: @@ -380,7 +380,7 @@ def newStructSelected (self): return try: app_inst = self.domManager.createApplication(app) - except CF.ApplicationFactory.CreateApplicationError, e: + except CF.ApplicationFactory.CreateApplicationError as e: QMessageBox.critical(self, 'Creation of waveform failed.', e.msg, QMessageBox.Ok) return if app_inst == None: @@ -563,8 +563,8 @@ def parseAllDeviceManagers (self): for devMgr in self.domManager.devMgrs: try: self.parseDeviceManager(devMgr) - except Exception, e: - print "Failed to parse a Device Manager. Continuing..." + except Exception as e: + print("Failed to parse a Device Manager. Continuing...") def parseDeviceManager (self, devMgr): _id = devMgr.id @@ -572,7 +572,7 @@ def parseDeviceManager (self, devMgr): try: profile = str(devMgr._get_deviceConfigurationProfile()) except: - print "Device Manager "+label+" unreachable" + print("Device Manager "+label+" unreachable") return # Create a node for the Device Manager, with its attributes and devices as children. @@ -690,13 +690,13 @@ def buildProperty(self, parent, prop): setEditable(parent, editable) parent.setText(1, str(prop.queryValue())) elif prop.__class__ == prop_helpers.structProperty: - for member in prop.members.itervalues(): + for member in prop.members.values(): valueSubItem = self.addTreeWidgetItem(parent, member.clean_name, str(member.queryValue())) setEditable(valueSubItem, editable) elif prop.__class__ == prop_helpers.structSequenceProperty: idx_count = 0 # Create a lookup table of friendly property names - names = dict((k, v.clean_name) for k, v in prop.structDef.members.iteritems()) + names = dict((k, v.clean_name) for k, v in prop.structDef.members.items()) for entry in prop.queryValue(): valueSubItem = self.addTreeWidgetItem(parent, '['+str(idx_count)+']') for field in entry: @@ -725,5 +725,5 @@ def debug (self, *args): if not self.verbose: return for arg in args: - print arg, - print + print(arg, end=' ') + print() diff --git a/redhawk/src/base/framework/python/ossie/apps/qtbrowse/browsewindowbase.py b/redhawk/src/base/framework/python/ossie/apps/qtbrowse/browsewindowbase.py index 221bd5afd..46873885f 100644 --- a/redhawk/src/base/framework/python/ossie/apps/qtbrowse/browsewindowbase.py +++ b/redhawk/src/base/framework/python/ossie/apps/qtbrowse/browsewindowbase.py @@ -34,7 +34,7 @@ import copy from ossie.utils import redhawk,prop_helpers,type_helpers from ossie.cf import CF -import structdialog +from . import structdialog def createPlotMenu(parent): plotMenu = parent.addMenu('Plot') @@ -96,7 +96,7 @@ def typeStructDict(structDef, structDict): retval = {} badConversion = False for member in structDef.members: - if structDict.has_key(member): + if member in structDict: _type = structDef.members[member].type if _type == 'string' or _type == 'char': retval[member] = structDict[member] @@ -237,9 +237,9 @@ def findPropUnderContainer(self, propitem, containers): # propitem is the item l contname = propitem.parent().parent().parent().parent().text(0) compname = propname = '' prop = None - if containers[0].has_key('application'): + if 'application' in containers[0]: ref_key = 'app_ref' - elif containers[0].has_key('devMgr'): + elif 'devMgr' in containers[0]: ref_key = 'devMgr_ref' for cont in containers: if cont[ref_key].name == contname: @@ -339,9 +339,9 @@ def getRefs(self, containers, container_name, compname=None): foundCont = foundComp = False if len(containers) == 0: return contref, contTrack, comp - if containers[0].has_key('application'): + if 'application' in containers[0]: ref_key = 'app_ref' - elif containers[0].has_key('devMgr'): + elif 'devMgr' in containers[0]: ref_key = 'devMgr_ref' for cont in containers: if cont[ref_key].name == container_name: @@ -418,7 +418,7 @@ def contextMenuEvent(self, event): try: comp.connect(plot) contTrack['widgets'].append((comp, plot)) - except Exception, e: + except Exception as e: plot.close() if 'must specify providesPortName or usesPortName' in e.__str__(): QMessageBox.critical(self, 'Connection failed.', 'Cannot find a matching port. Please select a specific port in the Component port list to plot', QMessageBox.Ok) @@ -430,7 +430,7 @@ def contextMenuEvent(self, event): try: comp.connect(sound) contTrack['widgets'].append((comp, sound)) - except Exception, e: + except Exception as e: sound.releaseObject() if 'must specify providesPortName or usesPortName' in e.__str__(): QMessageBox.critical(self, 'Connection failed.', 'Cannot find a matching port. Please select a specific port in the Component port list to plot', QMessageBox.Ok) @@ -481,7 +481,7 @@ def contextMenuEvent(self, event): try: contref.connect(plot) contTrack['widgets'].append((contref, plot)) - except Exception, e: + except Exception as e: plot.close() if 'must specify providesPortName or usesPortName' in e.__str__(): QMessageBox.critical(self, 'Connection failed.', 'Cannot find a matching port. Please select a specific Port in the Application Port list to plot', QMessageBox.Ok) @@ -493,7 +493,7 @@ def contextMenuEvent(self, event): try: contref.connect(sound) contTrack['widgets'].append((contref, sound)) - except Exception, e: + except Exception as e: sound.releaseObject() if 'must specify providesPortName or usesPortName' in e.__str__(): QMessageBox.critical(self, 'Connection failed.', 'Cannot find a matching port. Please select a specific port in the Component port list to plot', QMessageBox.Ok) @@ -550,7 +550,7 @@ def contextMenuEvent(self, event): if port._using != None: comp.connect(plot,usesPortName=str(portname)) contTrack['widgets'].append((contref, plot)) - except Exception, e: + except Exception as e: plot.close() QMessageBox.critical(self, 'Connection failed.', e.__str__(), QMessageBox.Ok) elif resp == 'Sound': @@ -559,7 +559,7 @@ def contextMenuEvent(self, event): try: comp.connect(sound) contTrack['widgets'].append((contref, sound)) - except Exception, e: + except Exception as e: sound.releaseObject() if 'must specify providesPortName or usesPortName' in e.__str__(): QMessageBox.critical(self, 'Connection failed.', 'Cannot find a matching port. Please select a specific port in the Component port list to plot', QMessageBox.Ok) @@ -597,7 +597,7 @@ def contextMenuEvent(self, event): if port._using != None: appref.connect(plot,usesPortName=str(portname)) appTrack['widgets'].append((appref, plot)) - except Exception, e: + except Exception as e: plot.close() QMessageBox.critical(self, 'Connection failed.', e.__str__(), QMessageBox.Ok) elif resp == 'Sound': @@ -606,7 +606,7 @@ def contextMenuEvent(self, event): try: appref.connect(sound) appTrack['widgets'].append((appref, sound)) - except Exception, e: + except Exception as e: sound.releaseObject() if 'must specify providesPortName or usesPortName' in e.__str__(): QMessageBox.critical(self, 'Connection failed.', 'Cannot find a matching port. Please select a specific port in the Component port list to plot', QMessageBox.Ok) @@ -782,10 +782,10 @@ def setStatusBar(self): self.textLabel2.setText(self.__tr("NameService not found")) def refreshView(self): - print "BrowseWindowBase.refreshView(): Not implemented yet" + print("BrowseWindowBase.refreshView(): Not implemented yet") def propertyChanged(self): - print "BrowseWindowBase.propertyChanged(): Not implemented yet" + print("BrowseWindowBase.propertyChanged(): Not implemented yet") def __tr(self,s,c = None): return qApp.translate("BrowseWindowBase",s,c) diff --git a/redhawk/src/base/framework/python/ossie/apps/qtbrowse/installdialog.py b/redhawk/src/base/framework/python/ossie/apps/qtbrowse/installdialog.py index f6d72a800..9e001a958 100644 --- a/redhawk/src/base/framework/python/ossie/apps/qtbrowse/installdialog.py +++ b/redhawk/src/base/framework/python/ossie/apps/qtbrowse/installdialog.py @@ -21,7 +21,7 @@ from PyQt4.QtGui import * -from installdialogbase import InstallDialogBase +from .installdialogbase import InstallDialogBase class InstallDialog(InstallDialogBase): diff --git a/redhawk/src/base/framework/python/ossie/apps/qtbrowse/properties.py b/redhawk/src/base/framework/python/ossie/apps/qtbrowse/properties.py index 16f62a105..a253e08f4 100644 --- a/redhawk/src/base/framework/python/ossie/apps/qtbrowse/properties.py +++ b/redhawk/src/base/framework/python/ossie/apps/qtbrowse/properties.py @@ -91,15 +91,15 @@ def lookupPropertySet (rootContext, elementId): prpRsrcRef = rootContext.resolve(prpRef) if prpRsrcRef is None: - raise StandardError("Unable to find rootContext for %s" % (elementId)) + raise Exception("Unable to find rootContext for %s" % (elementId)) prpRsrcHandle = prpRsrcRef._narrow(CF.Resource) if prpRsrcHandle is None: - raise StandardError("Unable to get Resource reference for %s" % (elementId)) + raise Exception("Unable to get Resource reference for %s" % (elementId)) prpSetHandle = prpRsrcRef._narrow(CF.PropertySet) if prpSetHandle is None: - raise StandardError("Unable to get PropertySet reference for %s" % (elementId)) + raise Exception("Unable to get PropertySet reference for %s" % (elementId)) return prpSetHandle diff --git a/redhawk/src/base/framework/python/ossie/apps/qtbrowse/qtbrowse.py b/redhawk/src/base/framework/python/ossie/apps/qtbrowse/qtbrowse.py index c95ab0bc1..b436f3c08 100755 --- a/redhawk/src/base/framework/python/ossie/apps/qtbrowse/qtbrowse.py +++ b/redhawk/src/base/framework/python/ossie/apps/qtbrowse/qtbrowse.py @@ -26,7 +26,7 @@ from PyQt4.QtCore import * import logging -from browsewindow import BrowseWindow +from .browsewindow import BrowseWindow def main(): # Set up a console logger. diff --git a/redhawk/src/base/framework/python/ossie/apps/qtbrowse/structdialog.py b/redhawk/src/base/framework/python/ossie/apps/qtbrowse/structdialog.py index 7b89d7807..ebec9543a 100644 --- a/redhawk/src/base/framework/python/ossie/apps/qtbrowse/structdialog.py +++ b/redhawk/src/base/framework/python/ossie/apps/qtbrowse/structdialog.py @@ -21,7 +21,7 @@ from PyQt4.QtGui import * -from structdialogbase import StructDialogBase +from .structdialogbase import StructDialogBase class StructDialog(StructDialogBase): diff --git a/redhawk/src/base/framework/python/ossie/apps/rhlauncher/commandwidget.py b/redhawk/src/base/framework/python/ossie/apps/rhlauncher/commandwidget.py index b3f8c1849..329834aea 100644 --- a/redhawk/src/base/framework/python/ossie/apps/rhlauncher/commandwidget.py +++ b/redhawk/src/base/framework/python/ossie/apps/rhlauncher/commandwidget.py @@ -19,7 +19,7 @@ # from PyQt4 import QtCore, QtGui -import ui +from . import ui class CommandWidget(QtGui.QWidget): def __init__(self, *args, **kwargs): diff --git a/redhawk/src/base/framework/python/ossie/apps/rhlauncher/devicedialog.py b/redhawk/src/base/framework/python/ossie/apps/rhlauncher/devicedialog.py index c9df2bba0..7bc82c812 100644 --- a/redhawk/src/base/framework/python/ossie/apps/rhlauncher/devicedialog.py +++ b/redhawk/src/base/framework/python/ossie/apps/rhlauncher/devicedialog.py @@ -25,7 +25,7 @@ from ossie.parsers import dcd from ossie.utils import redhawk -import ui +from . import ui class DeviceDialog(QtGui.QDialog): def __init__(self, *args, **kwargs): diff --git a/redhawk/src/base/framework/python/ossie/apps/rhlauncher/domaindialog.py b/redhawk/src/base/framework/python/ossie/apps/rhlauncher/domaindialog.py index a04e6d9f2..e13b8d218 100644 --- a/redhawk/src/base/framework/python/ossie/apps/rhlauncher/domaindialog.py +++ b/redhawk/src/base/framework/python/ossie/apps/rhlauncher/domaindialog.py @@ -19,7 +19,7 @@ # from PyQt4 import QtGui -import ui +from . import ui class DomainDialog(QtGui.QDialog): def __init__(self, *args, **kwargs): diff --git a/redhawk/src/base/framework/python/ossie/apps/rhlauncher/launcherwindow.py b/redhawk/src/base/framework/python/ossie/apps/rhlauncher/launcherwindow.py index 185f3534b..2d7ccdbd1 100644 --- a/redhawk/src/base/framework/python/ossie/apps/rhlauncher/launcherwindow.py +++ b/redhawk/src/base/framework/python/ossie/apps/rhlauncher/launcherwindow.py @@ -23,10 +23,10 @@ from ossie.parsers import dmd -from commandwidget import CommandWidget -from domaindialog import DomainDialog -from devicedialog import DeviceDialog -import ui +from .commandwidget import CommandWidget +from .domaindialog import DomainDialog +from .devicedialog import DeviceDialog +from . import ui class LauncherWindow(QtGui.QMainWindow): def __init__(self, sdrroot, *args, **kwargs): @@ -53,7 +53,7 @@ def closeEvent(self, event): QtGui.QMainWindow.closeEvent(self, event) def processWidgets(self): - return [self.nodeTabs.widget(index) for index in xrange(self.nodeTabs.count())] + return [self.nodeTabs.widget(index) for index in range(self.nodeTabs.count())] def terminateChildren(self): for widget in self.processWidgets(): diff --git a/redhawk/src/base/framework/python/ossie/apps/rhlauncher/main.py b/redhawk/src/base/framework/python/ossie/apps/rhlauncher/main.py index 70ba981ed..7428eb6f5 100644 --- a/redhawk/src/base/framework/python/ossie/apps/rhlauncher/main.py +++ b/redhawk/src/base/framework/python/ossie/apps/rhlauncher/main.py @@ -22,7 +22,7 @@ from PyQt4 import QtGui -from launcherwindow import LauncherWindow +from .launcherwindow import LauncherWindow def main(): sdrroot = os.environ.get('SDRROOT', None) diff --git a/redhawk/src/base/framework/python/ossie/component.py b/redhawk/src/base/framework/python/ossie/component.py index 38ef64b78..2362de8be 100644 --- a/redhawk/src/base/framework/python/ossie/component.py +++ b/redhawk/src/base/framework/python/ossie/component.py @@ -18,8 +18,8 @@ # along with this program. If not, see http://www.gnu.org/licenses/. # from ossie.cf import CF -from resource import Resource -import containers +from .resource import Resource +from . import containers from omniORB import CORBA class Component(Resource): diff --git a/redhawk/src/base/framework/python/ossie/device.py b/redhawk/src/base/framework/python/ossie/device.py index 9065b6bd8..0bd6700f3 100644 --- a/redhawk/src/base/framework/python/ossie/device.py +++ b/redhawk/src/base/framework/python/ossie/device.py @@ -39,14 +39,14 @@ import signal import os import stat -import commands +import subprocess import threading import exceptions -from Queue import Queue +from queue import Queue import time import traceback import zipfile -import containers +from . import containers if hasEvents: @@ -60,7 +60,7 @@ class Supplier_i(CosEventComm__POA.PushSupplier): def disconnect_push_supplier (self): - print "Push Supplier: disconnected." + print("Push Supplier: disconnected.") def _getCallback(obj, methodName): try: @@ -268,7 +268,7 @@ def connectIDMChannel(self, idm_ior=None ): idm_channel = idm_channel_obj._narrow(CosEventChannelAdmin.EventChannel) self._idm_publisher = Publisher( idm_channel ) self._deviceLog.info("Connected to IDM CHANNEL, (command line IOR).... DEV-ID:" + self._id ) - except Exception, err: + except Exception as err: #traceback.print_exc() self._deviceLog.warn("Unable to connect to IDM channel (command line IOR).... DEV-ID:" + self._id ) else: @@ -320,7 +320,7 @@ def releaseObject(self): self._unregister() - except Exception, e: + except Exception as e: raise CF.LifeCycle.ReleaseError(str(e)) self._adminState = CF.Device.LOCKED @@ -374,7 +374,7 @@ def _allocateCapacities(self, propDict={}): # if the device does not have allocateCapacities, then try # individually else: - for key, val in propDict.iteritems(): + for key, val in propDict.items(): propname = self._props.getPropName(key) success = self._allocateCapacity(propname, val) if success: @@ -408,7 +408,7 @@ def _allocateCapacities(self, propDict={}): def _allocateCapacity(self, propname, value): """Override this if you want if you don't want magic dispatch""" self._deviceLog.debug("_allocateCapacity(%s, %s)", propname, value) - if self._allocationCallbacks.has_key(propname): + if propname in self._allocationCallbacks: return self._allocationCallbacks[propname]._allocate(value) modified_propname = '' @@ -467,7 +467,7 @@ def allocateCapacity(self, properties): raise # re-raise valid exceptions except CF.Device.InvalidState: raise # re-raise valid exceptions - except Exception, e: + except Exception as e: self._deviceLog.exception("Unexpected error in _allocateCapacities: %s", str(e)) return False @@ -496,7 +496,7 @@ def _deallocateCapacities(self, propDict): else: # If the device does not have deallocateCapacities, then try # individually - for id, val in propDict.iteritems(): + for id, val in propDict.items(): propname = self._props.getPropName(id) self._deallocateCapacity(propname, val) else: @@ -507,7 +507,7 @@ def _deallocateCapacities(self, propDict): def _deallocateCapacity(self, propname, value): """Override this if you want if you don't want magic dispatch""" methodName = "deallocate_%s" % propname.replace(" ", "_") - if self._allocationCallbacks.has_key(propname): + if propname in self._allocationCallbacks: return self._allocationCallbacks[propname]._deallocate(value) deallocate = _getCallback(self, methodName) if deallocate: @@ -591,7 +591,7 @@ def _unregisterThreadFunction(): self._deviceLog.debug("Unregistering from DeviceManager") try: self._devmgr.unregisterDevice(self._this()) - except CORBA.Exception, e: + except CORBA.Exception as e: _logUnregisterFailure(str(e)) # put something on the queue to indicate that we either # successfully unregistered, or that we have already @@ -623,7 +623,7 @@ def _registerThreadFunction(): self._deviceLog.debug("Registering with DeviceManager") try: self._devmgr.registerDevice(self._this()) - except CORBA.Exception, e: + except CORBA.Exception as e: _logRegisterFailure(str(e)) # put something on the queue to indicate that we either # successfully registered, or that we have already @@ -786,7 +786,7 @@ def load(self, fileSystem, fileName, loadType): if loadType == CF.LoadableDevice.SHARED_LIBRARY: self._setEnvVars(localFilePath, fileName) - except Exception, e: + except Exception as e: self._loadableDeviceLog.exception(e) raise CF.LoadableDevice.LoadFail(CF.CF_EINVAL, "Unknown Error loading '%s'"%fileName) finally: @@ -795,7 +795,7 @@ def load(self, fileSystem, fileName, loadType): def _getEnvVarAsList(self, var): # Split the path up - if os.environ.has_key(var): + if var in os.environ: path = os.environ[var].split(os.path.pathsep) else: path = [] @@ -820,7 +820,7 @@ def _prependToEnvVar(self, newVal, envVar): if not foundValue: # The value does not already exist - if os.environ.has_key(envVar): + if envVar in os.environ: newpath = newVal+os.path.pathsep + os.getenv(envVar)+os.path.pathsep else: newpath = newVal+os.path.pathsep @@ -838,7 +838,7 @@ def _setEnvVars(self, localFilePath, fileName): env_changes = sharedLibraryStorage(fileName) matchesPattern = False # check to see if it's a C shared library - status, output = commands.getstatusoutput('nm '+localFilePath) + status, output = subprocess.getstatusoutput('nm '+localFilePath) if status == 0: # Assume this is a C library @@ -937,7 +937,7 @@ def _copyFile(self, fileSystem, remotePath, localPath): fileToLoad = fileSystem.open(remotePath, True) try: f = open(localPath, "w+") - except Exception, e: + except Exception as e: if "Text file busy" in e: modifiedName = localPath+"_"+str(time.time()).split('.')[0] os.rename(localPath, modifiedName) @@ -1004,7 +1004,7 @@ def _loadTree(self, fileSystem, remotePath, localPath): return loadedFiles def _unloadAll(self): - for fileName in self._loadedFiles.keys(): + for fileName in list(self._loadedFiles.keys()): try: self._loadableDeviceLog.debug("Forcing unload(%s)", fileName) self._unload(fileName, force=True) @@ -1087,7 +1087,7 @@ def __init__(self, devmgr, identifier, label, softwareProfile, compositeDevice, self._devnull = open('/dev/null') def releaseObject(self): - for pid in self._applications.keys(): + for pid in list(self._applications.keys()): self.terminate(pid) LoadableDevice.releaseObject(self) @@ -1109,12 +1109,12 @@ def execute(self, name, options, parameters): for option in options: val = option.value.value() if option.id == CF.ExecutableDevice.PRIORITY_ID: - if ((not isinstance(val, int)) and (not isinstance(val, long))): + if ((not isinstance(val, int)) and (not isinstance(val, int))): invalidOptions.append(option) else: priority = val elif option.id == CF.ExecutableDevice.STACK_SIZE_ID: - if ((not isinstance(val, int)) and (not isinstance(val, long))): + if ((not isinstance(val, int)) and (not isinstance(val, int))): invalidOptions.append(option) else: stack_size = val @@ -1141,7 +1141,7 @@ def executeLinked(self, name, options, parameters, deps): self.initialState.set() selected_paths = [] for dep in deps: - if self._sharedPkgs.has_key(dep): + if dep in self._sharedPkgs: selected_paths.append(self._sharedPkgs[dep]) self._update_selected_paths(selected_paths) parameters.append(CF.DataType('RH::DEPLOYMENT_ROOT', any.to_any(self._cacheDirectory))) @@ -1189,7 +1189,7 @@ def _execute(self, command, options, parameters): # SR:445 try: sp = ossie.utils.Popen(args, executable=command, cwd=os.getcwd(), close_fds=True, stdin=self._devnull, preexec_fn=os.setpgrp) - except OSError, e: + except OSError as e: # SR:455 # CF error codes do not map directly to errno codes, so at present # we omit the enumerated value. @@ -1211,7 +1211,7 @@ def _terminate(self, pid): """ # SR:458 self._executableDeviceLog.debug("%s", self._applications) - if not self._applications.has_key(pid): + if pid not in self._applications: raise CF.ExecutableDevice.InvalidProcess(CF.CF_ENOENT, "Cannot terminate. Process %s does not exist." % str(pid)) # SR:456 @@ -1253,7 +1253,7 @@ def _child_handler(self, signal, frame): # out which child terminated so that we do not affect any children created via means # besides execute(). It may be an unlikely situation, but this should be safe and # relatively cheap. - for pid in self._applications.keys()[:]: + for pid in list(self._applications.keys())[:]: try: status = self._applications[pid].poll() except KeyError: @@ -1298,7 +1298,7 @@ def _get_devices(self): def _checkForRequiredParameters(execparams): for reqparam in ("DEVICE_MGR_IOR", "PROFILE_NAME", "DEVICE_ID", "DEVICE_LABEL"): - if not execparams.has_key(reqparam): + if reqparam not in execparams: if options["interactive"] == True: execparams[reqparam] = None else: @@ -1314,7 +1314,7 @@ def _getDevMgr(execparams, orb): def _getParentAggregateDevice(execparams, orb): # get parent aggregate device if applicable - if execparams.has_key("COMPOSITE_DEVICE_IOR"): + if "COMPOSITE_DEVICE_IOR" in execparams: parentdev = orb.string_to_object(execparams["COMPOSITE_DEVICE_IOR"]) parentdev_ref = parentdev._narrow(CF.AggregateDevice) else: @@ -1335,7 +1335,7 @@ def start_device(deviceclass, interactive_callback=None, thread_policy=None,logg execparams, interactive = resource.parseCommandLineArgs(deviceclass) if interactive: - print "Interactive mode (-i) no longer supported. Please use the sandbox to run Components/Devices/Services outside the scope of a Domain" + print("Interactive mode (-i) no longer supported. Please use the sandbox to run Components/Devices/Services outside the scope of a Domain") sys.exit(-1) if not skip_run: @@ -1418,7 +1418,7 @@ def retry_on_failure(cookie, retries, exc): # Pass only the Var to prevent anybody from calling non-CORBA functions interactive_callback(component_Obj) else: - print orb.object_to_string(component_Obj._this()) + print(orb.object_to_string(component_Obj._this())) objectActivated = True obj = devicePOA.servant_to_id(component_Obj) while objectActivated: diff --git a/redhawk/src/base/framework/python/ossie/events/Manager.py b/redhawk/src/base/framework/python/ossie/events/Manager.py index 323a695e6..28504c5a2 100644 --- a/redhawk/src/base/framework/python/ossie/events/Manager.py +++ b/redhawk/src/base/framework/python/ossie/events/Manager.py @@ -21,7 +21,7 @@ import sys import time import threading -import Queue +import queue import copy import traceback import logging diff --git a/redhawk/src/base/framework/python/ossie/events/Publisher.py b/redhawk/src/base/framework/python/ossie/events/Publisher.py index 74a06eeb8..70dd83342 100644 --- a/redhawk/src/base/framework/python/ossie/events/Publisher.py +++ b/redhawk/src/base/framework/python/ossie/events/Publisher.py @@ -20,7 +20,7 @@ import sys import time -import Queue +import queue import copy import logging import traceback diff --git a/redhawk/src/base/framework/python/ossie/events/Subscriber.py b/redhawk/src/base/framework/python/ossie/events/Subscriber.py index 11defdb40..2e4f0311d 100644 --- a/redhawk/src/base/framework/python/ossie/events/Subscriber.py +++ b/redhawk/src/base/framework/python/ossie/events/Subscriber.py @@ -20,7 +20,7 @@ import sys import time -import Queue +import queue import copy import threading import logging @@ -119,7 +119,7 @@ def __init__(self, remote_obj, channel_name='', dataArrivedCB=None): self.proxy = None self.logger = logging.getLogger('ossie.events.Subscriber') self.dataArrivedCB=dataArrivedCB - self.events = Queue.Queue() + self.events = queue.Queue() self.my_lock = threading.Lock() self.consumer = DefaultConsumer(self) self.connect() diff --git a/redhawk/src/base/framework/python/ossie/events/__init__.py b/redhawk/src/base/framework/python/ossie/events/__init__.py index d6c547f58..d2e0e8d20 100644 --- a/redhawk/src/base/framework/python/ossie/events/__init__.py +++ b/redhawk/src/base/framework/python/ossie/events/__init__.py @@ -21,7 +21,7 @@ import sys import time as _time import threading -import Queue +import queue import copy import logging import atexit @@ -39,10 +39,10 @@ import CosNaming import CosLifeCycle -from DomainEventWriter import * -from Publisher import * -from Subscriber import * -from Manager import * +from .DomainEventWriter import * +from .Publisher import * +from .Subscriber import * +from .Manager import * ## @@ -62,7 +62,7 @@ def __init__(self, component, filter=None): def sendEvent(self, event): self._component._log.debug("sendEvent %s %s", event, self._outPorts) - for connectionId, connection in self._outPorts.items(): + for connectionId, connection in list(self._outPorts.items()): self._component._log.debug("Sending event to '%s'", connectionId) if 'proxy_consumer' not in connection: continue @@ -81,7 +81,7 @@ def sendPropertiesEvent(self, ids=None): return if ids is None: - ids = [prop.id_ for prop in self._component._props.values() if prop.isSendEventChange()] + ids = [prop.id_ for prop in list(self._component._props.values()) if prop.isSendEventChange()] self._component._log.debug("sendPropertiesEvent %s", ids) properties = [] @@ -100,7 +100,7 @@ def sendPropertiesEvent(self, ids=None): def sendChangedPropertiesEvent(self): eventable_ids = [] - for prop_id in self._component._props.keys(): + for prop_id in list(self._component._props.keys()): prop_def = self._component._props.getPropDef(prop_id) if prop_def.isSendEventChange(): newValue = self._component._props[prop_id] @@ -127,7 +127,7 @@ def connectPort (self, connection, connectionId): self._outPorts[str(connectionId)] = self._connectSupplierToEventChannel(channel) def disconnectPort (self, connectionId): - if self._outPorts.has_key(str(connectionId)): + if str(connectionId) in self._outPorts: try: consumer = self._outPorts[connectionId]['proxy_consumer'] consumer.disconnect_push_consumer() @@ -360,7 +360,7 @@ def __init__(self, thread_sleep=0.1, parent=None, storeMessages = False): self._pauseMe=True self.state = threading.Condition() self.setDaemon(True) - self.actionQueue = Queue.Queue() + self.actionQueue = queue.Queue() self.thread_sleep = thread_sleep self._messages = {} self._allMsg = [] @@ -384,13 +384,13 @@ def connectPort (self, connection, connectionId): try: channel = connection._narrow(CosEventChannelAdmin.EventChannel) except: - print "WARNING: Could not narrow channel object: %s" % (sys.exc_info()[0]) - print connection._NP_RepositoryId + print("WARNING: Could not narrow channel object: %s" % (sys.exc_info()[0])) + print(connection._NP_RepositoryId) return self._connections[str(connectionId)] = self._connectConsumerToEventChannel(channel, str(connectionId)) def disconnectPort (self, connectionId): - if self._connections.has_key(str(connectionId)): + if str(connectionId) in self._connections: supplier = self._connections[connectionId]['proxy_supplier'] del self._connections[connectionId] supplier.disconnect_push_supplier() @@ -471,7 +471,7 @@ def _run(self): elif action == 'message': values = payload.value(CF._tc_Properties) if values is None: - print 'WARNING: Unrecognized message type', payload.typecode() + print('WARNING: Unrecognized message type', payload.typecode()) for value in values: id = value.id if id in self._messages: @@ -479,16 +479,16 @@ def _run(self): tmp_value = struct_from_any(value.value, msgstruct, strictComplete=False) try: callback(id, tmp_value) - except Exception, e: - print "Callback for message "+str(id)+" failed with exception: "+str(e) + except Exception as e: + print("Callback for message "+str(id)+" failed with exception: "+str(e)) for allMsg in self._allMsg: if self._storeMessages: self._storedMessages.append(prop_to_dict(value)) callback = allMsg[1] try: callback(id, value) - except Exception, e: - print "Callback for message "+str(id)+" failed with exception: "+str(e) + except Exception as e: + print("Callback for message "+str(id)+" failed with exception: "+str(e)) else: _time.sleep(self.thread_sleep) @@ -511,8 +511,8 @@ def connectPort (self, connection, connectionId): try: channel = connection._narrow(CosEventChannelAdmin.EventChannel) except: - print "WARNING: Could not narrow channel object: %s" % (sys.exc_info()[0]) - print connection._NP_RepositoryId + print("WARNING: Could not narrow channel object: %s" % (sys.exc_info()[0])) + print(connection._NP_RepositoryId) self.portInterfaceAccess.release() return self._connections[str(connectionId)] = self._connectSupplierToEventChannel(channel) @@ -522,7 +522,7 @@ def connectPort (self, connection, connectionId): def disconnectPort (self, connectionId): self.portInterfaceAccess.acquire() try: - if self._connections.has_key(str(connectionId)): + if str(connectionId) in self._connections: consumer = self._connections[connectionId]['proxy_consumer'] consumer.disconnect_push_consumer() del self._connections[connectionId] @@ -578,13 +578,13 @@ def _push(self, data, connectionId=None): with self.portInterfaceAccess: self._checkConnectionId(connectionId) - for identifier, connection in self._connections.iteritems(): + for identifier, connection in self._connections.items(): if not self._isConnectionSelected(identifier, connectionId): continue try: connection['proxy_consumer'].push(data) - except CORBA.MARSHAL, e: + except CORBA.MARSHAL as e: raise e except: self._port_log.warn("WARNING: Unable to send data to " + identifier) @@ -645,13 +645,13 @@ def sendMessages(self, data_structs, connectionId=None): self._port_log.warn("Could not deliver the message id="+str(msg.getId())+". Maximum message size exceeded") break except: - print "WARNING: Unable to send data to",connection + print("WARNING: Unable to send data to",connection) def disconnect_push_supplier(self): pass def _get_connections(self): - return [ExtendedCF.UsesConnection(k, v['port']) for k, v in self._connections.iteritems()] + return [ExtendedCF.UsesConnection(k, v['port']) for k, v in self._connections.items()] def _isConnectionSelected(self, connectionId, targetId): if not targetId: diff --git a/redhawk/src/base/framework/python/ossie/logger/__init__.py b/redhawk/src/base/framework/python/ossie/logger/__init__.py index 90557b045..0640fcfc1 100644 --- a/redhawk/src/base/framework/python/ossie/logger/__init__.py +++ b/redhawk/src/base/framework/python/ossie/logger/__init__.py @@ -21,8 +21,8 @@ import socket import os from ossie.cf import CF -import urlparse -import urllib +import urllib.parse +import urllib.request, urllib.parse, urllib.error import ossie.utils.log4py.config from ossie.utils.log4py import RedhawkLogger from omniORB import CORBA @@ -196,7 +196,7 @@ def ExpandMacros( source, macrotable ): """ text=source if source and macrotable: - for i, j in macrotable.iteritems(): + for i, j in macrotable.items(): text = text.replace(i, j) return text @@ -321,7 +321,7 @@ def GetDefaultConfig(): def GetSCAFileContents( url ): fileContents = None - scheme, netloc, path, params, query, fragment = urlparse.urlparse(url) + scheme, netloc, path, params, query, fragment = urllib.parse.urlparse(url) if scheme=="sca" : queryAsDict = dict([x.split("=") for x in query.split("&")]) try: @@ -347,7 +347,7 @@ def GetSCAFileContents( url ): def GetHTTPFileContents( url ): fileContents = None try: - filehandle = urllib.urlopen( url ) + filehandle = urllib.request.urlopen( url ) return filehandle.read() except: logging.warning("connection cannot be made to" + url) @@ -355,7 +355,7 @@ def GetHTTPFileContents( url ): def GetConfigFileContents( url ): fc=None - scheme, netloc, path, params, query, fragment = urlparse.urlparse(url) + scheme, netloc, path, params, query, fragment = urllib.parse.urlparse(url) if scheme == "file": try: f = open(path,'r') @@ -409,8 +409,8 @@ def ConfigureWithContext( cfg_data, tbl, category=None ): cfg=fileContents - except Exception, e: - print "Error: log4py configuration file error", e + except Exception as e: + print("Error: log4py configuration file error", e) pass return cfg @@ -432,8 +432,8 @@ def Configure( logcfgUri, logLevel=None, ctx=None, category=None ): if fileContents and len(fileContents) != 0: fc=ConfigureWithContext( fileContents, tbl, category ) - except Exception,e: - print "Error: log4py configuration file error", e + except Exception as e: + print("Error: log4py configuration file error", e) pass # If a log level was explicitly stated, set it here, potentially diff --git a/redhawk/src/base/framework/python/ossie/parsers/__init__.py b/redhawk/src/base/framework/python/ossie/parsers/__init__.py index e55f6dd0c..4d0b61493 100644 --- a/redhawk/src/base/framework/python/ossie/parsers/__init__.py +++ b/redhawk/src/base/framework/python/ossie/parsers/__init__.py @@ -19,12 +19,12 @@ # along with this program. If not, see http://www.gnu.org/licenses/. # -import dcd as DCDParser -import dmd as DMDParser -import dpd as DPDParser -import prf as PRFParser -import profile as ProfileParser -import sad as SADParser -import scd as SCDParser -import spd as SPDParser -import parserconfig +from . import dcd as DCDParser +from . import dmd as DMDParser +from . import dpd as DPDParser +from . import prf as PRFParser +from . import profile as ProfileParser +from . import sad as SADParser +from . import scd as SCDParser +from . import spd as SPDParser +from . import parserconfig diff --git a/redhawk/src/base/framework/python/ossie/parsers/dcd.py b/redhawk/src/base/framework/python/ossie/parsers/dcd.py index f50a7498d..9880c271a 100644 --- a/redhawk/src/base/framework/python/ossie/parsers/dcd.py +++ b/redhawk/src/base/framework/python/ossie/parsers/dcd.py @@ -52,7 +52,7 @@ Validate_simpletypes_ = True if sys.version_info[0] == 2: - BaseStrType_ = basestring + BaseStrType_ = str else: BaseStrType_ = str @@ -115,7 +115,7 @@ def parsexmlstring_(instring, parser=None, **kwargs): # in a module named generatedssuper.py. try: - from generatedssuper import GeneratedsSuper + from .generatedssuper import GeneratedsSuper except ImportError as exp: class GeneratedsSuper(object): @@ -415,7 +415,7 @@ def gds_build_any(self, node, type_name=None): return None @classmethod def gds_reverse_node_mapping(cls, mapping): - return dict(((v, k) for k, v in mapping.iteritems())) + return dict(((v, k) for k, v in mapping.items())) @staticmethod def gds_encode(instring): if sys.version_info[0] == 2: @@ -426,7 +426,7 @@ def gds_encode(instring): def convert_unicode(instring): if isinstance(instring, str): result = quote_xml(instring) - elif sys.version_info[0] == 2 and isinstance(instring, unicode): + elif sys.version_info[0] == 2 and isinstance(instring, str): result = quote_xml(instring).encode('utf8') else: result = GeneratedsSuper.gds_encode(str(instring)) diff --git a/redhawk/src/base/framework/python/ossie/parsers/dmd.py b/redhawk/src/base/framework/python/ossie/parsers/dmd.py index 7041da59a..858558a09 100644 --- a/redhawk/src/base/framework/python/ossie/parsers/dmd.py +++ b/redhawk/src/base/framework/python/ossie/parsers/dmd.py @@ -52,7 +52,7 @@ Validate_simpletypes_ = True if sys.version_info[0] == 2: - BaseStrType_ = basestring + BaseStrType_ = str else: BaseStrType_ = str @@ -115,7 +115,7 @@ def parsexmlstring_(instring, parser=None, **kwargs): # in a module named generatedssuper.py. try: - from generatedssuper import GeneratedsSuper + from .generatedssuper import GeneratedsSuper except ImportError as exp: class GeneratedsSuper(object): @@ -415,7 +415,7 @@ def gds_build_any(self, node, type_name=None): return None @classmethod def gds_reverse_node_mapping(cls, mapping): - return dict(((v, k) for k, v in mapping.iteritems())) + return dict(((v, k) for k, v in mapping.items())) @staticmethod def gds_encode(instring): if sys.version_info[0] == 2: @@ -426,7 +426,7 @@ def gds_encode(instring): def convert_unicode(instring): if isinstance(instring, str): result = quote_xml(instring) - elif sys.version_info[0] == 2 and isinstance(instring, unicode): + elif sys.version_info[0] == 2 and isinstance(instring, str): result = quote_xml(instring).encode('utf8') else: result = GeneratedsSuper.gds_encode(str(instring)) diff --git a/redhawk/src/base/framework/python/ossie/parsers/dpd.py b/redhawk/src/base/framework/python/ossie/parsers/dpd.py index 88d5647b6..a8cf65984 100644 --- a/redhawk/src/base/framework/python/ossie/parsers/dpd.py +++ b/redhawk/src/base/framework/python/ossie/parsers/dpd.py @@ -52,7 +52,7 @@ Validate_simpletypes_ = True if sys.version_info[0] == 2: - BaseStrType_ = basestring + BaseStrType_ = str else: BaseStrType_ = str @@ -115,7 +115,7 @@ def parsexmlstring_(instring, parser=None, **kwargs): # in a module named generatedssuper.py. try: - from generatedssuper import GeneratedsSuper + from .generatedssuper import GeneratedsSuper except ImportError as exp: class GeneratedsSuper(object): @@ -415,7 +415,7 @@ def gds_build_any(self, node, type_name=None): return None @classmethod def gds_reverse_node_mapping(cls, mapping): - return dict(((v, k) for k, v in mapping.iteritems())) + return dict(((v, k) for k, v in mapping.items())) @staticmethod def gds_encode(instring): if sys.version_info[0] == 2: @@ -426,7 +426,7 @@ def gds_encode(instring): def convert_unicode(instring): if isinstance(instring, str): result = quote_xml(instring) - elif sys.version_info[0] == 2 and isinstance(instring, unicode): + elif sys.version_info[0] == 2 and isinstance(instring, str): result = quote_xml(instring).encode('utf8') else: result = GeneratedsSuper.gds_encode(str(instring)) diff --git a/redhawk/src/base/framework/python/ossie/parsers/generatedssuper.py b/redhawk/src/base/framework/python/ossie/parsers/generatedssuper.py index 9c053fa9c..a3d086f7b 100644 --- a/redhawk/src/base/framework/python/ossie/parsers/generatedssuper.py +++ b/redhawk/src/base/framework/python/ossie/parsers/generatedssuper.py @@ -26,7 +26,7 @@ ExternalEncoding = 'ascii' if sys.version_info[0] == 2: - BaseStrType_ = basestring + BaseStrType_ = str else: BaseStrType_ = str CDATA_pattern_ = re_.compile(r"", re_.DOTALL) @@ -75,7 +75,7 @@ def gds_validate_integer(self, input_data, node, input_name=''): def convert_unicode(self, instring): if isinstance(instring, str): result = quote_xml(instring) - elif sys.version_info[0] == 2 and isinstance(instring, unicode): + elif sys.version_info[0] == 2 and isinstance(instring, str): result = quote_xml(instring).encode('utf8') else: result = GeneratedsSuper.gds_encode(str(instring)) diff --git a/redhawk/src/base/framework/python/ossie/parsers/prf.py b/redhawk/src/base/framework/python/ossie/parsers/prf.py index 6daf8860f..a638e79e2 100644 --- a/redhawk/src/base/framework/python/ossie/parsers/prf.py +++ b/redhawk/src/base/framework/python/ossie/parsers/prf.py @@ -52,7 +52,7 @@ Validate_simpletypes_ = True if sys.version_info[0] == 2: - BaseStrType_ = basestring + BaseStrType_ = str else: BaseStrType_ = str @@ -115,7 +115,7 @@ def parsexmlstring_(instring, parser=None, **kwargs): # in a module named generatedssuper.py. try: - from generatedssuper import GeneratedsSuper + from .generatedssuper import GeneratedsSuper except ImportError as exp: class GeneratedsSuper(object): @@ -415,7 +415,7 @@ def gds_build_any(self, node, type_name=None): return None @classmethod def gds_reverse_node_mapping(cls, mapping): - return dict(((v, k) for k, v in mapping.iteritems())) + return dict(((v, k) for k, v in mapping.items())) @staticmethod def gds_encode(instring): if sys.version_info[0] == 2: @@ -426,7 +426,7 @@ def gds_encode(instring): def convert_unicode(instring): if isinstance(instring, str): result = quote_xml(instring) - elif sys.version_info[0] == 2 and isinstance(instring, unicode): + elif sys.version_info[0] == 2 and isinstance(instring, str): result = quote_xml(instring).encode('utf8') else: result = GeneratedsSuper.gds_encode(str(instring)) diff --git a/redhawk/src/base/framework/python/ossie/parsers/profile.py b/redhawk/src/base/framework/python/ossie/parsers/profile.py index 5976aba9b..fdc624af8 100644 --- a/redhawk/src/base/framework/python/ossie/parsers/profile.py +++ b/redhawk/src/base/framework/python/ossie/parsers/profile.py @@ -52,7 +52,7 @@ Validate_simpletypes_ = True if sys.version_info[0] == 2: - BaseStrType_ = basestring + BaseStrType_ = str else: BaseStrType_ = str @@ -115,7 +115,7 @@ def parsexmlstring_(instring, parser=None, **kwargs): # in a module named generatedssuper.py. try: - from generatedssuper import GeneratedsSuper + from .generatedssuper import GeneratedsSuper except ImportError as exp: class GeneratedsSuper(object): @@ -415,7 +415,7 @@ def gds_build_any(self, node, type_name=None): return None @classmethod def gds_reverse_node_mapping(cls, mapping): - return dict(((v, k) for k, v in mapping.iteritems())) + return dict(((v, k) for k, v in mapping.items())) @staticmethod def gds_encode(instring): if sys.version_info[0] == 2: @@ -426,7 +426,7 @@ def gds_encode(instring): def convert_unicode(instring): if isinstance(instring, str): result = quote_xml(instring) - elif sys.version_info[0] == 2 and isinstance(instring, unicode): + elif sys.version_info[0] == 2 and isinstance(instring, str): result = quote_xml(instring).encode('utf8') else: result = GeneratedsSuper.gds_encode(str(instring)) diff --git a/redhawk/src/base/framework/python/ossie/parsers/sad.py b/redhawk/src/base/framework/python/ossie/parsers/sad.py index 47cd6d4f2..871f3a9c1 100644 --- a/redhawk/src/base/framework/python/ossie/parsers/sad.py +++ b/redhawk/src/base/framework/python/ossie/parsers/sad.py @@ -52,7 +52,7 @@ Validate_simpletypes_ = True if sys.version_info[0] == 2: - BaseStrType_ = basestring + BaseStrType_ = str else: BaseStrType_ = str @@ -115,7 +115,7 @@ def parsexmlstring_(instring, parser=None, **kwargs): # in a module named generatedssuper.py. try: - from generatedssuper import GeneratedsSuper + from .generatedssuper import GeneratedsSuper except ImportError as exp: class GeneratedsSuper(object): @@ -415,7 +415,7 @@ def gds_build_any(self, node, type_name=None): return None @classmethod def gds_reverse_node_mapping(cls, mapping): - return dict(((v, k) for k, v in mapping.iteritems())) + return dict(((v, k) for k, v in mapping.items())) @staticmethod def gds_encode(instring): if sys.version_info[0] == 2: @@ -426,7 +426,7 @@ def gds_encode(instring): def convert_unicode(instring): if isinstance(instring, str): result = quote_xml(instring) - elif sys.version_info[0] == 2 and isinstance(instring, unicode): + elif sys.version_info[0] == 2 and isinstance(instring, str): result = quote_xml(instring).encode('utf8') else: result = GeneratedsSuper.gds_encode(str(instring)) diff --git a/redhawk/src/base/framework/python/ossie/parsers/scd.py b/redhawk/src/base/framework/python/ossie/parsers/scd.py index ddf37dc84..31ca07fba 100644 --- a/redhawk/src/base/framework/python/ossie/parsers/scd.py +++ b/redhawk/src/base/framework/python/ossie/parsers/scd.py @@ -52,7 +52,7 @@ Validate_simpletypes_ = True if sys.version_info[0] == 2: - BaseStrType_ = basestring + BaseStrType_ = str else: BaseStrType_ = str @@ -115,7 +115,7 @@ def parsexmlstring_(instring, parser=None, **kwargs): # in a module named generatedssuper.py. try: - from generatedssuper import GeneratedsSuper + from .generatedssuper import GeneratedsSuper except ImportError as exp: class GeneratedsSuper(object): @@ -415,7 +415,7 @@ def gds_build_any(self, node, type_name=None): return None @classmethod def gds_reverse_node_mapping(cls, mapping): - return dict(((v, k) for k, v in mapping.iteritems())) + return dict(((v, k) for k, v in mapping.items())) @staticmethod def gds_encode(instring): if sys.version_info[0] == 2: @@ -426,7 +426,7 @@ def gds_encode(instring): def convert_unicode(instring): if isinstance(instring, str): result = quote_xml(instring) - elif sys.version_info[0] == 2 and isinstance(instring, unicode): + elif sys.version_info[0] == 2 and isinstance(instring, str): result = quote_xml(instring).encode('utf8') else: result = GeneratedsSuper.gds_encode(str(instring)) diff --git a/redhawk/src/base/framework/python/ossie/parsers/spd.py b/redhawk/src/base/framework/python/ossie/parsers/spd.py index 3cfb92394..f0c59911e 100644 --- a/redhawk/src/base/framework/python/ossie/parsers/spd.py +++ b/redhawk/src/base/framework/python/ossie/parsers/spd.py @@ -52,7 +52,7 @@ Validate_simpletypes_ = True if sys.version_info[0] == 2: - BaseStrType_ = basestring + BaseStrType_ = str else: BaseStrType_ = str @@ -115,7 +115,7 @@ def parsexmlstring_(instring, parser=None, **kwargs): # in a module named generatedssuper.py. try: - from generatedssuper import GeneratedsSuper + from .generatedssuper import GeneratedsSuper except ImportError as exp: class GeneratedsSuper(object): @@ -415,7 +415,7 @@ def gds_build_any(self, node, type_name=None): return None @classmethod def gds_reverse_node_mapping(cls, mapping): - return dict(((v, k) for k, v in mapping.iteritems())) + return dict(((v, k) for k, v in mapping.items())) @staticmethod def gds_encode(instring): if sys.version_info[0] == 2: @@ -426,7 +426,7 @@ def gds_encode(instring): def convert_unicode(instring): if isinstance(instring, str): result = quote_xml(instring) - elif sys.version_info[0] == 2 and isinstance(instring, unicode): + elif sys.version_info[0] == 2 and isinstance(instring, str): result = quote_xml(instring).encode('utf8') else: result = GeneratedsSuper.gds_encode(str(instring)) @@ -1565,7 +1565,7 @@ def validate_codeFileType(self, value): # Validate type codeFileType, a restriction on xs:NMTOKEN. if value is not None and Validate_simpletypes_: value = str(value) - enumerations = ['Executable', 'KernelModule', 'SharedLibrary', 'Driver'] + enumerations = ['Executable', 'KernelModule', 'SharedLibrary', 'Driver', 'Container'] enumeration_respectee = False for enum in enumerations: if value == enum: diff --git a/redhawk/src/base/framework/python/ossie/properties.py b/redhawk/src/base/framework/python/ossie/properties.py index d7bbb2bd7..6c72b599a 100644 --- a/redhawk/src/base/framework/python/ossie/properties.py +++ b/redhawk/src/base/framework/python/ossie/properties.py @@ -29,7 +29,7 @@ import ossie.parsers.prf import sys import traceback -import StringIO +import io import types import struct import inspect @@ -43,10 +43,10 @@ 'uint16': (int, CORBA.TC_ushort), 'int': (int, CORBA.TC_long), 'int32': (int, CORBA.TC_long), - 'uint32': (long, CORBA.TC_ulong), - 'long': (long, CORBA.TC_longlong), - 'int64': (long, CORBA.TC_longlong), - 'uint64': (long, CORBA.TC_ulonglong), + 'uint32': (int, CORBA.TC_ulong), + 'long': (int, CORBA.TC_longlong), + 'int64': (int, CORBA.TC_longlong), + 'uint64': (int, CORBA.TC_ulonglong), 'float': (float, CORBA.TC_float), 'float32': (float, CORBA.TC_float), 'float64': (float, CORBA.TC_double), @@ -63,14 +63,14 @@ 'float': (float, CORBA.TC_float), 'long': (int, CORBA.TC_long), 'longdouble': (float, CORBA.TC_longdouble), - 'longlong': (long, CORBA.TC_longlong), + 'longlong': (int, CORBA.TC_longlong), 'None': (None, CORBA.TC_null), 'objref': (CORBA.Object, CORBA.TC_Object), 'octet': (int, CORBA.TC_octet), 'short': (int, CORBA.TC_short), 'string': (str, CORBA.TC_string), - 'ulong': (long, CORBA.TC_ulong), - 'ulonglong': (long, CORBA.TC_ulonglong), + 'ulong': (int, CORBA.TC_ulong), + 'ulonglong': (int, CORBA.TC_ulonglong), 'ushort': (int, CORBA.TC_ushort), 'void': (None, CORBA.TC_void), 'wchar': (str, CORBA.TC_char), @@ -88,7 +88,7 @@ 'complexULong': (complex, CF._tc_complexULong, CF.complexULong, - long, + int, CF._tc_complexLongSeq), 'complexShort': (complex, CF._tc_complexShort, @@ -118,17 +118,17 @@ 'complexLong': (complex, CF._tc_complexLong, CF.complexLong, - long, + int, CF._tc_complexLongSeq), 'complexLongLong': (complex, CF._tc_complexLongLong, CF.complexLongLong, - long, + int, CF._tc_complexLongLongSeq), 'complexULongLong': (complex, CF._tc_complexULongLong, CF.complexULongLong, - long, + int, CF._tc_complexULongLongSeq), 'utctime': (CF.UTCTime, CF._tc_UTCTime, @@ -157,11 +157,11 @@ def getTypeNameFromTC(_tc): def getPyType(type_, alt_map=None): if alt_map: try: - if alt_map.has_key(type_): + if type_ in alt_map: return alt_map[type_][0] except: pass - if __TYPE_MAP.has_key(type_): + if type_ in __TYPE_MAP: return __TYPE_MAP[type_][0] return None @@ -212,7 +212,7 @@ def to_pyvalue(data, type_,alt_py_tc=None): if not isinstance(data, pytype): # Handle boolean strings as a special case - if type_ == "boolean" and type(data) in (str, unicode): + if type_ == "boolean" and type(data) in (str, str): try: data = {"TRUE": 1, "FALSE": 0}[data.strip().upper()] except: @@ -222,8 +222,8 @@ def to_pyvalue(data, type_,alt_py_tc=None): if type_.find("complex") == 0: data = _toPyComplex(data, type_) else: - if pytype in [int, long] : - if type(data) in (str,unicode): + if pytype in [int, int] : + if type(data) in (str,str): data = pytype(data,0) else: data = pytype(data) @@ -304,7 +304,7 @@ def to_tc_value(data, type_, alt_map=None): tc = getTypeCode(type_) _any = CORBA.Any(tc, data) return CORBA.Any(tc, data) - elif alt_map and alt_map.has_key(type_): + elif alt_map and type_ in alt_map: pytype, tc = alt_map[type_] if tc == None: # Unknown type, let omniORB decide @@ -322,7 +322,7 @@ def to_tc_value(data, type_, alt_map=None): # Convert to the correct Python using alternate mapping data = to_pyvalue(data, type_, alt_map) return CORBA.Any(tc, data) - elif __TYPE_MAP.has_key(type_): + elif type_ in __TYPE_MAP: # If the typecode is known, use that pytype, tc = __TYPE_MAP[type_] @@ -352,7 +352,7 @@ def numpy_to_tc_value(data, type_): def struct_fields(value): - if isinstance(value, types.ClassType) or hasattr(value, '__bases__'): + if isinstance(value, type) or hasattr(value, '__bases__'): clazz = value else: clazz = type(value) @@ -360,8 +360,8 @@ def struct_fields(value): # just look at the class dictionary to find the fields. fields = getattr(clazz, '__fields', None) if fields is None: - fields = [p for p in clazz.__dict__.itervalues() if isinstance(p, simple_property)] - fields += [p for p in clazz.__dict__.itervalues() if isinstance(p, simpleseq_property)] + fields = [p for p in clazz.__dict__.values() if isinstance(p, simple_property)] + fields += [p for p in clazz.__dict__.values() if isinstance(p, simpleseq_property)] members = inspect.getmembers(value) for member in members: if isinstance(member[1], simple_property) or isinstance(member[1], simpleseq_property): @@ -382,7 +382,7 @@ def struct_values(value): for attr in fields: field_value = attr.get(value) if type(field_value) == dict: - for key in field_value.keys(): + for key in list(field_value.keys()): result.append((attr.id_+key, field_value[key])) else: result.append((attr.id_, field_value)) @@ -406,7 +406,7 @@ def struct_from_props(value, structdef, strictComplete=True): newvalues = dict([(v["id"], v["value"]) for v in value]) # For each field, try to set the value - for name, attr in structdef.__dict__.items(): + for name, attr in list(structdef.__dict__.items()): if type(attr) is not simple_property and type(attr) is not simpleseq_property: continue if attr.optional == True: @@ -416,7 +416,7 @@ def struct_from_props(value, structdef, strictComplete=True): value = newvalues[attr.id_] except: if strictComplete: - raise ValueError, "provided value is missing element " + attr.id_ + raise ValueError("provided value is missing element " + attr.id_) else: continue else: @@ -439,7 +439,7 @@ def struct_from_dict(id, dt): returns: - Struct Property is id of 'id' ''' - a = [CF.DataType(id=k, value=any.to_any(check_type_for_long(v))) for k, v in dt.items()] + a = [CF.DataType(id=k, value=any.to_any(check_type_for_long(v))) for k, v in list(dt.items())] return CF.DataType(id=id, value=any.to_any(a)) def struct_prop_from_seq(prop, idx): @@ -454,18 +454,18 @@ def struct_prop_id_update(prop, id, val): def check_type_for_long(val): if type(val) == int: # any.to_any defaults int values to TC_long, which is not appropriate outside the 2**32 range if val < -2147483648 or val > 2147483647: - return (long(val)) + return (int(val)) return val def props_from_dict(dt): '''Creates a Properties list from a dictionary''' result = [] - for _id,_val in dt.items(): + for _id,_val in list(dt.items()): # either structsequence or simplesequence if type(_val) == list: # structsequence if len(_val) > 0 and type(_val[0]) == dict: - a = [props_to_any([CF.DataType(id=k, value=any.to_any(check_type_for_long(v))) for k,v in b.items()]) for b in _val] + a = [props_to_any([CF.DataType(id=k, value=any.to_any(check_type_for_long(v))) for k,v in list(b.items())]) for b in _val] result.append(CF.DataType(id=_id, value=any.to_any(a))) # simplesequence else: @@ -542,14 +542,14 @@ def xml_to_class(prop): # Basic __init__(), initializes all fields. def initialize(self): object.__init__(self) - for name, attr in self.__class__.__dict__.items(): + for name, attr in list(self.__class__.__dict__.items()): if type(attr) is simple_property: attr.initialize(self) # Basic __str__(), prints all fields. def toString(self): out = '' - for name, attr in self.__class__.__dict__.items(): + for name, attr in list(self.__class__.__dict__.items()): if type(attr) is simple_property: out += '%s=%s\n' % (name, str(attr.get(self))) return out[:-1] @@ -604,8 +604,8 @@ def mapComplexType(type): "ulong" : "complexULong", "longlong" : "complexLongLong", "ulonglong" : "complexULongLong"} - if not primitiveToComplexMap.has_key(type): - raise ValueError, "Type %s cannot be complex" % type + if type not in primitiveToComplexMap: + raise ValueError("Type %s cannot be complex" % type) return primitiveToComplexMap[type] @@ -631,7 +631,7 @@ def __init__(self, self.id_ = id_ if type_ != None and type_ not in _SCA_TYPES: - raise ValueError, "type %s is invalid" % type_ + raise ValueError("type %s is invalid" % type_) if complex: # Downstream processing wants complexFloat instead of float @@ -683,7 +683,7 @@ def initialize(self, obj): def query(self, obj, operator=None): # By default operators are not supported if operator != None: - raise AttributeError, "this property doesn't support configure/query operators" + raise AttributeError("this property doesn't support configure/query operators") value = self._query(obj) # Only try to do conversion to CORBA Any if the value is not already @@ -696,7 +696,7 @@ def query(self, obj, operator=None): def construct(self, obj, value ): # By default operators are not supported if operator != None: - raise AttributeError, "this property doesn't support configure/query operators" + raise AttributeError("this property doesn't support configure/query operators") # Convert the value to its proper representation (e.g. structs # should be a class instance, not a dictionary). @@ -707,7 +707,7 @@ def construct(self, obj, value ): def configure(self, obj, value, operator=None, disableCallbacks=False): # By default operators are not supported if operator != None: - raise AttributeError, "this property doesn't support configure/query operators" + raise AttributeError("this property doesn't support configure/query operators") # Convert the value to its proper representation (e.g. structs # should be a class instance, not a dictionary). @@ -731,12 +731,12 @@ def inBounds(self, value): realBounds = {"octet" : Bounds(0, 256), "short" : Bounds(-32768, 32768), "ushort" : Bounds(0, 65536), - "long" : Bounds(-2147483648L,2147483648L), - "ulong" : Bounds(0, 4294967296L), - "longlong" : Bounds(-9223372036854775808L, 9223372036854775808L), - "ulonglong": Bounds(0, 18446744073709551616L)} + "long" : Bounds(-2147483648,2147483648), + "ulong" : Bounds(0, 4294967296), + "longlong" : Bounds(-9223372036854775808, 9223372036854775808), + "ulonglong": Bounds(0, 18446744073709551616)} - if realBounds.has_key(self.type_): + if self.type_ in realBounds: # Check bounds of simple type goodValue = realBounds[self.type_].inBounds(value) @@ -750,7 +750,7 @@ def inBounds(self, value): "complexULong:" : "ulong", "complexLongLong" : "longlong", "complexULongLong" : "ulonglong"} - if complexBounds.has_key(self.type_): + if self.type_ in complexBounds: # Check bounds of complex type # Create a bounds checker for the individual members of the @@ -776,11 +776,11 @@ def checkValue(self, value, obj): elif type(self) == ossie.properties.struct_property: # Gets the members of the current resources struct - members = obj._props._PropertyStorage__properties[self.id_].fields.items() + members = list(obj._props._PropertyStorage__properties[self.id_].fields.items()) # Finds matching struct members to compare for id, prop in members: name, val = prop - for inId, inVal in value.__dict__.items(): + for inId, inVal in list(value.__dict__.items()): if id == inId[2:len(inId)-2]: val.checkValue(inVal, obj) @@ -796,13 +796,13 @@ def checkValue(self, value, obj): elif type(self) == ossie.properties.structseq_property: # Gets the members of the current resources struct - members = obj._props._PropertyStorage__properties[self.id_].fields.items() + members = list(obj._props._PropertyStorage__properties[self.id_].fields.items()) # Loops through each structure in the sequence for currStruct in value: # Finds matching struct members to compare for id , prop in members: name, val = prop - for inId, inVal in currStruct.__dict__.items(): + for inId, inVal in list(currStruct.__dict__.items()): if id == inId[2:len(inId)-2]: val.checkValue(inVal, obj) @@ -870,7 +870,7 @@ def __set__(self, obj, value): def __delete__(self, obj): """Prevents SCA properties from being deleted""" - raise AttributeError, "can't delete SCA property" + raise AttributeError("can't delete SCA property") def __str__(self): #return "%s %s" % (self.id_, self.name) @@ -944,11 +944,11 @@ def _configure(self, obj, value, disableCallbacks=False ): # Try the implicit callback, then fall back # to the automatic attribute if self.fval != None and not self.fval(obj, value): - raise ValueError, "validation failed for value %s" % value + raise ValueError("validation failed for value %s" % value) else: validate = self._getCallback(obj, self._val_cbname) if validate != None and not validate(value): - raise ValueError, "validation failed for value %s" % value + raise ValueError("validation failed for value %s" % value) oldvalue = self.get(obj) configure = self._getCallback(obj, self._conf_cbname) @@ -1028,8 +1028,8 @@ def query(self, obj, operator=None): return any.to_any(check_type_for_long(value)) elif operator != None: value = self._getSliceOperator(value, operator) - except Exception, e: - raise AttributeError, "error processing operator '%s': '%s' %s" % (operator, e, "\n".join(traceback.format_tb(sys.exc_traceback))) + except Exception as e: + raise AttributeError("error processing operator '%s': '%s' %s" % (operator, e, "\n".join(traceback.format_tb(sys.exc_info()[2])))) # At this point, value must be a normal sequence, so we can use the # standard conversion routine. @@ -1099,19 +1099,19 @@ def __set__(self, obj, values): # Internal operator definitions def _getDefaultOperator(self, value, operator): if isinstance(value, dict): - return value.values() + return list(value.values()) else: return value def _getKeysOperator(self, value, operator): if isinstance(value, dict): - return value.keys() + return list(value.keys()) else: - return range(len(value)) + return list(range(len(value))) def _getKeyValuePairsOperator(self, value, operator): if isinstance(value, dict): - values = value.items() + values = list(value.items()) else: values = enumerate(value) return [CF.DataType(id=str(x[0]), value=self._itemToAny(x[1])) for x in values] @@ -1120,10 +1120,10 @@ def _setKeyValuePairsOperator(self, oldvalue, newvalue, operator): if isinstance(oldvalue, dict): for dt in newvalue: # For now, don't allow new keys to be added - if oldvalue.has_key(dt["id"]): + if dt["id"] in oldvalue: oldvalue[dt["id"]] = dt["value"] else: - raise ValueError, "attempt to add new key to sequence" + raise ValueError("attempt to add new key to sequence") return oldvalue elif isinstance(oldvalue, list): for dt in newvalue: @@ -1223,7 +1223,7 @@ def toXML(self, level=0, version="2.2.2"): for kind in self.kinds: simp.add_kind(ossie.parsers.prf.kind(kindtype=kind)) - xml = StringIO.StringIO() + xml = io.StringIO() simp.export(xml, level, name_='simple') return xml.getvalue() @@ -1307,13 +1307,13 @@ def toXML(self, level=0, version="2.2.2"): units=self.units, action=ossie.parsers.prf.action(type_=self.action)) - values = ossie.parsers.prf.values() + values = list(ossie.parsers.prf.values()) if self.defvalue: for v in self.defvalue: values.add_value(to_xmlvalue(v, self.type_)) simpseq.set_values(values) - xml = StringIO.StringIO() + xml = io.StringIO() simpseq.export(xml, level, name_='simplesequence') return xml.getvalue() @@ -1390,11 +1390,11 @@ def __init__(self, configurationkind = (configurationkind,) _property.__init__(self, id_, None, name, None, mode, "external", configurationkind, description, fget, fset, fval) - if type(structdef) is types.ClassType: + if type(structdef) is type: raise ValueError("structdef must be a new-style python class (i.e. inherits from object)") self.structdef = structdef self.fields = {} # Map field id's to attribute names - for name, attr in self.structdef.__dict__.items(): + for name, attr in list(self.structdef.__dict__.items()): if type(attr) is simple_property: self.fields[attr.id_] = (name, attr) elif type(attr) is simpleseq_property: @@ -1420,7 +1420,7 @@ def toXML(self, level=0, version="2.2.2"): for kind in self.kinds: struct.add_configurationkind(ossie.parsers.prf.configurationKind(kind)) - for name, attr in self.structdef.__dict__.items(): + for name, attr in list(self.structdef.__dict__.items()): if type(attr) is simple_property: simp = ossie.parsers.prf.simple(id_=attr.id_, type_=attr.type_, @@ -1438,7 +1438,7 @@ def toXML(self, level=0, version="2.2.2"): units=attr.units) struct.add_simplesequence(simpseq) - xml = StringIO.StringIO() + xml = io.StringIO() struct.export(xml, level, name_='struct') return xml.getvalue() @@ -1459,7 +1459,7 @@ def initialize(self, obj): # Create an initial object structval = self.structdef() # Initialize all of the properties in the struct - for name, attr in self.structdef.__dict__.items(): + for name, attr in list(self.structdef.__dict__.items()): if type(attr) is simple_property: attr.initialize(structval) elif type(attr) is simpleseq_property: @@ -1493,11 +1493,11 @@ def __init__(self, configurationkind = (configurationkind,) _sequence_property.__init__(self, id_, None, name, None, mode, "external", configurationkind, description, fget, fset, fval) - if type(structdef) is types.ClassType: + if type(structdef) is type: raise ValueError("structdef must be a new-style python class (i.e. inherits from object)") self.structdef = structdef self.fields = {} # Map field id's to attribute names - for name, attr in self.structdef.__dict__.items(): + for name, attr in list(self.structdef.__dict__.items()): if type(attr) is simple_property: self.fields[attr.id_] = (name, attr) elif type(attr) is simpleseq_property: @@ -1529,7 +1529,7 @@ def toXML(self, level=0, version="2.2.2"): structseq.add_configurationkind(ossie.parsers.prf.configurationKind(kind)) struct = ossie.parsers.prf.struct(id_="") - for name, attr in self.structdef.__dict__.items(): + for name, attr in list(self.structdef.__dict__.items()): if type(attr) is simple_property: simp = ossie.parsers.prf.simple(id_=attr.id_, type_=attr.type_, @@ -1549,7 +1549,7 @@ def toXML(self, level=0, version="2.2.2"): if self.defvalue: for v in self.defvalue: structval = ossie.parsers.prf.structValue() - for name, attr in self.structdef.__dict__.items(): + for name, attr in list(self.structdef.__dict__.items()): if type(attr) is simple_property: id_=attr.id_ value = to_xmlvalue(attr.get(v), attr.type_) @@ -1560,7 +1560,7 @@ def toXML(self, level=0, version="2.2.2"): structval.add_simpleseqref(ossie.parsers.prf.simpleSequenceRef(id_, values)) structseq.add_structvalue(structval) - xml = StringIO.StringIO() + xml = io.StringIO() structseq.export(xml, level, name_='structsequence') return xml.getvalue() @@ -1693,9 +1693,9 @@ def _addProperty(self, property): # Don't add things if they are already defined id_ = str(property.id_) name_ = str(property.name) - if self.__properties.has_key(id_): + if id_ in self.__properties: raise KeyError("Duplicate Property ID %s found", id_) - if self.__name_map.has_key(name_): + if name_ in self.__name_map: raise KeyError("Duplicate Property Name found") self.__properties[id_] = property @@ -1716,9 +1716,9 @@ def __getitem__(self, key): def __setitem__(self, key, value): # Don't let people add new items to the dictionary prop = None - if self.__properties.has_key(key): + if key in self.__properties: prop = self.__properties[key] - elif self.__properties.has_key(self.getPropId(key)): + elif self.getPropId(key) in self.__properties: prop = self.__properties[self.getPropId(key)] else: raise KeyError @@ -1769,8 +1769,8 @@ def configure(self, propid, value, disableCallbacks=False ): self._changeListeners[id_](id_, oldvalue, newvalue) else: # property kind if oldvalue != newvalue: - if self._changeListeners[id_].func_code.co_argcount != 4: - raise CF.PropertySet.InvalidConfiguration(msg='callback function '+self._changeListeners[id_].func_name+' has the wrong number of arguments',invalidProperties=prop) + if self._changeListeners[id_].__code__.co_argcount != 4: + raise CF.PropertySet.InvalidConfiguration(msg='callback function '+self._changeListeners[id_].__name__+' has the wrong number of arguments',invalidProperties=prop) self._changeListeners[id_](id_, oldvalue, newvalue) else: self.__resource._log.debug("Value has not changed on configure for property "+id_+". Not triggering callback") @@ -1824,7 +1824,7 @@ def __contains__(self, key): result = False # First lookup by propid id_, operator = self.splitId(key) - if self.__properties.has_key(id_): + if id_ in self.__properties: return True else: try: @@ -1832,23 +1832,23 @@ def __contains__(self, key): except KeyError: return False else: - return self.__properties.has_key(id_) + return id_ in self.__properties def keys(self): - return self.__properties.keys() + return list(self.__properties.keys()) def values(self): - return self.__properties.values() + return list(self.__properties.values()) def items(self): - return self.__properties.items() + return list(self.__properties.items()) def has_key(self, key): return self.__contains__(key) def has_id(self, propid): id_, operator = self.splitId(propid) - return self.__properties.has_key(id_) + return id_ in self.__properties def getPropName(self, propid): id_, operator = self.splitId(propid) @@ -1864,7 +1864,7 @@ def getPropDef(self, propid): def isValidPropId(self, propid): id_, operator = self.splitId(propid) - return self.__properties.has_key(id_) + return id_ in self.__properties # Helper functions that implement configure/query logic per D.4.1.1.6 def isQueryable(self, propid): @@ -1895,11 +1895,11 @@ def isReadable(self, propid): def isSendEventChange(self, propid): id_, operator = self.splitId(propid) - if self.__properties.has_key(id_): + if id_ in self.__properties: return self.__properties[id_].isSendEventChange() for prop_id in self.__properties: if type(self.__properties[prop_id]) == struct_property: - if self.__properties[prop_id].fields.has_key(id_): + if id_ in self.__properties[prop_id].fields: return self.__properties[prop_id].isSendEventChange() return False @@ -1907,11 +1907,11 @@ def reset(self): self.initialize() def initialize(self): - for prop in self.__properties.values(): + for prop in list(self.__properties.values()): prop.initialize(self.__resource) - for propid, value in self.__execparams.items(): - if self.has_key(propid): + for propid, value in list(self.__execparams.items()): + if propid in self: # Since execparams are always strings and must be simple, # convert them to the right type self.__setitem__(propid, self._convertType(value, propid)) @@ -1941,7 +1941,7 @@ def addChangeListener(self, callback, filter=None): self._genericListeners.append(callback) else: # Turn single property ID into a list of one - if isinstance(filter, basestring): + if isinstance(filter, str): filter = [filter] # Associate the property IDs with the callback @@ -1949,12 +1949,12 @@ def addChangeListener(self, callback, filter=None): self._changeListeners[propid] = callback def removeChangeListener(self, callback): - if isinstance(callback, basestring): + if isinstance(callback, str): # Caller provided a property ID del self._changeListeners[callback] else: # Remove any by-id callbacks that use the same function - for propid in self._changeListeners.keys(): + for propid in list(self._changeListeners.keys()): if self._changeListeners[propid] == callback: del self._changeListeners[propid] # Filter out generic callbacks that use the same function @@ -1965,7 +1965,7 @@ def setPropertyChangeEvent(self, callback): for prop_id in self.__properties: self.__properties[prop_id].sendPropertyChangeEvent = self.__propertyChangeEvent if type(self.__properties[prop_id]) == struct_property: - for name, attr in self.__properties[prop_id].structdef.__dict__.items(): + for name, attr in list(self.__properties[prop_id].structdef.__dict__.items()): if type(attr) is simple_property: attr.sendPropertyChangeEvent = self.__propertyChangeEvent diff --git a/redhawk/src/base/framework/python/ossie/resource.py b/redhawk/src/base/framework/python/ossie/resource.py index 85e530718..948383edd 100644 --- a/redhawk/src/base/framework/python/ossie/resource.py +++ b/redhawk/src/base/framework/python/ossie/resource.py @@ -24,9 +24,9 @@ import ossie.utils.log4py.config import tempfile import os -import urlparse -urlparse.uses_netloc.append("sca") -urlparse.uses_query.append("sca") +import urllib.parse +urllib.parse.uses_netloc.append("sca") +urllib.parse.uses_query.append("sca") import time import threading import logging @@ -35,14 +35,14 @@ from ossie.utils import uuid from ossie.threadedcomponent import ThreadedComponent import ossie.logger -import containers +from . import containers import sys import CosNaming import CosEventChannelAdmin, CosEventChannelAdmin__POA import signal import getopt -from Queue import Queue +from queue import Queue @@ -120,11 +120,11 @@ def __get__(self, obj, objtype=None): def __set__(self, obj, value): if self.fget != None: - raise AttributeError, "can't set SCA port definition that uses fget" + raise AttributeError("can't set SCA port definition that uses fget") setattr(obj, self._attrname, value) def __delete__(self, obj): - raise AttributeError, "can't delete SCA port definition" + raise AttributeError("can't delete SCA port definition") def isValid(self, portobj): raise NotImplementedError @@ -402,7 +402,7 @@ def getDomainManager(self): def __init_monitors(self): self._propMonitors = {} - for k, p in self._props.items(): + for k, p in list(self._props.items()): self._propMonitors[k] = _PCL_MonitorTrack(self,p) ######################################### @@ -410,7 +410,7 @@ def __init_monitors(self): def start(self): self._resourceLog.trace("start()") # Check all ports for a startPort() method, and call it if one exists - for portdef in self.__ports.itervalues(): + for portdef in self.__ports.values(): port = portdef.__get__(self) if hasattr(port, 'startPort'): port.startPort() @@ -419,7 +419,7 @@ def start(self): def stop(self): self._resourceLog.trace("stop()") # Check all ports for a stopPort() method, and call it if one exists - for portdef in self.__ports.itervalues(): + for portdef in self.__ports.values(): port = portdef.__get__(self) if hasattr(port, 'stopPort'): port.stopPort() @@ -443,7 +443,7 @@ def initialize(self): try: self.constructor() self.__init_monitors() - except Exception, exc: + except Exception as exc: self._resourceLog.error("initialize(): %s", str(exc)) raise CF.LifeCycle.InitializeError([str(exc)]) @@ -488,7 +488,7 @@ def getPortSet(self): """Return list of ports for this Resource""" self._portSupplierLog.trace("getPortSet()") portList = [] - for name, portdef in self.__ports.iteritems(): + for name, portdef in self.__ports.items(): obj_ptr = self.getPort(name) repid = portdef.repid description = portdef.__doc__ @@ -741,11 +741,11 @@ def query(self, configProperties): self._propertySetLog.trace("query all properties") try: rv = [] - for propid in self._props.keys(): + for propid in list(self._props.keys()): if self._props.has_id(propid) and self._props.isQueryable(propid): try: value = self._props.query(propid) - except Exception, e: + except Exception as e: self._propertySetLog.error('Failed to query %s: %s', propid, e) value = any.to_any(None) prp = self._props.getPropDef(propid) @@ -781,7 +781,7 @@ def query(self, configProperties): if self._props.has_id(prop.id) and self._props.isQueryable(prop.id): try: prop.value = self._props.query(prop.id) - except Exception, e: + except Exception as e: self._propertySetLog.error('Failed to query %s: %s', prop.id, e) prp = self._props.getPropDef(prop.id) if type(prp) == ossie.properties.struct_property: @@ -829,13 +829,13 @@ def initializeProperties(self, ctorProps): try: # run configure on property.. disable callback feature self._props.construct(prop.id, prop.value) - except ValueError, e: + except ValueError as e: self._propertySetLog.warning("Invalid value provided to construct for property %s %s", prop.id, e) notSet.append(prop) else: self._propertySetLog.warning("Tried to construct non-existent, readonly, or property with action not equal to external %s", prop.id) notSet.append(prop) - except Exception, e: + except Exception as e: self._propertySetLog.exception("Unexpected exception.") notSet.append(prop) @@ -860,13 +860,13 @@ def configure(self, configProperties): if self._props.has_id(prop.id) and self._props.isConfigurable(prop.id): try: self._props.configure(prop.id, prop.value) - except Exception, e: + except Exception as e: self._propertySetLog.warning("Invalid value provided to configure for property %s: %s", prop.id, e) notSet.append(prop) else: self._propertySetLog.warning("Tried to configure non-existent, readonly, or property with action not equal to external %s", prop.id) notSet.append(prop) - except Exception, e: + except Exception as e: error_message += str(e) self._propertySetLog.exception("Unexpected exception.") notSet.append(prop) @@ -893,7 +893,7 @@ def registerPropertyListener(self, listener, prop_ids, interval): # If the list is empty, get all props if prop_ids == []: self._propertySetLog.trace("registering all properties") - for propid in self._props.keys(): + for propid in list(self._props.keys()): if self._props.has_id(propid) and self._props.isQueryable(propid): props[propid] = _PCL_Monitor() else: @@ -988,16 +988,16 @@ def _propertyChangeServiceFunction(self): self.propertySetAccess.acquire() try: self._propertySetLog.debug("_propertyChangeServiceFunction - checking registry.... " + str(len(self._propChangeRegistry))) - for regid,rec in self._propChangeRegistry.iteritems(): + for regid,rec in self._propChangeRegistry.items(): # process changes for each property - for k,p in rec.props.iteritems(): + for k,p in rec.props.items(): self._propertySetLog.debug("_propertyChangeServiceFunction - prop/set. " + str(k) + "/" + str(p.isSet())) try: if self._propMonitors[k].isChanged(): p.recordChanged() self._propertySetLog.debug("_propertyChangeServiceFunction - prop/changed. " + str(k) + "/" + str(self._propMonitors[k].isChanged())) - except Exception, e: + except Exception as e: pass @@ -1007,7 +1007,7 @@ def _propertyChangeServiceFunction(self): rpt_props = [] idx=0 # process changes for each property - for k,p in rec.props.iteritems(): + for k,p in rec.props.items(): self._propertySetLog.debug("_propertyChangeServiceFunction - prop/set. " + str(k) + "/" + str(p.isSet())) if p.isChanged() == True : try: @@ -1036,7 +1036,7 @@ def _propertyChangeServiceFunction(self): # reset monitor's state if len( self._propChangeRegistry ) > 0: - for k,mon in self._propMonitors.iteritems(): + for k,mon in self._propMonitors.items(): mon.reset() self._propertySetLog.debug("_propertyChangeServiceFunction - adjust thread delay :" + str( delay )) @@ -1064,7 +1064,7 @@ def configure_logging(orb, uri, debugLevel=3, binding=None): def load_logging_config_uri(orb, uri, binding=None): - scheme, netloc, path, params, query, fragment = urlparse.urlparse(uri) + scheme, netloc, path, params, query, fragment = urllib.parse.urlparse(uri) if scheme == "file": ossie.utils.log4py.config.fileConfig(path, binding) elif scheme == "sca": @@ -1217,22 +1217,22 @@ def _getOptions(classtype): # they cannot start with -, therefore this is safe opts, args = getopt.getopt(sys.argv[1:], "i", ["interactive"]) if len(opts)==0 and len(args)==0: - print "usage: %s [options] [execparams]" % sys.argv[0] - print - print "The set of execparams is defined in the .prf for the component" - print "They are provided as arguments pairs ID VALUE, for example:" - print " %s INT_PARAM 5 STR_PARAM ABCDED" % sys.argv[0] - print - print classtype.__doc__ + print("usage: %s [options] [execparams]" % sys.argv[0]) + print() + print("The set of execparams is defined in the .prf for the component") + print("They are provided as arguments pairs ID VALUE, for example:") + print(" %s INT_PARAM 5 STR_PARAM ABCDED" % sys.argv[0]) + print() + print(classtype.__doc__) sys.exit(2) except getopt.GetoptError: - print "usage: %s [options] [execparams]" % sys.argv[0] - print - print "The set of execparams is defined in the .prf for the component" - print "They are provided as arguments pairs ID VALUE, for example:" - print " %s INT_PARAM 5 STR_PARAM ABCDED" % sys.argv[0] - print - print classtype.__doc__ + print("usage: %s [options] [execparams]" % sys.argv[0]) + print() + print("The set of execparams is defined in the .prf for the component") + print("They are provided as arguments pairs ID VALUE, for example:") + print(" %s INT_PARAM 5 STR_PARAM ABCDED" % sys.argv[0]) + print() + print(classtype.__doc__) sys.exit(2) return opts, args @@ -1260,7 +1260,7 @@ def parseCommandLineArgs(componentclass): def start_component(componentclass, interactive_callback=None, thread_policy=None, loggerName=None): execparams, interactive = parseCommandLineArgs(componentclass) if interactive: - print "Interactive mode (-i) no longer supported. Please use the sandbox to run Components/Devices/Services outside the scope of a Domain" + print("Interactive mode (-i) no longer supported. Please use the sandbox to run Components/Devices/Services outside the scope of a Domain") sys.exit(-1) name_binding="NOT SET" setupSignalHandlers() @@ -1275,17 +1275,17 @@ def start_component(componentclass, interactive_callback=None, thread_policy=Non component_identifier="" componentPOA = getPOA(orb, thread_policy, "componentPOA") - if not execparams.has_key("COMPONENT_IDENTIFIER"): + if "COMPONENT_IDENTIFIER" not in execparams: if not interactive: logging.warning("No 'COMPONENT_IDENTIFIER' argument provided") execparams["COMPONENT_IDENTIFIER"] = "" - if not execparams.has_key("NAME_BINDING"): + if "NAME_BINDING" not in execparams: if not interactive: logging.warning("No 'NAME_BINDING' argument provided") execparams["NAME_BINDING"] = "" - if not execparams.has_key("PROFILE_NAME"): + if "PROFILE_NAME" not in execparams: if not interactive: logging.warning("No 'PROFILE_NAME' argument provided") execparams["PROFILE_NAME"] = "" @@ -1330,7 +1330,7 @@ def start_component(componentclass, interactive_callback=None, thread_policy=Non componentPOA.activate_object(component_Obj) component_Var = component_Obj._this() nic = '' - if execparams.has_key('NIC'): + if 'NIC' in execparams: nic = execparams['NIC'] component_Obj.setAdditionalParameters(execparams["PROFILE_NAME"],execparams['NAMING_CONTEXT_IOR'], nic) @@ -1339,7 +1339,7 @@ def start_component(componentclass, interactive_callback=None, thread_policy=Non component_Obj.saveLoggingContext( log_config_uri, debug_level, ctx ) # get the naming context and bind to it - if execparams.has_key("NAMING_CONTEXT_IOR"): + if "NAMING_CONTEXT_IOR" in execparams: try: binding_object = orb.string_to_object(execparams['NAMING_CONTEXT_IOR']) except: @@ -1368,7 +1368,7 @@ def start_component(componentclass, interactive_callback=None, thread_policy=Non # Pass only the Var to prevent anybody from calling non-CORBA functions interactive_callback(component_Obj) else: - print orb.object_to_string(component_Obj._this()) + print(orb.object_to_string(component_Obj._this())) orb.run() try: diff --git a/redhawk/src/base/framework/python/ossie/service.py b/redhawk/src/base/framework/python/ossie/service.py index 1ebce4616..8ddc6cc54 100644 --- a/redhawk/src/base/framework/python/ossie/service.py +++ b/redhawk/src/base/framework/python/ossie/service.py @@ -27,7 +27,7 @@ from ossie.resource import load_logging_config_uri from ossie.cf import CF import ossie.logger -import containers +from . import containers import types def __exit_handler(signum, frame): @@ -166,7 +166,7 @@ def start_service(serviceclass, thread_policy=None): if len(sys.argv) == 2: if sys.argv[1] == '-i': - print "Interactive mode (-i) no longer supported. Please use the sandbox to run Components/Devices/Services outside the scope of a Domain" + print("Interactive mode (-i) no longer supported. Please use the sandbox to run Components/Devices/Services outside the scope of a Domain") sys.exit(-1) try: # IMPORTANT YOU CANNOT USE gnu_getopt OR OptionParser @@ -177,9 +177,9 @@ def start_service(serviceclass, thread_policy=None): # they cannot start with -, therefore this is safe opts, args = getopt.getopt(sys.argv[1:], "", [""]) except getopt.GetoptError: - print "usage: %s [options] [execparams]" % sys.argv[0] - print - print serviceclass.__doc__ + print("usage: %s [options] [execparams]" % sys.argv[0]) + print() + print(serviceclass.__doc__) sys.exit(2) options = {} @@ -220,11 +220,11 @@ def start_service(serviceclass, thread_policy=None): poaManager.activate() # If provided, get the device manager - if execparams.has_key("DEVICE_MGR_IOR"): + if "DEVICE_MGR_IOR" in execparams: devMgr = orb.string_to_object(execparams["DEVICE_MGR_IOR"]) devMgr = devMgr._narrow(CF.DeviceManager) - if not execparams.has_key("SERVICE_NAME"): + if "SERVICE_NAME" not in execparams: logging.warning("No 'SERVICE_NAME' argument provided") execparams["SERVICE_NAME"] = "" @@ -258,7 +258,7 @@ def start_service(serviceclass, thread_policy=None): component_Obj._domMgr = containers.DomainManagerContainer(devMgr._get_domMgr()) devMgr.registerService(component_Var, execparams["SERVICE_NAME"]) else: - print orb.object_to_string(component_Var) + print(orb.object_to_string(component_Var)) ## sets up logging context for resource to support CF::Logging component_Obj.saveLoggingContext( log_config_uri, debug_level, ctx ) diff --git a/redhawk/src/base/framework/python/ossie/utils/__init__.py b/redhawk/src/base/framework/python/ossie/utils/__init__.py index 952afe644..dd8735405 100644 --- a/redhawk/src/base/framework/python/ossie/utils/__init__.py +++ b/redhawk/src/base/framework/python/ossie/utils/__init__.py @@ -18,12 +18,12 @@ # along with this program. If not, see http://www.gnu.org/licenses/. # -from popen import Popen +from .popen import Popen # Try to use the uuid module from Python 2.5 or newer; if that fails, use our # fallback compatibility module. Should the minimum Python version ever be # raised to 2.5, the compatibility module can be eliminated. -import _uuid as uuid +from . import _uuid as uuid # Manually insert the uuid module into sys.modules to allow statements such as # "import ossie.utils.uuid" to work as expected. diff --git a/redhawk/src/base/framework/python/ossie/utils/_uuid.py b/redhawk/src/base/framework/python/ossie/utils/_uuid.py index 4df5f5995..236f17cf9 100644 --- a/redhawk/src/base/framework/python/ossie/utils/_uuid.py +++ b/redhawk/src/base/framework/python/ossie/utils/_uuid.py @@ -24,7 +24,7 @@ imported directly. """ -import commands as _commands +import subprocess as _commands def uuid1(node=None, clock_seq=None): """ diff --git a/redhawk/src/base/framework/python/ossie/utils/allocations/__init__.py b/redhawk/src/base/framework/python/ossie/utils/allocations/__init__.py index 18d89a780..be4cbacb8 100644 --- a/redhawk/src/base/framework/python/ossie/utils/allocations/__init__.py +++ b/redhawk/src/base/framework/python/ossie/utils/allocations/__init__.py @@ -22,6 +22,6 @@ # Python files generated for new IDLs will be added under this namespace # e.g. 'redhawk.mynamespace' -from helpers import * +from .helpers import * #__all__ = ['WrongInputType', 'MissingProperty', 'changeType', 'getType'] diff --git a/redhawk/src/base/framework/python/ossie/utils/allocations/helpers.py b/redhawk/src/base/framework/python/ossie/utils/allocations/helpers.py index e541c655f..dd02e00f6 100644 --- a/redhawk/src/base/framework/python/ossie/utils/allocations/helpers.py +++ b/redhawk/src/base/framework/python/ossie/utils/allocations/helpers.py @@ -111,7 +111,7 @@ def setType(props, prop_id, _type, typeCheck=True): ''' if typeCheck: __typeCheck(props) - if not properties.getTypeMap().has_key(_type): + if _type not in properties.getTypeMap(): raise BadValue('Type "'+_type+'" does not exist') if _type == getType(props, prop_id, False): return props @@ -191,13 +191,13 @@ def matchTypes(props, prop_ids=[], prf=None): for prop_id in prop_ids: if not isinstance(prop_id, str): raise WrongInputType('prop_id must be either a string or None') - if not classes.has_key(prop_id): + if prop_id not in classes: raise MissingProperty(prop_id+' is not defined in the given reference prf file') props = setType(props, prop_id, classes[prop_id].type_, typeCheck=False) return props for _prop in props: - if not classes.has_key(_prop.id): + if _prop.id not in classes: raise MissingProperty('props contains property '+_prop.id+', but the given reference prf file does not have it defined') if isinstance(classes[_prop.id], ossie.parsers.prf.simple) or isinstance(classes[_prop.id], ossie.parsers.prf.simpleSequence): props = setType(props, _prop.id, classes[_prop.id].type_, typeCheck=False) diff --git a/redhawk/src/base/framework/python/ossie/utils/bluefile/__init__.py b/redhawk/src/base/framework/python/ossie/utils/bluefile/__init__.py index 69ea22a8c..d04d748be 100644 --- a/redhawk/src/base/framework/python/ossie/utils/bluefile/__init__.py +++ b/redhawk/src/base/framework/python/ossie/utils/bluefile/__init__.py @@ -18,7 +18,7 @@ # along with this program. If not, see http://www.gnu.org/licenses/. # -import bluefile -from bluefile import * -import bluefile_helpers -from bluefile_helpers import * +from . import bluefile +from .bluefile import * +from . import bluefile_helpers +from .bluefile_helpers import * diff --git a/redhawk/src/base/framework/python/ossie/utils/bluefile/bluefile.py b/redhawk/src/base/framework/python/ossie/utils/bluefile/bluefile.py index fb388fea8..847a8ddd3 100644 --- a/redhawk/src/base/framework/python/ossie/utils/bluefile/bluefile.py +++ b/redhawk/src/base/framework/python/ossie/utils/bluefile/bluefile.py @@ -84,9 +84,9 @@ # define a portable string instance tester going forward that includes # unicode strings in Python 2.x and portable to Python 3 try: - basestring # attempt to evaluate basestring + str # attempt to evaluate basestring def isstr(s): - return isinstance(s, basestring) + return isinstance(s, str) except NameError: def isstr(s): return isinstance(s, str) @@ -239,7 +239,7 @@ def set_type2000_format(format=list): """ global _type2000_format if format not in [ list, numpy.ndarray ]: - raise TypeError, 'Only list and numpy.ndarray are supported' + raise TypeError('Only list and numpy.ndarray are supported') _type2000_format = format @@ -388,11 +388,11 @@ def _unpack_blue_struct_array(buf, struct_def, count, endian='@'): and sub-structures to None. """ if buf is None: - return [_unpack_blue_struct(None, struct_def) for ii in xrange(count)] + return [_unpack_blue_struct(None, struct_def) for ii in range(count)] else: nbytes = struct_def['nbytes'] return [_unpack_blue_struct(buf[ii:ii+nbytes], struct_def, endian) - for ii in xrange(0, min(len(buf), count*nbytes), nbytes)] + for ii in range(0, min(len(buf), count*nbytes), nbytes)] @@ -402,7 +402,7 @@ def _blue_subrecord_map(hdr): list in a type 3000/5000/6000 header. See _pack_blue_struct() for an explanation of the format of a struct_def dictionary. """ - if hdr.has_key('comp'): + if 'comp' in hdr: subrecord_defs = hdr['comp'] else: subrecord_defs = hdr['subr'] @@ -415,7 +415,7 @@ def _blue_subrecord_map(hdr): for subr in subrecord_defs: # Type 6000 subrecords can have multiple elements num_elements = subr.get('num_elts', 1) - if subr.has_key('offset') and subr['offset'] > byte_offset: + if 'offset' in subr and subr['offset'] > byte_offset: padding = subr['offset'] - byte_offset packing += 'x' * padding byte_offset += padding @@ -526,7 +526,7 @@ def _resolve_detach_name(hdr, exc_on_fail=1): remains unmodified and is returned without a 'detach_name' field. """ if not hdr.get('detached'): - if hdr.has_key('detach_name'): + if 'detach_name' in hdr: del hdr['detach_name'] return @@ -539,7 +539,7 @@ def _resolve_detach_name(hdr, exc_on_fail=1): path, fname = os.path.split(fname) hdr['detach_name'] = os.path.join( xmpyapi.form_path(hdr['detached'], 'r'), fname) - elif not hdr.has_key('detach_name') and exc_on_fail: + elif 'detach_name' not in hdr and exc_on_fail: # Without xmpyapi we cannot resolve detach_name raise Exception("Location of detached data of %(file_name)s on AUX " "%(detached)d cannot be resolved without direct " @@ -695,11 +695,11 @@ def update_header_internals(hdr): # spa, and bpa for undefined formats (such as those that can occur # in Type 6000 files). if file_class != 4 and format not in ('NH', 'KW') \ - and _mode_tran.has_key(format[0]): + and format[0] in _mode_tran: # bytes per scalar if format[1] == 'P': hdr['bps'] = .125 - elif _xm_to_struct.has_key(format[1]): + elif format[1] in _xm_to_struct: hdr['bps'] = struct.calcsize(_xm_to_struct[format[1]]) hdr['spa'] = _mode_tran[format[0]] # scalars per atom hdr['bpa'] = hdr['bps'] * hdr['spa'] # bytes per atom @@ -717,7 +717,7 @@ def update_header_internals(hdr): elif file_class <= 6: # Covers type 3000, 5000 and 6000 hdr['bpe'] = hdr['record_length'] # bytes per element - if hdr.has_key('bpa'): + if 'bpa' in hdr: hdr['ape'] = hdr['bpe'] / hdr['bpa'] # atoms per element if hdr['bpe'] > 0: @@ -725,13 +725,13 @@ def update_header_internals(hdr): # If this is a packetized data file (i.e., type x200), we # need to subtract size of packet data to get true data_size try: - hdr['size'] = long((hdr['data_size'] + hdr['size'] = int((hdr['data_size'] - int(hdr['keywords']['PKT_BYTE_COUNT'])) / hdr['bpe']) except: - hdr['size'] = long(hdr['data_size'] / hdr['bpe']) + hdr['size'] = int(hdr['data_size'] / hdr['bpe']) else: - hdr['size'] = long(hdr['data_size'] / hdr['bpe']) + hdr['size'] = int(hdr['data_size'] / hdr['bpe']) def unpack_header(raw_header_str, endian=None): @@ -806,8 +806,8 @@ def header(type=1000, format='SF', **kw): if 'quadwords' in hdr: qw = {} - for k in kw.keys(): - if not k in hdr.keys() and k in hdr['quadwords'].keys(): + for k in list(kw.keys()): + if not k in list(hdr.keys()) and k in list(hdr['quadwords'].keys()): qw[k] = kw[k] del kw[k] hdr['quadwords'].update(qw) @@ -840,7 +840,7 @@ def _open_t6subrecords(hdr): subrec_def_string = hdr['ext_header']['SUBREC_DEF'] del hdr['ext_header']['SUBREC_DEF'] elif isinstance(hdr['ext_header'], list): - for index in xrange(0, len(hdr['ext_header'])): + for index in range(0, len(hdr['ext_header'])): if hdr['ext_header'][index][0] == 'SUBREC_DEF': subrec_def_string = hdr['ext_header'][index][1] del hdr['ext_header'][index] @@ -1014,7 +1014,7 @@ def readheader(filename, ext_header_type=None, keepopen=0): if not hdr.get('detached'): # If the data portion is not detached, seek to the first # element in the open file we are returning. - f.seek(long(hdr['data_start'])) + f.seek(int(hdr['data_start'])) return hdr, f else: f.close() @@ -1043,7 +1043,7 @@ def _convert_to_type(hdr, new_type=None): if new_type is not None: hdr['type'] = new_type - has_ext_header = hdr.has_key('ext_header') + has_ext_header = 'ext_header' in hdr if has_ext_header: ehdr = hdr['ext_header'] del hdr['ext_header'] @@ -1324,7 +1324,7 @@ def update_t6_maxmin(hdr, data): if hdr['class'] != 6: raise Exception('update_t6_maxmin() is for Type 6000 files only') - for index in xrange(0, len(data)): + for index in range(0, len(data)): for subrecord in hdr['subr']: if subrecord['format'][1] in ['A', 'a']: continue @@ -1389,7 +1389,7 @@ def _pack_blue_struct(data, struct_def, endian='@'): vals.append(s + ' ' * (struct.calcsize(fmt) - len(s))) elif count == 1: vals.append(data.get(name, 0)) - elif data.has_key(name): + elif name in data: vals += data[name] else: vals += [0] * count @@ -1529,7 +1529,7 @@ def pack_header(hdr, structured=0): file_class], endian) # Pack the extended header if present - if hdr.has_key('ext_header'): + if 'ext_header' in hdr: pack_ext_header(hdr, structured=structured) return _pack_blue_struct(hdr, _bluestructs['HEADER'], endian) @@ -1554,12 +1554,12 @@ def pack_main_header_keywords(hdr): keydict = hdr.get('keywords', {}) if keydict: hdr['keywords'] = '\0'.join([k + '=' + str(v) - for k,v in keydict.items()]) + '\0' + for k,v in list(keydict.items())]) + '\0' hdr['keylength'] = min(len(hdr['keywords']), struct.calcsize(_bluestructs['HEADER'] ['lookups']['keywords'][1])) if hdr['keylength'] < len(hdr['keywords']): - print "WARNING: Main header keywords truncated" + print("WARNING: Main header keywords truncated") else: hdr['keywords'] = '\0' hdr['keylength'] = 0 @@ -1605,7 +1605,7 @@ def _update_t6subrecords(hdr): # Make sure the extended header is in list format if isinstance(hdr['ext_header'], dict): - hdr['ext_header'] = hdr['ext_header'].items() + hdr['ext_header'] = list(hdr['ext_header'].items()) elif isstr(hdr['ext_header']): unpack_ext_header(hdr) @@ -1685,16 +1685,16 @@ def writeheader(filename, hdr, keepopen=0, ext_header_type=list): if h['class'] == 6: _update_t6subrecords(h) - if h.has_key('ext_header'): + if 'ext_header' in h: # Determine where the data bytes end. if h.get('detached'): # Data is in a separate file, the extended header starts # right after the header. - data_end = 512L + data_end = 512 else: # Add the .88 in case we are dealing with bit data that # doesn't end on byte boundaries. - data_end = long(h['data_start'] + h['data_size'] + .88) + data_end = int(h['data_start'] + h['data_size'] + .88) # The extended header will start at the next multiple of 512 # bytes after the last data byte. @@ -1715,7 +1715,7 @@ def writeheader(filename, hdr, keepopen=0, ext_header_type=list): if not h.get('detached'): # If the data portion is not detached, seek to the first # element in the open file we are returning. - f.seek(long(h['data_start'])) + f.seek(int(h['data_start'])) return pathname, f else: f.close() @@ -1746,13 +1746,13 @@ def _extract_t4index(hdr, elements): unpack_ext_header(hdr) ext_header = hdr['ext_header'] if isinstance(ext_header, dict): - ext_header = ext_header.items() + ext_header = list(ext_header.items()) elif isinstance(ext_header, tuple): ext_header = list(ext_header) t4keyword_index = -1 t4index = [] - for ii in xrange(len(ext_header)): + for ii in range(len(ext_header)): if ext_header[ii][0] == 'T4INDEX': if elements == 0: del ext_header[ii] @@ -1951,7 +1951,7 @@ def write(filename, hdr=None, data=[], append=0, ext_header_type=list, # The .88 is in case we have bit data, round up to the next byte ext_start = int((hdr['data_start'] + data_size + 511.88)/512) - if hdr.has_key('ext_header'): + if 'ext_header' in hdr: # We've got a new extended header pass elif fhdr and hdr['ext_size'] > 0: @@ -1966,7 +1966,7 @@ def write(filename, hdr=None, data=[], append=0, ext_header_type=list, else: # We have no extended header, or want to remove an existing one hdr['ext_header'] = '' - if hdr.has_key('ext_size'): + if 'ext_size' in hdr: del hdr['ext_size'] t4index = None @@ -1999,7 +1999,7 @@ def write(filename, hdr=None, data=[], append=0, ext_header_type=list, if hdr.get('detached'): # Close the header file and open the detached data file - if long(hdr['data_start'] + hdr['data_size']) == 0: reopen_flag = '' + if int(hdr['data_start'] + hdr['data_size']) == 0: reopen_flag = '' f = open(hdr['detach_name'], reopen_flag + 'wb') else: f = fhdr @@ -2009,13 +2009,13 @@ def write(filename, hdr=None, data=[], append=0, ext_header_type=list, if start: # Skip to where we want to start writing start_location = (start - 1) * hdr['bpe'] - f.seek(long(hdr['data_start'] + start_location)) + f.seek(int(hdr['data_start'] + start_location)) else: # Skip to the end of the data (to append) - f.seek(long(hdr['data_start'] + hdr['data_size'])) + f.seek(int(hdr['data_start'] + hdr['data_size'])) else: # Pad the data start out - f.write('\0' * long(hdr['data_start'] - f.tell())) + f.write('\0' * int(hdr['data_start'] - f.tell())) endian = _rep_tran[hdr['data_rep']] @@ -2029,7 +2029,7 @@ def write(filename, hdr=None, data=[], append=0, ext_header_type=list, # there may be a bunch of data at the end! But still # make sure we seek to end of data hdr['data_size'] = float(elements * hdr['bpe']) - f.seek(long(hdr['data_start'] + hdr['data_size'])) + f.seek(int(hdr['data_start'] + hdr['data_size'])) else : # Update the header with how many bytes we wrote out. This needs @@ -2128,7 +2128,7 @@ def pack_data_to_stream(hdr, f, data, endian='@', t4index=None): bpe % 1 > .1): raise Exception('Write of BIT data on non-byte ' 'boundaries not supported') - bpe = long(bpe) + bpe = int(bpe) for frame in data: if not isstr(frame): raise Exception('Bit data given for write ' @@ -2203,9 +2203,9 @@ def pack_data_to_stream(hdr, f, data, endian='@', t4index=None): vdat += '\0' * (lkey - nvalid) elif nvalid > lkey: # Fixed length and too many bytes to write out - print ('WARNING: VRB at index %d truncated by %d bytes ' + print(('WARNING: VRB at index %d truncated by %d bytes ' 'to fit fixed record length of %d bytes: %s' % - (elements, nvalid-lkey, bpe, str(d))) + (elements, nvalid-lkey, bpe, str(d)))) nvalid = lkey vdat = vdat[:lkey] @@ -2235,7 +2235,7 @@ def _update_extended_header(hdr, f, structured=0): header keywords should have any structure tags interpreted embedded in the packed keywords. See pack_keywords() for more info. """ - if hdr.has_key('ext_header'): + if 'ext_header' in hdr: pack_ext_header(hdr, structured=structured) if len(hdr['ext_header']) > 0: # Pad out to where the extended header is supposed to start @@ -2340,7 +2340,7 @@ def read(filename, ext_header_type=None, start=None, end=None, if 'detach_name' not in hdr: _resolve_detach_name(hdr) f = open(hdr['detach_name'], 'rb') if hdr['data_start'] > 0: - f.seek(long(hdr['data_start'])) + f.seek(int(hdr['data_start'])) if start is None and end is None: elements = 'all' @@ -2355,11 +2355,11 @@ def read(filename, ext_header_type=None, start=None, end=None, if start is None: start = 1 elif start > hdr['size']: - raise Exception, "start value given is > than data size" + raise Exception("start value given is > than data size") elif start < 1: - raise Exception, "start value must be >= 1" + raise Exception("start value must be >= 1") elif hdr['class'] == 4 and hdr['bpe'] <= 0: - raise Exception, "Cannot trim variable length keyword data" + raise Exception("Cannot trim variable length keyword data") elif hdr['class'] == 1: # Adjust the 'xstart' field to reflect the data being returned hdr['xstart'] = hdr['xstart'] + ((start-1) * hdr['xdelta']) @@ -2376,11 +2376,11 @@ def read(filename, ext_header_type=None, start=None, end=None, if end is None or end > hdr['size']: end = hdr['size'] elif end < 1: - raise Exception, "end value must be >= 1" + raise Exception("end value must be >= 1") elements = end - start + 1 if elements <= 0: - raise Exception, "Must choose a positive number of elements" + raise Exception("Must choose a positive number of elements") # From our current position in the file, seek to our 'start' element f.seek((start - 1) * hdr['bpe'], 1) @@ -2461,13 +2461,13 @@ def unpack_data_from_stream(hdr, f, elements='all', endian='@', fstart=None, if max(hdr['data_start'] % 1, bpe % 1) > .1: raise Exception('Read of BIT data on non-byte ' 'boundaries not supported') - bpe = long(bpe) - pydata = [f.read(bpe) for ii in xrange(elements)] + bpe = int(bpe) + pydata = [f.read(bpe) for ii in range(elements)] else: # ASCII data, read and trim BPA at a time pydata = [[_m_length(f.read(bpa)) - for jj in xrange(ape)] - for ii in xrange(elements)] + for jj in range(ape)] + for ii in range(elements)] if file_class == 1: # Stop pretending 1000 data is one big frame @@ -2539,9 +2539,9 @@ def unpack_data_from_stream(hdr, f, elements='all', endian='@', fstart=None, if fstart is None: fstart = 1 elif fstart > hdr['subsize']: - raise Exception, "fstart value given is > than the frame size" + raise Exception("fstart value given is > than the frame size") elif fstart < 1: - raise Exception, "fstart value must be >= 1" + raise Exception("fstart value must be >= 1") else: # Adjust the xstart to reflect the data being returned hdr['xstart'] = hdr['xstart'] + ((fstart-1)*hdr['xdelta']) @@ -2549,18 +2549,18 @@ def unpack_data_from_stream(hdr, f, elements='all', endian='@', fstart=None, if fend is None or fend > hdr['subsize']: fend = hdr['subsize'] elif fend < 1: - raise Exception, "fend value must be >= 1" + raise Exception("fend value must be >= 1") subsize = fend - fstart + 1 if subsize <= 0: - raise Exception, "Must choose a positive range within frame" + raise Exception("Must choose a positive range within frame") # Trim each frame to the desired size if isinstance(pydata, numpy.ndarray): # Arrays support multiple-axis slicing pydata = pydata[:,fstart-1:fend] else: - for ii in xrange(elements): + for ii in range(elements): pydata[ii] = pydata[ii][fstart-1:fend] # Update hdr['subsize'] and bpe to reflect the trimmed frame size @@ -2576,7 +2576,7 @@ def unpack_data_from_stream(hdr, f, elements='all', endian='@', fstart=None, # Build a list of dictionaries # NB: Coerce the number of bytes to read to a long to avoid # deprecation warnings from read(). - pydata = _unpack_blue_struct_array(f.read(long(bpe * elements)), + pydata = _unpack_blue_struct_array(f.read(int(bpe * elements)), _blue_subrecord_map(hdr), elements, endian) elif file_class == 4: @@ -2592,10 +2592,10 @@ def unpack_data_from_stream(hdr, f, elements='all', endian='@', fstart=None, pydata = [] vpacking = endian + _truncate_struct_def( _bluestructs['VRBSTRUCT'], 8)['packing'] - for ii in xrange(elements): + for ii in range(elements): lblock, lvalid = struct.unpack(vpacking, f.read(8)) pydata.append(unpack_keywords(f.read(lvalid), endian, lcase=1)) - if lblock > lvalid: f.seek(long(lblock-lvalid), 1) + if lblock > lvalid: f.seek(int(lblock-lvalid), 1) if trim: hdr['nrecords'] = len(pydata) @@ -2718,7 +2718,7 @@ def unpack_keywords(buf, endian='@', lcase=0, start=0, structured=0): if format == 'X': # Coerce type 'X' keywords into longs so they # are written back as 'X'. - data = long(data) + data = int(data) except KeyError: # Unknown X-Midas data type. raise Exception('Unrecognized keyword format %s' % format) @@ -2852,7 +2852,7 @@ def pack_keywords(keywords, endian='@', ucase=0, structured=0): if isstr(keywords): return keywords elif isinstance(keywords, dict): - keywords = keywords.items() + keywords = list(keywords.items()) kpacking = endian + _bluestructs['KEYSTRUCT']['packing'] @@ -2875,7 +2875,7 @@ def pack_keywords(keywords, endian='@', ucase=0, structured=0): # array. value = numpy.array([value.real, value.imag]) - if isinstance(value, (int,long)): + if isinstance(value, int): # On 64-bit platforms, a Python int is also 64 bits, so treat # the value as 'L' if it fits into 32 bits, and 'X' if it does # not (performance is not critical here). @@ -2892,7 +2892,7 @@ def pack_keywords(keywords, endian='@', ucase=0, structured=0): ldata = len(value) packing += str(ldata) + 's' elif structured and isinstance(value, dict): - kpacked += pack_structured(tag, 'XT', value.items(), endian, ucase) + kpacked += pack_structured(tag, 'XT', list(value.items()), endian, ucase) continue elif structured and isinstance(value, (list, tuple)): if _is_kvpair_list(value): @@ -2910,7 +2910,7 @@ def pack_keywords(keywords, endian='@', ucase=0, structured=0): if isinstance(value, numpy.ndarray): typecode = value.dtype.type - if not _numpy_to_xm.has_key(typecode): + if typecode not in _numpy_to_xm: # Convert to an X-Midas safe, nearly equivalent type typecode = _numpy_xm_promotion[typecode] value = value.astype(typecode) @@ -3169,7 +3169,7 @@ def _init_bluestructs (): # Fill in the 'lookups' field for each struct definition, which is # a dictionary versions of its 'fields' list. - for bstruct in bstructs.values(): + for bstruct in list(bstructs.values()): bstruct['lookups'] = dict([(f[0], f) for f in bstruct['fields']]) return bstructs @@ -3236,7 +3236,7 @@ def bpa(format): else: return _mode_tran[format[0:1]] * (_type_tran[format[1:2]] * -8) else: - raise Exception, "Format string must be exactly two characters" + raise Exception("Format string must be exactly two characters") def decode_xmformat(format): @@ -3296,7 +3296,7 @@ def decode_xmformat(format): format = format.upper() return (_mode_tran[format[0:1]], _type_tran[format[1:2]]) else: - raise Exception, "Format string should be exactly two characters" + raise Exception("Format string should be exactly two characters") def fexists(filename): diff --git a/redhawk/src/base/framework/python/ossie/utils/bluefile/bluefile_helpers.py b/redhawk/src/base/framework/python/ossie/utils/bluefile/bluefile_helpers.py index dc67caec9..1a91159d8 100644 --- a/redhawk/src/base/framework/python/ossie/utils/bluefile/bluefile_helpers.py +++ b/redhawk/src/base/framework/python/ossie/utils/bluefile/bluefile_helpers.py @@ -29,7 +29,7 @@ from ossie.utils.bulkio import bulkio_helpers from ossie.utils.log4py import logging -import bluefile +from . import bluefile try: import bulkio from bulkio.bulkioInterfaces import BULKIO, BULKIO__POA @@ -100,10 +100,10 @@ def hdr_to_sri(hdr, stream_id): kwds = [] # Getting all the items in the extended header - if hdr.has_key('ext_header'): + if 'ext_header' in hdr: ext_hdr = hdr['ext_header'] if isinstance(ext_hdr, dict): - for key, value in ext_hdr.iteritems(): + for key, value in ext_hdr.items(): try: data=item[1] if isinstance(item[1], numpy.generic): @@ -123,7 +123,7 @@ def hdr_to_sri(hdr, stream_id): dt = CF.DataType(item[0], dtv ) #print "DEBUG (list) AFTER dt.value:", dt.value, dt.value.value(), type(dt.value.value()) kwds.append(dt) - except Exception, e: + except Exception as e: continue return BULKIO.StreamSRI(hversion, xstart, xdelta, xunits, @@ -218,7 +218,7 @@ def compare_bluefiles(file1=None, file2=None): are_the_same = True # check each element in the data - for i, item1, item2 in zip(range(0, sz1), data1, data2): + for i, item1, item2 in zip(list(range(0, sz1)), data1, data2): if item1 != item2: log.error("Item[%d]:\t%s <==> %s are not the same" % (i, str(item1), str(item2))) @@ -273,9 +273,9 @@ def pushSRI(self, H): self.defaultStreamSRI = H try: try: - for connId, port in self.outPorts.items(): + for connId, port in list(self.outPorts.items()): if port != None: port.pushSRI(H) - except Exception, e: + except Exception as e: msg = "The call to pushSRI failed with %s " % e msg += "connection %s instance %s" % (connId, port) log.warn(msg) @@ -293,9 +293,9 @@ def pushPacket(self, data, T, EOS, streamID): try: try: - for connId, port in self.outPorts.items(): + for connId, port in list(self.outPorts.items()): if port != None: port.pushPacket(data, T, EOS, streamID) - except Exception, e: + except Exception as e: msg = "The call to pushPacket failed with %s " % e msg += "connection %s instance %s" % (connId, port) log.warn(msg) @@ -368,7 +368,7 @@ def run(self, infile, pktsize=1024, streamID=None): # NOTE: midas time is seconds since Jan. 1 1950 # Redhawk time is seconds since Jan. 1 1970 currentSampleTime = 0.0 - if hdr.has_key('timecode'): + if 'timecode' in hdr: # Set sample time to seconds since Jan. 1 1970 currentSampleTime = j1950_to_unix(hdr['timecode']) if currentSampleTime < 0: diff --git a/redhawk/src/base/framework/python/ossie/utils/bulkio/__init__.py b/redhawk/src/base/framework/python/ossie/utils/bulkio/__init__.py index ce171e3ee..0a2f5ab23 100644 --- a/redhawk/src/base/framework/python/ossie/utils/bulkio/__init__.py +++ b/redhawk/src/base/framework/python/ossie/utils/bulkio/__init__.py @@ -18,7 +18,7 @@ # along with this program. If not, see http://www.gnu.org/licenses/. # -import bulkio_helpers -from bulkio_helpers import * -import bulkio_data_helpers -from bulkio_data_helpers import * +from . import bulkio_helpers +from .bulkio_helpers import * +from . import bulkio_data_helpers +from .bulkio_data_helpers import * diff --git a/redhawk/src/base/framework/python/ossie/utils/bulkio/bulkio_data_helpers.py b/redhawk/src/base/framework/python/ossie/utils/bulkio/bulkio_data_helpers.py index 91f5bd5b3..87fc12828 100644 --- a/redhawk/src/base/framework/python/ossie/utils/bulkio/bulkio_data_helpers.py +++ b/redhawk/src/base/framework/python/ossie/utils/bulkio/bulkio_data_helpers.py @@ -23,7 +23,7 @@ import os import array import threading -import bulkio_helpers +from . import bulkio_helpers import time import logging from new import classobj @@ -79,9 +79,9 @@ def pushSRI(self, H): self.sri = H try: try: - for connId, port in self.outPorts.items(): + for connId, port in list(self.outPorts.items()): if port != None: port.pushSRI(H) - except Exception, e: + except Exception as e: msg = "The call to pushSRI failed with %s " % e msg += "connection %s instance %s" % (connId, port) log.warn(msg) @@ -98,14 +98,14 @@ def pushPacket(self, data, T, EOS, streamID): self.port_lock.acquire() try: try: - for connId, port in self.outPorts.items(): + for connId, port in list(self.outPorts.items()): if port != None: interface = self.port_type._NP_RepositoryId if interface == 'IDL:BULKIO/dataChar:1.0' or interface == 'IDL:BULKIO/dataOctet:1.0': if len(data) == 0: data = '' port.pushPacket(data, T, EOS, streamID) - except Exception, e: + except Exception as e: msg = "The call to pushPacket failed with %s " % e msg += "connection %s instance %s" % (connId, port) log.warn(msg) @@ -315,7 +315,7 @@ def retrieveData(self, length=None): if self.sri != None and self.sri.subsize != 0: frameLength = self.sri.subsize if not self.sri.mode else 2*self.sri.subsize if float(length)/frameLength != length/frameLength: - print 'The requested length divided by the subsize ('+str(length)+'/'+str(self.sri.subsize)+') is not a whole number. Cannot return framed data' + print('The requested length divided by the subsize ('+str(length)+'/'+str(self.sri.subsize)+') is not a whole number. Cannot return framed data') return (None,None) # Wait for there to be enough data. @@ -485,8 +485,8 @@ def pushPacket(self, data, ts, EOS, stream_id): """ self.port_lock.acquire() try: - if not self.valid_streams.has_key(stream_id): - log.warn("the received packet has the invalid stream ID: "+stream_id+". Valid stream IDs are:"+str(self.valid_streams.keys())) + if stream_id not in self.valid_streams: + log.warn("the received packet has the invalid stream ID: "+stream_id+". Valid stream IDs are:"+str(list(self.valid_streams.keys()))) self.received_data[stream_id] = (self.received_data[stream_id][0] + len(data), self.received_data[stream_id][1] + 1) if EOS: self.invalid_streams[stream_id] = self.valid_streams[stream_id] @@ -588,9 +588,9 @@ def pushPacket(self, data, EOS, streamID): self.port_lock.acquire() try: try: - for connId, port in self.outPorts.items(): + for connId, port in list(self.outPorts.items()): if port != None: port.pushPacket(data, EOS, streamID) - except Exception, e: + except Exception as e: msg = "The call to pushPacket failed with %s " % e msg += "connection %s instance %s" % (connId, port) log.warn(msg) @@ -649,7 +649,7 @@ def attach(self, streamDef, user_id): retval = None try: try: - for connId, port in self.outPorts.items(): + for connId, port in list(self.outPorts.items()): if port != None: retval_ = port.attach(streamDef, user_id) if retval == None: @@ -659,7 +659,7 @@ def attach(self, streamDef, user_id): else: retval.append(retval_) - except Exception, e: + except Exception as e: msg = "The call to attach failed with %s " % e msg += "connection %s instance %s" % (connId, port) log.warn(msg) @@ -671,11 +671,11 @@ def detach(self, attachId): self.port_lock.acquire() try: try: - for connId, port in self.outPorts.items(): + for connId, port in list(self.outPorts.items()): if port != None: port.detach(attachId) - except Exception, e: + except Exception as e: msg = "The call to detach failed with %s " % e msg += "connection %s instance %s" % (connId, port) log.warn(msg) @@ -849,9 +849,9 @@ def pushSRI(self, H): self.sri = H try: try: - for connId, port in self.outPorts.items(): + for connId, port in list(self.outPorts.items()): if port != None: port.pushSRI(H) - except Exception, e: + except Exception as e: msg = "The call to pushSRI failed with %s " % e msg += "connection %s instance %s" % (connId, port) log.warn(msg) @@ -871,14 +871,14 @@ def pushPacket(self, data, T, EOS, streamID): self.port_lock.acquire() try: try: - for connId, port in self.outPorts.items(): + for connId, port in list(self.outPorts.items()): if port != None: - if self.connectionNormalization.has_key(connId): - new_data = range(len(data)) + if connId in self.connectionNormalization: + new_data = list(range(len(data))) for idx in range(len(data)): new_data[idx] = float(data[idx]) * self.connectionNormalization[connId] data = new_data - elif self.connectionTranslation.has_key(connId): + elif connId in self.connectionTranslation: new_data_str = '' for idx in range(len(data)): new_data_str = new_data_str + data[idx] + self.connectionTranslation[connId][0] @@ -889,7 +889,7 @@ def pushPacket(self, data, T, EOS, streamID): port.pushPacket(data, EOS, streamID) else: port.pushPacket(data, T, EOS, streamID) - except Exception, e: + except Exception as e: msg = "The call to pushPacket failed with %s " % e msg += "connection %s instance %s" % (connId, port) log.warn(msg) @@ -1041,12 +1041,12 @@ def _get_usageState(self): return BULKIO.dataSDDS.ACTIVE def getUser(self, attachId): - if self.attachments.has_key(attachId): + if attachId in self.attachments: return self.attachments[attachId][1] return '' def getStreamDefinition(self, attachId): - if self.attachments.has_key(attachId): + if attachId in self.attachments: return self.attachments[attachId][0] return None @@ -1055,7 +1055,7 @@ def pushSRI(self, H, T): def detach(self, attachId): self.port_lock.acquire() - if self.attachments.has_key(attachId): + if attachId in self.attachments: self.attachments.pop(attachId) self.port_lock.release() self.parent.detach_cb(attachId) @@ -1212,7 +1212,7 @@ def pushPacket(self, data, ts, EOS, stream_id): self.sd_fp[stream_id] = self.outFile else: if self.stream_derived: - if self.sd_fp.has_key(stream_id): + if stream_id in self.sd_fp: self.outFile = self.sd_fp[stream_id] else: self.outFile = open(stream_id+'_out', "wb") @@ -1223,7 +1223,7 @@ def pushPacket(self, data, ts, EOS, stream_id): if self.outFile != None: self.outFile.close() if self.stream_derived: - if self.sd_fp.has_key(stream_id): + if stream_id in self.sd_fp: self.sd_fp.pop(stream_id) finally: self.port_lock.release() diff --git a/redhawk/src/base/framework/python/ossie/utils/bulkio/bulkio_helpers.py b/redhawk/src/base/framework/python/ossie/utils/bulkio/bulkio_helpers.py index e2acf5f85..dd3d1d325 100644 --- a/redhawk/src/base/framework/python/ossie/utils/bulkio/bulkio_helpers.py +++ b/redhawk/src/base/framework/python/ossie/utils/bulkio/bulkio_helpers.py @@ -18,7 +18,7 @@ # along with this program. If not, see http://www.gnu.org/licenses/. # -import threading, struct, time, Queue, copy, random +import threading, struct, time, queue, copy, random from omniORB import any, CORBA from new import classobj from ossie.cf import CF @@ -69,7 +69,7 @@ def bulkioComplexToPythonComplexList(bulkioList): if (len(bulkioList)%2): raise BadParamException('BulkIO complex data list must have an even number of entries.') def _group(data): - for ii in xrange(0, len(data), 2): + for ii in range(0, len(data), 2): yield data[ii:ii+2] return [complex(real,imag) for real,imag in _group(bulkioList)] @@ -220,7 +220,7 @@ def formatData(dataSet, portRef=None, BULKIOtype=None): fmt = str(len(dataSet)) + 'b' return struct.pack(fmt, *[i for i in dataSet]) elif dataType == 'dataDouble': - validDataTypes = [int, long, float] + validDataTypes = [int, int, float] for elem in dataSet: if type(elem) not in validDataTypes: raise BadParamException('dataSet contains invalid data types for port type double:', elem, ' -- ', type(elem)) @@ -228,7 +228,7 @@ def formatData(dataSet, portRef=None, BULKIOtype=None): unpackData = struct.unpack(str(len(dataSet))+'d', packData) return (list)(unpackData) elif dataType == 'dataFloat': - validDataTypes = [int, long, float] + validDataTypes = [int, int, float] for elem in dataSet: if type(elem) not in validDataTypes: raise BadParamException('dataSet contains invalid data types for port type float:', elem, ' -- ', type(elem)) @@ -236,13 +236,13 @@ def formatData(dataSet, portRef=None, BULKIOtype=None): unpackData = struct.unpack(str(len(dataSet))+'f', packData) return (list)(unpackData) elif dataType == 'dataLong': - validDataTypes = [int, long] + validDataTypes = [int, int] for elem in dataSet: if type(elem) not in validDataTypes: raise BadParamException('dataSet contains invalid data types for port type long:', elem, ' -- ', type(elem)) return (list)(dataSet) elif dataType == 'dataLongLong': - validDataTypes = [int, long] + validDataTypes = [int, int] for elem in dataSet: if type(elem) not in validDataTypes: raise BadParamException('dataSet contains invalid data types for port type longlong:', elem, ' -- ', type(elem)) @@ -266,7 +266,7 @@ def formatData(dataSet, portRef=None, BULKIOtype=None): fmt = str(len(dataSet)) + 'B' return struct.pack(fmt, *[i for i in dataSet]) elif dataType == 'dataShort': - validDataTypes = [int, long] + validDataTypes = [int, int] for elem in dataSet: if type(elem) not in validDataTypes: raise BadParamException('dataSet contains invalid data types for port type short:', elem, ' -- ', type(elem)) @@ -274,7 +274,7 @@ def formatData(dataSet, portRef=None, BULKIOtype=None): raise BadParamException('dataSet contains values which are out of range for type short(signed 16bit):', elem) return (list)(dataSet) elif dataType == 'dataUlong': - validDataTypes = [int, long] + validDataTypes = [int, int] for elem in dataSet: if type(elem) not in validDataTypes: raise BadParamException('dataSet contains invalid data types for port type ulong:', elem, ' -- ', type(elem)) @@ -282,7 +282,7 @@ def formatData(dataSet, portRef=None, BULKIOtype=None): raise BadParamException('dataSet contains values which are out of range for type ulong:', elem) return (list)(dataSet) elif dataType == 'dataUlongLong': - validDataTypes = [int, long] + validDataTypes = [int, int] for elem in dataSet: if type(elem) not in validDataTypes: raise BadParamException('dataSet contains invalid data types for port type ulonglong:', elem, ' -- ', type(elem)) @@ -290,7 +290,7 @@ def formatData(dataSet, portRef=None, BULKIOtype=None): raise BadParamException('dataSet contains values which are out of range for type ulonglong:', elem) return (list)(dataSet) elif dataType == 'dataUshort': - validDataTypes = [int, long] + validDataTypes = [int, int] for elem in dataSet: if type(elem) not in validDataTypes: raise BadParamException('dataSet contains invalid data types for port type ushort:', elem, ' -- ', type(elem)) @@ -464,7 +464,7 @@ def pushPacket(self, *args): try: sri = BULKIO.StreamSRI(1, 0.0, 1.0, 1, 0, 0.0, 0.0, 0, 0, streamID, False, []) sriChanged = False - if self.sriDict.has_key(streamID): + if streamID in self.sriDict: sri, sriChanged = self.sriDict[streamID] self.sriDict[streamID] = (sri, False) else: @@ -479,7 +479,7 @@ def pushPacket(self, *args): self.queue.mutex.acquire() self.queue.queue.clear() self.queue.mutex.release() - except Queue.Empty: + except queue.Empty: pass packet = (data, T, EOS, streamID, copy.deepcopy(sri), sriChanged, True) else: @@ -536,18 +536,18 @@ def getPacket(self, timetowait=0.0): data, T, EOS, streamID, sri, sriChanged, inputQueueFlushed = self.queue.get(timeout=timetowait) if EOS: - if self.sriDict.has_key(streamID): + if streamID in self.sriDict: sri, sriChanged = self.sriDict.pop(streamID) if sri.blocking: stillBlock = False - for _sri, _sriChanged in self.sriDict.values(): + for _sri, _sriChanged in list(self.sriDict.values()): if _sri.blocking: stillBlock = True break if not stillBlock: self.blocking = False return (data, T, EOS, streamID, sri, sriChanged, inputQueueFlushed) - except Queue.Empty: + except queue.Empty: return None, None, None, None, None, None, None ####################################### @@ -573,7 +573,7 @@ def getPacket(self, timetowait=0.0): 'getPacket':getPacket, 'pushSRI':pushSRI, 'sriDict':{}, - 'queue':Queue.Queue(1000), + 'queue':queue.Queue(1000), 'blocking':False, 'getMaxQueueDepth':getMaxQueueDepth, 'setMaxQueueDepth':setMaxQueueDepth, diff --git a/redhawk/src/base/framework/python/ossie/utils/concurrancy.py b/redhawk/src/base/framework/python/ossie/utils/concurrancy.py index e5c74a3ef..29fa0916b 100644 --- a/redhawk/src/base/framework/python/ossie/utils/concurrancy.py +++ b/redhawk/src/base/framework/python/ossie/utils/concurrancy.py @@ -42,7 +42,7 @@ def __new__(cls, classname, bases, classdict): rlock = threading.RLock() newdict['__rlock__'] = rlock - for k, v in classdict.items(): + for k, v in list(classdict.items()): # Don't syncronize special methods if k.startswith("__") and k.endswith("__"): continue @@ -52,6 +52,5 @@ def __new__(cls, classname, bases, classdict): newdict[k] = synchronize(v, rlock) return type.__new__(cls, classname, bases, newdict) -class Synchronized(object): +class Synchronized(object, metaclass=metaSynchronized): """A convient way add the syncronized metaclass via inheritence""" - __metaclass__ = metaSynchronized diff --git a/redhawk/src/base/framework/python/ossie/utils/corba.py b/redhawk/src/base/framework/python/ossie/utils/corba.py index c3fc578f8..f96a001b2 100644 --- a/redhawk/src/base/framework/python/ossie/utils/corba.py +++ b/redhawk/src/base/framework/python/ossie/utils/corba.py @@ -26,5 +26,5 @@ def objectExists(obj): return not obj._non_existent() except CORBA.Exception: return False - except Exception, e: + except Exception as e: return False diff --git a/redhawk/src/base/framework/python/ossie/utils/docstring.py b/redhawk/src/base/framework/python/ossie/utils/docstring.py index 30682729c..b02c2e70a 100644 --- a/redhawk/src/base/framework/python/ossie/utils/docstring.py +++ b/redhawk/src/base/framework/python/ossie/utils/docstring.py @@ -43,7 +43,7 @@ def _get_indent(self, doc): return 0 def _get_line_indent(self, line): - for pos in xrange(len(line)): + for pos in range(len(line)): if not line[pos].isspace(): return pos return 0 diff --git a/redhawk/src/base/framework/python/ossie/utils/formatting.py b/redhawk/src/base/framework/python/ossie/utils/formatting.py index 019754f48..8ec7d63f2 100644 --- a/redhawk/src/base/framework/python/ossie/utils/formatting.py +++ b/redhawk/src/base/framework/python/ossie/utils/formatting.py @@ -84,9 +84,9 @@ def write(self, f=sys.stdout): template = template % tuple(widths) if self._enable_header: - print >>f, template % self._headers - print >>f, template % tuple('-'*len(h) for h in self._headers) + print(template % self._headers, file=f) + print(template % tuple('-'*len(h) for h in self._headers), file=f) for fields in self._lines: fields = tuple(self._limit_field(f, w) for f, w in zip(fields, widths)) - print >>f, template % fields + print(template % fields, file=f) diff --git a/redhawk/src/base/framework/python/ossie/utils/idllib.py b/redhawk/src/base/framework/python/ossie/utils/idllib.py index 5931f6bdc..66c7bdaa7 100644 --- a/redhawk/src/base/framework/python/ossie/utils/idllib.py +++ b/redhawk/src/base/framework/python/ossie/utils/idllib.py @@ -17,7 +17,7 @@ # You should have received a copy of the GNU Lesser General Public License # along with this program. If not, see http://www.gnu.org/licenses/. # -import commands +import subprocess import os import glob import threading @@ -39,7 +39,7 @@ def __init__(self, repoid): super(UnknownInterfaceError, self).__init__("Unknown IDL interface '"+repoid+"'") def _pkgconfigVar(name, variable): - status, path = commands.getstatusoutput('pkg-config --variable=%s %s' % (variable, name)) + status, path = subprocess.getstatusoutput('pkg-config --variable=%s %s' % (variable, name)) if status == 0: return path else: diff --git a/redhawk/src/base/framework/python/ossie/utils/log4py/appenders.py b/redhawk/src/base/framework/python/ossie/utils/log4py/appenders.py index 97af09620..a8e4a2528 100644 --- a/redhawk/src/base/framework/python/ossie/utils/log4py/appenders.py +++ b/redhawk/src/base/framework/python/ossie/utils/log4py/appenders.py @@ -58,7 +58,7 @@ # Override base logging.Handler handleError method to give better stack trace # if string passed to log message is malformed def handleError(self, record): - print traceback.print_stack() + print(traceback.print_stack()) logging.Handler.handleError = handleError # The NullHandler, for library use, is only available in Python 2.7 and up. @@ -107,7 +107,7 @@ def getTarget(self): def activateOptions(self): if sys.hexversion >= 0x020700F0: # strm was changed to stream - if self.log4pyProps.has_key("strm"): + if "strm" in self.log4pyProps: # Don't override stream if it already exists self.log4pyProps.setdefault("stream", self.log4pyProps["strm"]) del self.log4pyProps["strm"] @@ -133,9 +133,9 @@ def setFile(self, filename): aggregate = os.path.join(aggregate,_dir) try: os.mkdir(aggregate) - except Exception, e: + except Exception as e: if type(e) == exceptions.OSError and e.errno == 13: - print e + print(e) pass self.baseFilename = os.path.abspath(filename) @@ -364,13 +364,13 @@ def handle(self, logRecord): #print "RH_LogEventAppender::handle .... connection to ECM::Publisher rec: " + str(logRecord) eventLogLevel = ossie.logger.ConvertLog4ToCFLevel(self.level) - logEvent = any.to_any(CF.LogEvent(self.prodId,self.prodName,self.prodFQN,long(logRecord.created),eventLogLevel,logRecord.getMessage())) + logEvent = any.to_any(CF.LogEvent(self.prodId,self.prodName,self.prodFQN,int(logRecord.created),eventLogLevel,logRecord.getMessage())) try: self._pub.push(logEvent) - except Exception, e: - print "RH_LogEventAppender::handle EVENT CHANNEL, PUSH OPERATION FAILED WITH EXCEPTION " + str(e) + except Exception as e: + print("RH_LogEventAppender::handle EVENT CHANNEL, PUSH OPERATION FAILED WITH EXCEPTION " + str(e)) else: - print "RH_LogEventAppender::handle No EVENT CHANNEL to publish on." + print("RH_LogEventAppender::handle No EVENT CHANNEL to publish on.") class SyslogAppender(logging.handlers.SysLogHandler, object): def __init__(self): diff --git a/redhawk/src/base/framework/python/ossie/utils/log4py/config.py b/redhawk/src/base/framework/python/ossie/utils/log4py/config.py index c05167db8..a5add1adf 100644 --- a/redhawk/src/base/framework/python/ossie/utils/log4py/config.py +++ b/redhawk/src/base/framework/python/ossie/utils/log4py/config.py @@ -29,8 +29,8 @@ import re import inspect import traceback -from appenders import * -from layouts import * +from .appenders import * +from .layouts import * # Map log4j levels to python logging levels _LEVEL_TRANS = {"ALL": logging.NOTSET, @@ -104,11 +104,11 @@ def _parseLines( lsrc, result={} ): key=g.groups()[0] value=g.groups()[1] if len(key.strip()) == 0 or len(value.strip()) == 0 : - print "log4py: error malformed log4py configuration:" + line + print("log4py: error malformed log4py configuration:" + line) else: result[key] = value else: - print "log4py: error malformed log4py configuration:" + line + print("log4py: error malformed log4py configuration:" + line) line='' return result @@ -187,7 +187,7 @@ def _install_handlers(props): handlers = {} hlist=[] - tlist = filter(lambda x: x.startswith("log4j.appender."), props.keys()) + tlist = [x for x in list(props.keys()) if x.startswith("log4j.appender.")] if not len(tlist) : return handlers # filter out just the appender names @@ -207,11 +207,11 @@ def _install_handlers(props): klass = _import_handler(appenderClass) handler = klass() except: - print "log4py: error with appender: ", appenderClass, " for logger ", appenderKey + print("log4py: error with appender: ", appenderClass, " for logger ", appenderKey) continue # Deal with appender options - appenderOptions = filter(lambda x: x.startswith(appenderKey+"."), props.keys()) + appenderOptions = [x for x in list(props.keys()) if x.startswith(appenderKey+".")] for appenderOption in appenderOptions: opt = appenderOption[len(appenderKey+"."):] value = props[appenderOption].strip() @@ -222,13 +222,13 @@ def _install_handlers(props): try: klass = _import_layout(layoutClass) layout = klass() - layoutOptions = filter(lambda x: x.startswith(appenderKey+".layout."), props.keys()) + layoutOptions = [x for x in list(props.keys()) if x.startswith(appenderKey+".layout.")] for layoutOption in layoutOptions: opt = layoutOption[len(appenderKey+".layout."):] value = props[layoutOption].strip() setattr(layout, opt, value) except: - print "log4py: error with layout: ", layoutClass + print("log4py: error with layout: ", layoutClass) elif opt.lower().endswith("filter"): pass @@ -256,7 +256,7 @@ def _install_loggers(props, handlers, filterCategory, disable_existing_loggers ) try: log_cfg = props["log4j.rootLogger"].split(",") except KeyError: - print "log4py: missing log4j.rootLogger line" + print("log4py: missing log4j.rootLogger line") root = logging.root log = root @@ -268,11 +268,11 @@ def _install_loggers(props, handlers, filterCategory, disable_existing_loggers ) pass if log_cfg and len(log_cfg) > 0: - if log_cfg[0].strip().upper() in _LEVEL_TRANS.keys(): + if log_cfg[0].strip().upper() in list(_LEVEL_TRANS.keys()): log.setLevel(_LEVEL_TRANS[log_cfg[0].strip().upper()]) del log_cfg[0] else: - print "log4py; error Root logger issue, unknown level: " + str(log_cfg[0].strip()) + print("log4py; error Root logger issue, unknown level: " + str(log_cfg[0].strip())) for h in root.handlers[:]: root.removeHandler(h) @@ -283,20 +283,20 @@ def _install_loggers(props, handlers, filterCategory, disable_existing_loggers ) try: root.addHandler(handlers[h]) except: - print "log4py: error Root logger issue, unknown level or appender: " + str(h) + print("log4py: error Root logger issue, unknown level or appender: " + str(h)) - tmp = filter(lambda x: x.startswith("log4j.category."), props.keys() ) + tmp = [x for x in list(props.keys()) if x.startswith("log4j.category.")] clist = [ x[len("log4j.category."):] for x in tmp ] - tmp = filter(lambda x: x.startswith("log4j.logger."), props.keys()) + tmp = [x for x in list(props.keys()) if x.startswith("log4j.logger.")] llist = [ x[len("log4j.logger."):] for x in tmp ] # existing loggers - existing = root.manager.loggerDict.keys() + existing = list(root.manager.loggerDict.keys()) existing.sort(key=_encoded) child_loggers = [] #now set up the new ones... # check additive tags to avoid additive logging to the root loggers - additivities = filter(lambda x: x.startswith("log4j.additivity."), props.keys()) + additivities = [x for x in list(props.keys()) if x.startswith("log4j.additivity.")] _install_from_list( clist, props, filterCategory, additivities, handlers, existing, child_loggers ) _install_from_list( llist, props, filterCategory, additivities, handlers, existing, child_loggers ) @@ -334,16 +334,16 @@ def _install_from_list( llist, props, filterCategory, additivities, handlers, ex hlist=[] has_level=False for x in [ "log4j.category."+log, "log4j.logger."+log ]: - if x in props.keys(): + if x in list(props.keys()): log_cfg = props[x].split(',') if log_cfg and len(log_cfg) > 0: - if log_cfg[0].strip().upper() in _LEVEL_TRANS.keys(): + if log_cfg[0].strip().upper() in list(_LEVEL_TRANS.keys()): level = _LEVEL_TRANS[log_cfg[0].strip().upper()] has_level = True del log_cfg[0] else: - print "log4py error: "+ str(logger.name) + " issue, unknown level: " + str(log_cfg[0].strip()) + print("log4py error: "+ str(logger.name) + " issue, unknown level: " + str(log_cfg[0].strip())) if log_cfg: hlist = hlist + [x.strip() for x in log_cfg] @@ -370,5 +370,5 @@ def _install_from_list( llist, props, filterCategory, additivities, handlers, ex try: logger.addHandler(handlers[hand]) except: - print "log4py: error "+ str(logger.name) + " issue, unknown handler: " + str(hand) + print("log4py: error "+ str(logger.name) + " issue, unknown handler: " + str(hand)) diff --git a/redhawk/src/base/framework/python/ossie/utils/model/__init__.py b/redhawk/src/base/framework/python/ossie/utils/model/__init__.py index cf84daa99..169f39e46 100644 --- a/redhawk/src/base/framework/python/ossie/utils/model/__init__.py +++ b/redhawk/src/base/framework/python/ossie/utils/model/__init__.py @@ -19,7 +19,7 @@ # -import commands as _commands +import subprocess as _commands import sys as _sys import os as _os import copy as _copy @@ -44,8 +44,8 @@ from ossie.utils import prop_helpers from ossie.utils import rhtime import warnings as _warnings -import cStringIO, pydoc -from connect import * +import io, pydoc +from .connect import * _warnings.filterwarnings('once',category=DeprecationWarning) @@ -107,7 +107,7 @@ def _convertType(propType, val): elif propType.find('complex') == 0: baseType = getMemberType(propType) real, imag = _prop_helpers.parseComplexString(val, baseType) - if isinstance(real, basestring): + if isinstance(real, str): real = int(real) imag = int(imag) newValue = complex(real, imag) @@ -153,8 +153,8 @@ def _formatSimple(prop, value, id): # Checks if current prop is an enum try: if prop._enums != None: - if value in prop._enums.values(): - currVal += " (enum=" + prop._enums.keys()[prop._enums.values().index(value)] + ")" + if value in list(prop._enums.values()): + currVal += " (enum=" + list(prop._enums.keys())[list(prop._enums.values()).index(value)] + ")" except: return currVal return currVal @@ -180,7 +180,7 @@ class OutputBase(object): connection, but are created dynamically on connection. """ def setup(self, usesIOR, dataType=None, componentName=None, usesPortName=None): - raise NotImplementedError, 'OutputBase subclasses must implement setup()' + raise NotImplementedError('OutputBase subclasses must implement setup()') class CorbaObject(object): @@ -205,15 +205,15 @@ def _showPorts(self, ports, destfile=None): localdef_dest = False if destfile == None: localdef_dest = True - destfile = cStringIO.StringIO() + destfile = io.StringIO() if ports: table = TablePrinter('Port Name', 'Port Interface') - for port in ports.itervalues(): + for port in ports.values(): table.append(port['Port Name'], port['Port Interface']) table.write(f=destfile) else: - print >>destfile, "None" + print("None", file=destfile) if localdef_dest: pydoc.pager(destfile.getvalue()) @@ -223,17 +223,17 @@ def api(self, destfile=None): localdef_dest = False if destfile == None: localdef_dest = True - destfile = cStringIO.StringIO() + destfile = io.StringIO() - print >>destfile, 'Provides (Input) Ports' - print >>destfile, '======================' + print('Provides (Input) Ports', file=destfile) + print('======================', file=destfile) self._showPorts(self._providesPortDict, destfile=destfile) - print >>destfile + print(file=destfile) - print >>destfile, 'Uses (Output) Ports' - print >>destfile, '===================' + print('Uses (Output) Ports', file=destfile) + print('===================', file=destfile) self._showPorts(self._usesPortDict, destfile=destfile) - print >>destfile + print(file=destfile) if localdef_dest: pydoc.pager(destfile.getvalue()) @@ -241,28 +241,28 @@ def api(self, destfile=None): def _getUsesPort(self, name): if not name in self._usesPortDict: - raise RuntimeError, "Component '%s' has no uses port '%s'" % (self._instanceName, name) + raise RuntimeError("Component '%s' has no uses port '%s'" % (self._instanceName, name)) return self._usesPortDict[name] def _getDefaultUsesPort(self): numPorts = len(self._usesPortDict) if numPorts == 1: - return self._usesPortDict.values()[0] + return list(self._usesPortDict.values())[0] elif numPorts == 0: - raise RuntimeError, "Component '%s' has no uses ports" % self._instanceName + raise RuntimeError("Component '%s' has no uses ports" % self._instanceName) else: - raise RuntimeError, "Component '%s' has more than one port, connection is ambiguous" % self._instanceName + raise RuntimeError("Component '%s' has more than one port, connection is ambiguous" % self._instanceName) def _matchUsesPort(self, usesPort, connectionId): interface = usesPort['Port Interface'] # First, look for exact matches. - matches = self._matchExact(interface, self._providesPortDict.values()) + matches = self._matchExact(interface, list(self._providesPortDict.values())) # Only if no exact matches are found, try to check the CORBA interfaces # for compatibility. if not matches: - for providesPort in self._providesPortDict.values(): + for providesPort in list(self._providesPortDict.values()): if self._canConnect(interface, providesPort['Port Interface']): matches.append(providesPort) @@ -271,7 +271,7 @@ def _matchUsesPort(self, usesPort, connectionId): def _getProvidesPort(self, name): if not name in self._providesPortDict: - raise RuntimeError, "Component '%s' has no provides port '%s'" % (self._instanceName, name) + raise RuntimeError("Component '%s' has no provides port '%s'" % (self._instanceName, name)) return self._providesPortDict[name] def _getEndpoint(self, port, connectionId): @@ -298,12 +298,12 @@ def _matchProvidesPort(self, providesPort, connectionId): interface = providesPort['Port Interface'] # First, look for exact matches. - matches = self._matchExact(interface, self._usesPortDict.values()) + matches = self._matchExact(interface, list(self._usesPortDict.values())) # Only if no exact matches are found, try to check the CORBA interfaces # for compatibility. if not matches: - for usesPort in self._usesPortDict.values(): + for usesPort in list(self._usesPortDict.values()): if self._canConnect(usesPort['Port Interface'], interface): matches.append(usesPort) @@ -353,7 +353,7 @@ def connect(self, providesComponent, providesPortName=None, usesPortName=None, c try: usesEndpoint = self._matchProvidesPort(providesPort, connectionId)[0] except IndexError: - raise RuntimeError, "No uses ports that match provides port '%s'" % providesPortName + raise RuntimeError("No uses ports that match provides port '%s'" % providesPortName) elif usesPortName: # Just uses port was given; find first matching provides port. usesPort = self._getUsesPort(usesPortName) @@ -361,12 +361,12 @@ def connect(self, providesComponent, providesPortName=None, usesPortName=None, c try: providesEndpoint = providesComponent._matchUsesPort(usesPort, connectionId)[0] except IndexError: - raise RuntimeError, "No provides ports that match uses port '%s'" % usesPortName + raise RuntimeError("No provides ports that match uses port '%s'" % usesPortName) else: # No port names given, attempt to negotiate. matches = [] uses = None - for usesPort in self._usesPortDict.values(): + for usesPort in list(self._usesPortDict.values()): uses = PortEndpoint(self, usesPort) matches.extend((uses, provides) for provides in providesComponent._matchUsesPort(usesPort, connectionId)) @@ -374,7 +374,7 @@ def connect(self, providesComponent, providesPortName=None, usesPortName=None, c ret_str = "Multiple ports matched interfaces on connect, must specify providesPortName or usesPortName\nPossible matches:\n" for match in matches: ret_str += " Interface: "+match[0].getInterface()+", component/port: "+match[0].getName()+" "+match[1].getName()+"\n" - raise RuntimeError, ret_str + raise RuntimeError(ret_str) elif len(matches) == 0: if uses: raise NoMatchingPorts('No matching interfaces between '+uses.supplier._instanceName+' and '+providesComponent._instanceName) @@ -402,7 +402,7 @@ def connect(self, providesComponent, providesPortName=None, usesPortName=None, c # Use usesPortName if provided usesPorts = [self._getUsesPort(usesPortName)] else: - usesPorts = self._usesPortDict.values() + usesPorts = list(self._usesPortDict.values()) # Try to find a uses interface to connect to the object providesInterface = providesComponent._getInterface() usesEndpoint = None @@ -416,7 +416,7 @@ def connect(self, providesComponent, providesPortName=None, usesPortName=None, c else: # No support for provides side, throw an exception so the user knows # that the connection failed. - raise TypeError, "Type '%s' is not supported for provides side connection" % (providesComponent.__class__.__name__) + raise TypeError("Type '%s' is not supported for provides side connection" % (providesComponent.__class__.__name__)) # Make the actual connection from the endpoints log.trace("Uses endpoint '%s' has interface '%s'", usesEndpoint.getName(), usesEndpoint.getInterface()) @@ -428,16 +428,16 @@ def connect(self, providesComponent, providesPortName=None, usesPortName=None, c allocation_id = tuner_status[valid_tuners[0]].allocation_id_csv.split(',')[0] while True: connectionId = str(_uuidgen()) - if not self._listener_allocations.has_key(connectionId): + if connectionId not in self._listener_allocations: break import frontend listen_alloc = frontend.createTunerListenerAllocation(allocation_id, connectionId) retalloc = self.allocateCapacity(listen_alloc) if not retalloc: - raise RuntimeError, "Unable to create a listener for allocation "+allocation_id+" on device "+usesEndpoint.getName() + raise RuntimeError("Unable to create a listener for allocation "+allocation_id+" on device "+usesEndpoint.getName()) self._listener_allocations[connectionId] = listen_alloc elif len(valid_tuners) > 1: - raise RuntimeError, "More than one valid tuner allocation exists on the frontend interfaces device, so the ambiguity cannot be resolved. Please provide the connection id for the desired allocation" + raise RuntimeError("More than one valid tuner allocation exists on the frontend interfaces device, so the ambiguity cannot be resolved. Please provide the connection id for the desired allocation") usesPortRef.connectPort(providesPortRef, connectionId) ConnectionManager.instance().registerConnection(connectionId, usesEndpoint, providesEndpoint) @@ -447,13 +447,13 @@ def _disconnected(self, connectionId): def disconnect(self, providesComponent): manager = ConnectionManager.instance() - for _connectionId, (connectionId, uses, provides) in manager.getConnectionsBetween(self, providesComponent).items(): + for _connectionId, (connectionId, uses, provides) in list(manager.getConnectionsBetween(self, providesComponent).items()): usesPortRef = uses.getReference() try: usesPortRef.disconnectPort(connectionId) except: pass - if self._listener_allocations.has_key(connectionId): + if connectionId in self._listener_allocations: self.deallocateCapacity(self._listener_allocations[connectionId]) self._listener_allocations.pop(connectionId) if isinstance(providesComponent, PortSupplier): @@ -504,7 +504,7 @@ def _findProperty(self, name): for prop in self._properties: if name in (prop.id, prop.clean_name): return prop - raise KeyError, "Unknown property '%s'" % name + raise KeyError("Unknown property '%s'" % name) def _itemToDataType(self, name, value): prop = self._findProperty(name) @@ -516,7 +516,7 @@ def configure(self, props): pass try: # Turn a dictionary of Python values into a list of CF Properties - props = [self._itemToDataType(k,v) for k,v in props.iteritems()] + props = [self._itemToDataType(k,v) for k,v in props.items()] except AttributeError: # Assume the exception occurred because props is not a dictionary pass @@ -528,7 +528,7 @@ def initializeProperties(self, props): pass try: # Turn a dictionary of Python values into a list of CF Properties - props = [self._itemToDataType(k,v) for k,v in props.iteritems()] + props = [self._itemToDataType(k,v) for k,v in props.items()] except AttributeError: # Assume the exception occurred because props is not a dictionary pass @@ -548,7 +548,7 @@ def api(self, externalPropInfo=None, destfile=None): localdef_dest = False if destfile == None: localdef_dest = True - destfile = cStringIO.StringIO() + destfile = io.StringIO() properties = [p for p in self._properties if 'property' in p.kinds or 'configure' in p.kinds or 'execparam' in p.kinds] if not properties: return @@ -564,8 +564,8 @@ def api(self, externalPropInfo=None, destfile=None): extId, propId = externalPropInfo table.enable_header(False) else: - print >>destfile, 'Properties' - print >>destfile, '==========' + print('Properties', file=destfile) + print('==========', file=destfile) for prop in properties: if externalPropInfo: # Searching for a particular external property @@ -599,7 +599,7 @@ def api(self, externalPropInfo=None, destfile=None): table.append(name, '('+scaType+')', defVal, currVal) elif prop.type == 'struct': table.append(name, '('+scaType+')') - for member in prop.members.itervalues(): + for member in prop.members.values(): name = ' ' + member.clean_name scaType = _formatType(member.type) if not writeOnly: @@ -928,12 +928,12 @@ def _getAllocProp(self, name): for prop in self._allocProps: if name in (prop.id, prop.clean_name): return prop - raise KeyError, "No allocation property '%s'" % name + raise KeyError("No allocation property '%s'" % name) def _capacitiesToAny(self, props): if isinstance(props, dict): allocProps = [] - for name, value in props.iteritems(): + for name, value in props.items(): prop = self._getAllocProp(name) allocProps.append(_CF.DataType(prop.id, prop.toAny(value))) return allocProps @@ -1010,12 +1010,12 @@ def api(self, destfile=None): localdef_dest = False if destfile == None: localdef_dest = True - destfile = cStringIO.StringIO() + destfile = io.StringIO() - print >>destfile, 'Allocation Properties' - print >>destfile, '=====================' + print('Allocation Properties', file=destfile) + print('=====================', file=destfile) if not self._allocProps: - print >>destfile, 'None' + print('None', file=destfile) return table = TablePrinter('Property Name', '(Data Type)', 'Action') @@ -1026,7 +1026,7 @@ def api(self, destfile=None): structdef = prop.structDef else: structdef = prop - for member in structdef.members.itervalues(): + for member in structdef.members.values(): table.append(' '+member.clean_name, member.type) table.write(f=destfile) if localdef_dest: @@ -1099,15 +1099,15 @@ def __setattr__(self,name,value): for prop in propSet: if name == prop.clean_name: if _DEBUG == True: - print "Component:__setattr__() Setting component property attribute " + str(name) + " to value " + str(value) + print("Component:__setattr__() Setting component property attribute " + str(name) + " to value " + str(value)) self._configureSingleProp(prop.id,value) break if name == prop.id: if _DEBUG == True: - print "Component:__setattr__() Setting component property attribute " + str(name) + " to value " + str(value) + print("Component:__setattr__() Setting component property attribute " + str(name) + " to value " + str(value)) self._configureSingleProp(name,value) break - except AttributeError, e: + except AttributeError as e: # This would be thrown if _propertyies attribute hasn't been set yet # This will occur only with setting of class attibutes before _properties has been set # This will not affect setting attributes based on component properties since this will @@ -1126,7 +1126,7 @@ def __getattribute__(self,name): for prop in propSet: if name == prop.id or name == prop.clean_name: if _DEBUG == True: - print 'Component:__getattribute__()', prop + print('Component:__getattribute__()', prop) return prop if name == '_id': if object.__getattribute__(self,"_id") == None: @@ -1166,9 +1166,9 @@ def _getPropertySet(self, \ _duplicateNames = {} if _DEBUG == True: - print "Component: _getPropertySet() kinds " + str(kinds) - print "Component: _getPropertySet() modes " + str(modes) - print "Component: _getPropertySet() action " + str(action) + print("Component: _getPropertySet() kinds " + str(kinds)) + print("Component: _getPropertySet() modes " + str(modes)) + print("Component: _getPropertySet() action " + str(action)) if not self._prf: return [] @@ -1273,7 +1273,7 @@ def _getPropertySet(self, \ structDefValue[prop_key] = [] hasDefault = False - for defValue in structDefValue.values(): + for defValue in list(structDefValue.values()): if defValue is not None: hasDefault = True break @@ -1365,7 +1365,7 @@ def _getPropertySet(self, \ if _DEBUG == True: try: - print "Component: _getPropertySet() propertySet " + str(propertySet) + print("Component: _getPropertySet() propertySet " + str(propertySet)) except: pass return propertySet @@ -1384,24 +1384,24 @@ def _query(self, props=[], printResults=False): maxNameLen = 0 if printResults: if results != [] and len(props) == 0: - for prop in propDict.items(): + for prop in list(propDict.items()): if len(prop[0]) > maxNameLen: maxNameLen = len(prop[0]) - print "_query():" - print "Property Name" + " "*(maxNameLen-len("Property Name")) + "\tProperty Value" - print "-------------" + " "*(maxNameLen-len("Property Name")) + "\t--------------" - for prop in propDict.items(): - print str(prop[0]) + " "*(maxNameLen-len(str(prop[0]))) + "\t " + str(prop[1]) + print("_query():") + print("Property Name" + " "*(maxNameLen-len("Property Name")) + "\tProperty Value") + print("-------------" + " "*(maxNameLen-len("Property Name")) + "\t--------------") + for prop in list(propDict.items()): + print(str(prop[0]) + " "*(maxNameLen-len(str(prop[0]))) + "\t " + str(prop[1])) return propDict # helper function for property changes def _configureSingleProp(self, propName, propValue): if _DEBUG == True: - print "Component:_configureSingleProp() propName " + str(propName) - print "Component:_configureSingleProp() propValue " + str(propValue) + print("Component:_configureSingleProp() propName " + str(propName)) + print("Component:_configureSingleProp() propValue " + str(propValue)) if not propName in self._configureTable: - raise AssertionError,'Component:_configureSingleProp() ERROR - Property not found in _configureSingleProp' + raise AssertionError('Component:_configureSingleProp() ERROR - Property not found in _configureSingleProp') prop = self._configureTable[propName] # Will generate a configure call on the component prop.configureValue(propValue) @@ -1434,7 +1434,7 @@ def eos(self): def _buildAPI(self): if _DEBUG == True: - print "Component:_buildAPI()" + print("Component:_buildAPI()") super(ComponentBase,self)._buildAPI() for port in self._scd.get_componentfeatures().get_ports().get_provides(): @@ -1514,7 +1514,7 @@ def _populatePorts(self): mod = __import__(pkg_name,globals(),locals(),[_to]) globals()[_to] = mod.__dict__[_to] success = True - except ImportError, msg: + except ImportError as msg: pass else: try: @@ -1523,7 +1523,7 @@ def _populatePorts(self): mod = __import__(pkg_name,globals(),locals(),[_to]) globals()[_to] = mod.__dict__[_to] success = True - except ImportError, msg: + except ImportError as msg: pass if not success: std_idl_path = _os.path.join(_os.environ['OSSIEHOME'], 'lib/python') diff --git a/redhawk/src/base/framework/python/ossie/utils/model/connect.py b/redhawk/src/base/framework/python/ossie/utils/model/connect.py index 828d06579..ac65cf770 100644 --- a/redhawk/src/base/framework/python/ossie/utils/model/connect.py +++ b/redhawk/src/base/framework/python/ossie/utils/model/connect.py @@ -134,7 +134,7 @@ def getConnections(self): def getConnectionsBetween(self, usesComponent, providesComponent): connections = {} with self.__lock: - for _identifier, (identifier, uses, provides) in self.__connections.iteritems(): + for _identifier, (identifier, uses, provides) in self.__connections.items(): if uses.hasComponent(usesComponent) and provides.hasComponent(providesComponent): connections[_identifier] = (identifier, uses, provides) return connections @@ -142,7 +142,7 @@ def getConnectionsBetween(self, usesComponent, providesComponent): def getConnectionsFor(self, usesComponent): connections = {} with self.__lock: - for _identifier, (identifier, uses, provides) in self.__connections.iteritems(): + for _identifier, (identifier, uses, provides) in self.__connections.items(): if uses.hasComponent(usesComponent): connections[_identifier] = (identifier, uses, provides) return connections @@ -226,5 +226,5 @@ def cleanup(self): connections = self.__connections self.__connections = {} - for (identifier, uses, provides) in connections.itervalues(): + for (identifier, uses, provides) in connections.values(): self._breakConnection(identifier, uses, provides) diff --git a/redhawk/src/base/framework/python/ossie/utils/notify.py b/redhawk/src/base/framework/python/ossie/utils/notify.py index 06f0b32a3..3729a602b 100644 --- a/redhawk/src/base/framework/python/ossie/utils/notify.py +++ b/redhawk/src/base/framework/python/ossie/utils/notify.py @@ -46,7 +46,7 @@ def __call__(self, *args, **kwargs): try: match = self.nc_match(*args, **kwargs) except: - print >>sys.stderr, 'Exception in match function for notification %s:' % (repr(self.nc_func),) + print('Exception in match function for notification %s:' % (repr(self.nc_func),), file=sys.stderr) traceback.print_exception(*sys.exc_info()) # Treat an exception in the function as a negative response @@ -94,7 +94,7 @@ def notify(self, *args, **kwargs): # the case as long as the proper API is used--show the actual # function target = getattr(listener, 'nc_func', listener) - print >>sys.stderr, 'Exception in notification %s:' % (repr(target),) + print('Exception in notification %s:' % (repr(target),), file=sys.stderr) traceback.print_exception(*sys.exc_info()) class notification_method(notification_func): @@ -116,19 +116,19 @@ class bound_notification(object): def __init__(self, func, obj, owner): for attr in ('__name__', '__doc__', '__module__'): setattr(self, attr, getattr(func, attr)) - self.im_self = obj - self.im_class = owner - self.im_func = func + self.__self__ = obj + self.__self__.__class__ = owner + self.__func__ = func def __call__(self, *args, **kwargs): """ Executes the notification function and notifies any listeners. """ - func = notification_method(self.im_func, self.listeners) - return func(self.im_self, *args, **kwargs) + func = notification_method(self.__func__, self.listeners) + return func(self.__self__, *args, **kwargs) def __getattr__(self, name): - return getattr(self.im_func, name) + return getattr(self.__func__, name) @property def listeners(self): @@ -137,9 +137,9 @@ def listeners(self): # Since lists are passed by reference, this allows modifications to the # returned list without needing a reference to the owning object. attrname = '__' + self.__name__ + '_listeners' - if not hasattr(self.im_self, attrname): - setattr(self.im_self, attrname, []) - return getattr(self.im_self, attrname) + if not hasattr(self.__self__, attrname): + setattr(self.__self__, attrname, []) + return getattr(self.__self__, attrname) def addListener(self, callback, match=None): """ @@ -162,15 +162,15 @@ class unbound_notification(object): def __init__(self, func, owner): for attr in ('__name__', '__module__'): setattr(self, attr, getattr(func, attr)) - self.im_func = func - self.im_self = None - self.im_class = owner - self.__doc__ = "Notification '%s'." % (_notification_signature(self.im_func),) - if self.im_func.__doc__: - self.__doc__ += '\n' + self.im_func.__doc__ + self.__func__ = func + self.__self__ = None + self.__self__.__class__ = owner + self.__doc__ = "Notification '%s'." % (_notification_signature(self.__func__),) + if self.__func__.__doc__: + self.__doc__ += '\n' + self.__func__.__doc__ def __call__(self, obj, *args, **kwargs): - func = bound_notification(self.im_func, obj, self.im_class) + func = bound_notification(self.__func__, obj, self.__self__.__class__) return func(*args, **kwargs) def __get__(self, obj, owner): @@ -230,7 +230,7 @@ def __set__(self, obj, value): # help() treat notifications as data descriptors instead of methods. # For standalone functions, this means that help() will show the # available methods rather than the function documentation. - raise AttributeError, 'notification cannot be set' + raise AttributeError('notification cannot be set') def __call__(self, *args, **kwargs): # This notification is being used as a free-standing function; get the diff --git a/redhawk/src/base/framework/python/ossie/utils/popen.py b/redhawk/src/base/framework/python/ossie/utils/popen.py index 392404da1..9479d37c0 100644 --- a/redhawk/src/base/framework/python/ossie/utils/popen.py +++ b/redhawk/src/base/framework/python/ossie/utils/popen.py @@ -50,7 +50,7 @@ def __call__ (self, *args, **kwargs): while True: try: return self.func(*args, **kwargs) - except OSError, e: + except OSError as e: if e.errno != errno.EINTR: raise diff --git a/redhawk/src/base/framework/python/ossie/utils/prop_helpers.py b/redhawk/src/base/framework/python/ossie/utils/prop_helpers.py index 5c514e7d2..43795721f 100644 --- a/redhawk/src/base/framework/python/ossie/utils/prop_helpers.py +++ b/redhawk/src/base/framework/python/ossie/utils/prop_helpers.py @@ -32,7 +32,7 @@ from omniORB import CORBA as _CORBA from omniORB import tcInternal as _tcInternal import copy as _copy -import cStringIO, pydoc +import io, pydoc import struct as _struct import string as _string import operator as _operator @@ -119,12 +119,12 @@ def configureProp(compRef, propName, propValue): applicableTypes = strTypes elif valueType == bool: applicableTypes = boolTypes - elif valueType == long: + elif valueType == int: applicableTypes = longTypes elif valueType == float: applicableTypes = floatTypes else: - raise Exception, 'Could not match "'+str(valueType)+'" to a valid CORBA type' + raise Exception('Could not match "'+str(valueType)+'" to a valid CORBA type') passConfigure = False for propType in applicableTypes: @@ -141,7 +141,7 @@ def configureProp(compRef, propName, propValue): msg = 'Was not able to configure property: "'+str(propName)+'", trying the following types:\n' for propType in applicableTypes: msg += (' ' + str(propType) + '\n') - raise Exception, msg + raise Exception(msg) def getPropNameDict(prf): # @@ -156,8 +156,8 @@ def getPropNameDict(prf): name = prop.get_id() else: name = prop.get_name() - if nameDict.has_key( str(name)): - print "WARN: property with non-unique name %s" % name + if str(name) in nameDict: + print("WARN: property with non-unique name %s" % name) continue nameDict[str(name)] = str(prop.get_id()) @@ -168,8 +168,8 @@ def getPropNameDict(prf): tagbase = str(struct.get_id()) else: tagbase = str(struct.get_name()) - if nameDict.has_key( tagbase ): - print "WARN: struct with duplicate name %s" % tagbase + if tagbase in nameDict: + print("WARN: struct with duplicate name %s" % tagbase) continue nameDict[str(tagbase)] = str(struct.get_id()) @@ -179,8 +179,8 @@ def getPropNameDict(prf): name = prop.get_id() else: name = prop.get_name() - if nameDict.has_key( tagbase + str(name) ): - print "WARN: struct element with duplicate name %s" % tagbase + if tagbase + str(name) in nameDict: + print("WARN: struct element with duplicate name %s" % tagbase) continue nameDict[str(tagbase + str(name))] = str(prop.get_id()) @@ -190,8 +190,8 @@ def getPropNameDict(prf): name = prop.get_id() else: name = prop.get_name() - if nameDict.has_key( tagbase + str(name) ): - print "WARN: struct element with duplicate name %s" % tagbase + if tagbase + str(name) in nameDict: + print("WARN: struct element with duplicate name %s" % tagbase) continue nameDict[str(tagbase + str(name))] = str(prop.get_id()) @@ -204,8 +204,8 @@ def getPropNameDict(prf): else: tagbase = str(structSequence.get_name()) # make sure this structSequence name is unique - if nameDict.has_key( str(tagbase) ): - print "WARN: property with non-unique name %s" % tagbase + if str(tagbase) in nameDict: + print("WARN: property with non-unique name %s" % tagbase) continue nameDict[str(tagbase)] = str(structSequence.get_id()) @@ -219,8 +219,8 @@ def getPropNameDict(prf): name = prop.get_id() else: name = prop.get_name() - if nameDict.has_key( tagbase + str(name)): - print "WARN: property with non-unique name %s" % name + if tagbase + str(name) in nameDict: + print("WARN: property with non-unique name %s" % name) continue nameDict[str(tagbase + str(name))] = str(prop.get_id()) @@ -230,8 +230,8 @@ def getPropNameDict(prf): name = prop.get_id() else: name = prop.get_name() - if nameDict.has_key( tagbase + str(name)): - print "WARN: property with non-unique name %s" % name + if tagbase + str(name) in nameDict: + print("WARN: property with non-unique name %s" % name) continue nameDict[str(tagbase + str(name))] = str(prop.get_id()) @@ -246,7 +246,7 @@ def getPropNameDict(prf): ''' def addCleanName(cleanName, id, _displayNames, _duplicateNames, namesp=None): retval=cleanName - if not _displayNames.has_key(cleanName): + if cleanName not in _displayNames: _displayNames[cleanName] = id # maintain a count of clean name for each namespace context _duplicateNames[cleanName] = { namesp : 0 } @@ -352,7 +352,7 @@ def __init__(self, id, type, kinds, compRef, mode='readwrite', action='external' self.type = type self.compRef = compRef if mode not in self.MODES: - print str(mode) + ' is not a valid mode, defaulting to "readwrite"' + print(str(mode) + ' is not a valid mode, defaulting to "readwrite"') self.mode = 'readwrite' else: self.mode = mode @@ -397,7 +397,7 @@ def _getStructsSimpleSeqProps(self, sprop, prop): cname = _cleanId(sprop) if cname in i._memberNames: cname = i._memberNames[cname] - if i.members[cname].__dict__.has_key("_enums"): + if "_enums" in i.members[cname].__dict__: if i.members[cname]._enums != None: enums = i.members[cname]._enums if self.mode != "writeonly": @@ -408,23 +408,23 @@ def _getStructsSimpleSeqProps(self, sprop, prop): def _api(self, destfile): # Basic default/current value for simple/simplesequence - print >>destfile, "% -*s %s" % (17, "Default Value:", self.defValue) + print("% -*s %s" % (17, "Default Value:", self.defValue), file=destfile) if self._checkRead(): - print >>destfile, "% -*s %s" % (17, "Value: ", self.queryValue()) + print("% -*s %s" % (17, "Value: ", self.queryValue()), file=destfile) def api(self, destfile=None): localdef_dest = False if destfile == None: localdef_dest = True - destfile = cStringIO.StringIO() + destfile = io.StringIO() - print >>destfile, "\nProperty\n--------" - print >>destfile, "% -*s %s" % (17, "ID:", self.id) - print >>destfile, "% -*s %s" % (17, "Type:", self.type) - print >>destfile, "% -*s %s" % (17, "Mode:", self.mode) - print >>destfile, "% -*s %s" % (17, "Kinds: ", ', '.join(self.kinds)) + print("\nProperty\n--------", file=destfile) + print("% -*s %s" % (17, "ID:", self.id), file=destfile) + print("% -*s %s" % (17, "Type:", self.type), file=destfile) + print("% -*s %s" % (17, "Mode:", self.mode), file=destfile) + print("% -*s %s" % (17, "Kinds: ", ', '.join(self.kinds)), file=destfile) if 'allocation' in self.kinds: - print >>destfile, "% -*s %s" % (17, "Action:", self.action) + print("% -*s %s" % (17, "Action:", self.action), file=destfile) self._api(destfile) if localdef_dest: @@ -462,7 +462,7 @@ def _queryValue(self): except: results = None if self.mode == "writeonly": - print "Invalid Action: can not query a partial property if it is writeonly" + print("Invalid Action: can not query a partial property if it is writeonly") if results is None: return None else: @@ -486,7 +486,7 @@ def queryValue(self): on the component and returning only the value ''' if not self._checkRead(): - raise Exception, 'Could not perform query, ' + str(self.id) + ' is a writeonly property' + raise Exception('Could not perform query, ' + str(self.id) + ' is a writeonly property') value = self._queryValue() return self.fromAny(value) @@ -498,16 +498,16 @@ def configureValue(self, value): the parent property is configured. ''' if not self._checkWrite(): - raise Exception, 'Could not perform configure, ' + str(self.id) + ' is a readonly property' + raise Exception('Could not perform configure, ' + str(self.id) + ' is a readonly property') try: value = self.toAny(value) - except EnumValueError, ex: + except EnumValueError as ex: # If enumeration value is invalid, list available enumerations. - print 'Could not perform configure on ' + str(ex.id) + ', invalid enumeration provided' - print "Valid enumerations: " - for name, value in ex.enums.iteritems(): - print "\t%s=%s" % (name, value) + print('Could not perform configure on ' + str(ex.id) + ', invalid enumeration provided') + print("Valid enumerations: ") + for name, value in ex.enums.items(): + print("\t%s=%s" % (name, value)) return self._configureValue(value) @@ -615,7 +615,7 @@ def wrapper(self, *args, **kwargs): # Type conversions __complex__ = proxy_operator(complex) __int__ = proxy_operator(int) - __long__ = proxy_operator(long) + __long__ = proxy_operator(int) __float__ = proxy_operator(float) __nonzero__ = proxy_operator(bool) @@ -676,7 +676,7 @@ def __init__(self, id, valueType, enum, compRef, kinds,defValue=None, parent=Non structRef, structSeqRef, structSeqIdx """ if valueType not in SCA_TYPES: - raise(Exception('"' + str(valueType) + '"' + ' is not a valid valueType, choose from\n ' + str(SCA_TYPES))) + raise Exception # Initialize the parent Property.__init__(self, id, type=valueType, kinds=kinds,compRef=compRef, mode=mode, action=action, parent=parent, @@ -715,15 +715,15 @@ def _parseEnumerations(self,enum): def _enumValue(self, value): - if value in self._enums.values(): + if value in list(self._enums.values()): return value - elif value in self._enums.keys(): + elif value in list(self._enums.keys()): return self._enums.get(value) raise EnumValueError(self.id, value, self._enums) def _api(self, destfile): if self._enums != None: - print >>destfile, "% -*s %s" % (17, "Enumerations:", self._enums) + print("% -*s %s" % (17, "Enumerations:", self._enums), file=destfile) Property._api(self, destfile) @property @@ -797,14 +797,14 @@ def __repr__(self, *args): if value != None: ret=str(value) else: - raise Exception, 'Could not perform query, "' + str(self.id) + '" is a writeonly property' + raise Exception('Could not perform query, "' + str(self.id) + '" is a writeonly property') return ret def __str__(self, *args): return self.__repr__() def enums(self): - print self._enums + print(self._enums) def __getattr__(self, name): # If attribute is not found on simpleProperty, defer to the value; this @@ -826,7 +826,7 @@ def __init__(self, id, valueType, kinds, compRef, defValue=None, parent=None, mo mode - Mode for the property, must be in MODES (default: 'readwrite') """ if valueType not in SCA_TYPES and valueType != 'structSeq': - raise('"' + str(valueType) + '"' + ' is not a valid valueType, choose from\n ' + str(SCA_TYPES)) + raise '"' # Initialize the parent Property Property.__init__(self, id, type=valueType, kinds=kinds, compRef=compRef, parent=parent, mode=mode, action='external', @@ -969,7 +969,7 @@ def __repr__(self): if self.mode != "writeonly": return repr(self.queryValue()) else: - raise Exception, 'Could not perform query, "' + str(self.id) + '" is a writeonly property' + raise Exception('Could not perform query, "' + str(self.id) + '" is a writeonly property') def __str__(self): return self.__repr__() @@ -1069,7 +1069,7 @@ def _configureItem(self, propId, value): self._configureValue(structValue) def _checkValue(self, value): - for memberId in value.iterkeys(): + for memberId in value.keys(): self._getMemberId(memberId) def _getMemberId(self, name): @@ -1078,11 +1078,11 @@ def _getMemberId(self, name): memberId = self._memberNames.get(name, None) if memberId: return memberId - raise TypeError, "'%s' is not a member of '%s'" % (name, self.id) + raise TypeError("'%s' is not a member of '%s'" % (name, self.id)) def _remapValue(self, value): valout = {} - for memberId, memberVal in value.iteritems(): + for memberId, memberVal in value.items(): memberId = self._getMemberId(memberId) valout[memberId] = memberVal return valout @@ -1100,7 +1100,7 @@ def _api(self, destfile): structTable.limit_column(2, 15) structTable.limit_column(3, 15) structTable.limit_column(4, 40) - for prop_id, prop in self.members.iteritems(): + for prop_id, prop in self.members.items(): if self._checkRead(): value = prop.queryValue() else: @@ -1109,7 +1109,7 @@ def _api(self, destfile): if enums is None: enums = '' structTable.append(prop_id, prop.type, str(prop.defValue), str(value), enums) - print >>destfile, "\nStruct\n======" + print("\nStruct\n======", file=destfile) structTable.write(destfile) @property @@ -1143,11 +1143,11 @@ def toAny(self, value): Converts the input value in Python format to a CORBA Any. ''' if value is None: - props = [_CF.DataType(str(m.id), m.toAny(None)) for m in self.members.values()] + props = [_CF.DataType(str(m.id), m.toAny(None)) for m in list(self.members.values())] return _CORBA.Any(self.typecode, props) if not isinstance(value, dict): - raise TypeError, 'configureValue() must be called with dict instance as second argument (got ' + str(type(value))[7:-2] + ' instance instead)' + raise TypeError('configureValue() must be called with dict instance as second argument (got ' + str(type(value))[7:-2] + ' instance instead)') # Remap the value keys, which may be names, to IDs; this also checks # that the value passed in matches the struct definition @@ -1155,7 +1155,7 @@ def toAny(self, value): # Convert struct items into CF::Properties. props = [] - for _id, member in self.members.iteritems(): + for _id, member in self.members.items(): memberVal = value.get(_id, member.defValue) props.append(_CF.DataType(str(_id), member.toAny(memberVal))) @@ -1190,7 +1190,7 @@ def __repr__(self): if self.mode != "writeonly": currValue = self.queryValue() else: - raise Exception, 'Could not perform query, "' + str(self.id) + '" is a writeonly property' + raise Exception('Could not perform query, "' + str(self.id) + '" is a writeonly property') structView = "ID: " + self.id for key in currValue: try: @@ -1315,9 +1315,9 @@ def _configureItem(self, index, value): def _api(self, destfile): structTable = TablePrinter('Name', 'Data Type') structTable.limit_column(1, 35) - for prop_id, prop in self.structDef.members.iteritems(): + for prop_id, prop in self.structDef.members.items(): structTable.append(prop_id, prop.type) - print >>destfile, "\nStruct\n======" + print("\nStruct\n======", file=destfile) structTable.write(destfile) simpleTable = TablePrinter('Index', 'Name', 'Value') @@ -1325,9 +1325,9 @@ def _api(self, destfile): simpleTable.limit_column(2, 35) if self._checkRead(): for index, dict_ in enumerate(self): - for k, v in dict_.items(): + for k, v in list(dict_.items()): simpleTable.append(str(index), str(k), str(v)) - print >>destfile, '\nValues\n======' + print('\nValues\n======', file=destfile) simpleTable.write(destfile) def fromAny(self, value): @@ -1355,7 +1355,7 @@ def parseComplexString(ajbString, baseType): containing the name of a complex type (e.g., "float"). ''' - if __TYPE_MAP.has_key(baseType): + if baseType in __TYPE_MAP: # if the type is passed in as a string # e.g., "float" vs. float baseType = getPyType(baseType) diff --git a/redhawk/src/base/framework/python/ossie/utils/redhawk/__init__.py b/redhawk/src/base/framework/python/ossie/utils/redhawk/__init__.py index 0c1430089..90f98cbf8 100644 --- a/redhawk/src/base/framework/python/ossie/utils/redhawk/__init__.py +++ b/redhawk/src/base/framework/python/ossie/utils/redhawk/__init__.py @@ -24,10 +24,10 @@ common python modules and packages """ -import base -from base import * -import core -from core import * +from . import base +from .base import * +from . import core +from .core import * # Create a log for library messages, defaulting to the null handler. import logging diff --git a/redhawk/src/base/framework/python/ossie/utils/redhawk/base.py b/redhawk/src/base/framework/python/ossie/utils/redhawk/base.py index 73fb95503..cbf6731e1 100644 --- a/redhawk/src/base/framework/python/ossie/utils/redhawk/base.py +++ b/redhawk/src/base/framework/python/ossie/utils/redhawk/base.py @@ -23,7 +23,7 @@ from omniORB import CORBA as _CORBA import CosNaming as _CosNaming from xml.dom import minidom as _minidom -import core as _core +from . import core as _core from ossie.cf import CF as _CF import ossie.utils as _utils from ossie.utils.sca import importIDL as _importIDL @@ -53,21 +53,21 @@ def __terminate_process( process, signals=(_signal.SIGINT, _signal.SIGTERM, _sig if __waitTermination(process): break process.wait() - except OSError, e: + except OSError as e: pass finally: pass def _cleanup_domain(): try: - if globals().has_key('currentdomain'): + if 'currentdomain' in globals(): __terminate_process( globals()['currentdomain'].process) x = globals().pop('currentdomain') if x : del x except: traceback.print_exc() pass - if globals().has_key('currentdevmgrs'): + if 'currentdevmgrs' in globals(): for x in globals()['currentdevmgrs']: try: __terminate_process(x.process) @@ -78,7 +78,7 @@ def _cleanup_domain(): if x : del x def _shutdown_session(): - if globals().has_key('orb_to_shutdown'): + if 'orb_to_shutdown' in globals(): orb = globals()['orb_to_shutdown'] if orb: orb.shutdown(True) @@ -129,7 +129,7 @@ def kickDomain(domain_name=None, kick_device_managers=True, device_managers=[], try: sdrroot = _os.getenv('SDRROOT') except: - print "The environment variable SDRROOT must be set or an sdrroot value must be passed as an argument" + print("The environment variable SDRROOT must be set or an sdrroot value must be passed as an argument") args = ['nodeBooter'] args.append('-D') @@ -153,13 +153,13 @@ def kickDomain(domain_name=None, kick_device_managers=True, device_managers=[], dmd_contents = fp.read() fp.close except: - print "Unable to read domain profile "+dmd_file + print("Unable to read domain profile "+dmd_file) return None try: dmd = _minidom.parseString(dmd_contents) domain_name = str(dmd.getElementsByTagName('domainmanagerconfiguration')[0].getAttribute('name')) except: - print "Invalid domain profile "+dmd_file + print("Invalid domain profile "+dmd_file) return None _devnull = open('/dev/null') @@ -175,7 +175,7 @@ def kickDomain(domain_name=None, kick_device_managers=True, device_managers=[], else: sp = _utils.Popen(args, executable=None, cwd=_os.getcwd(), close_fds=True, stdin=_devnull, stdout=stdout_fp, preexec_fn=_os.setpgrp) - if globals().has_key('currentdomain'): + if 'currentdomain' in globals(): globals()['currentdomain'] = None globals()['currentdomain'] = _envContainer(sp, stdout_fp) @@ -198,7 +198,7 @@ def kickDomain(domain_name=None, kick_device_managers=True, device_managers=[], for idx, device_manager in enumerate(device_managers): dcd_file = _getDCDFile(sdrroot, device_manager) if not dcd_file: - print "Unable to locate DCD file for '%s'" % device_manager + print("Unable to locate DCD file for '%s'" % device_manager) continue args = ['nodeBooter'] @@ -221,7 +221,7 @@ def kickDomain(domain_name=None, kick_device_managers=True, device_managers=[], sp = _utils.Popen(args, executable=None, cwd=_os.getcwd(), close_fds=True, stdin=_devnull, stdout=stdout_fp, preexec_fn=_os.setpgrp) dm_procs.append( _envContainer(sp, stdout_fp) ) - if globals().has_key('currentdevmgrs'): + if 'currentdevmgrs' in globals(): globals()['currentdevmgrs'] += dm_procs else: globals()['currentdevmgrs'] = dm_procs @@ -296,9 +296,9 @@ def attach(domain=None, location=None, connectDomainEvents=True): domain = domains[0] else: if len(domains) == 0 : - print "No domains found." + print("No domains found.") else: - print "Multiple domains found: "+str(domains)+". Please specify one." + print("Multiple domains found: "+str(domains)+". Please specify one.") return None dom_entry = _core.Domain(name=str(domain), location=location, connectDomainEvents=connectDomainEvents) diff --git a/redhawk/src/base/framework/python/ossie/utils/redhawk/component.py b/redhawk/src/base/framework/python/ossie/utils/redhawk/component.py index a2d4a2fce..b98cfd4ba 100644 --- a/redhawk/src/base/framework/python/ossie/utils/redhawk/component.py +++ b/redhawk/src/base/framework/python/ossie/utils/redhawk/component.py @@ -18,7 +18,7 @@ # along with this program. If not, see http://www.gnu.org/licenses/. # -import cStringIO, pydoc +import io, pydoc from ossie.utils.model import ComponentBase, Resource, PropertySet, PortSupplier @@ -40,8 +40,8 @@ def __init__(self, profile, spd, scd, prf, instanceName, refid, impl, pid=0, dev self._buildAPI() if self.ref != None: self.ports = self._populatePorts() - except Exception, e: - print "Component:__init__() ERROR - Failed to instantiate component " + str(self.name) + " with exception " + str(e) + except Exception as e: + print("Component:__init__() ERROR - Failed to instantiate component " + str(self.name) + " with exception " + str(e)) ##################################### @@ -52,11 +52,11 @@ def api(self, showComponentName=True, showInterfaces=True, showProperties=True, localdef_dest = False if destfile == None: localdef_dest = True - destfile = cStringIO.StringIO() + destfile = io.StringIO() className = self.__class__.__name__ if showComponentName == True: - print >>destfile, className+" [" + str(self.name) + "]:" + print(className+" [" + str(self.name) + "]:", file=destfile) if showInterfaces == True: PortSupplier.api(self, destfile=destfile) if showProperties == True and self._properties != None: diff --git a/redhawk/src/base/framework/python/ossie/utils/redhawk/core.py b/redhawk/src/base/framework/python/ossie/utils/redhawk/core.py index c5389ccaf..1358deeff 100644 --- a/redhawk/src/base/framework/python/ossie/utils/redhawk/core.py +++ b/redhawk/src/base/framework/python/ossie/utils/redhawk/core.py @@ -32,7 +32,7 @@ import sys as _sys import time as _time import datetime as _datetime -import cStringIO, pydoc +import io, pydoc import weakref import threading import logging @@ -48,12 +48,12 @@ from ossie.utils.notify import notification from ossie.utils import weakobj -from channels import IDMListener, ODMListener -from component import Component -from device import Device, createDevice -from service import Service, RogueService -from model import DomainObjectList -from model import IteratorContainer +from .channels import IDMListener, ODMListener +from .component import Component +from .device import Device, createDevice +from .service import Service, RogueService +from .model import DomainObjectList +from .model import IteratorContainer from ossie.utils.model import QueryableBase # Limit exported symbols @@ -355,7 +355,7 @@ def __getattribute__(self, name): return object.__getattribute__(self,name) except AttributeError: # Check if current request is an external prop - if self._externalProps.has_key(name): + if name in self._externalProps: propId, compRefId = self._externalProps[name] for curr_comp in self.comps: if curr_comp._get_identifier().split(':')[0] == compRefId: @@ -381,7 +381,7 @@ def __setattr__(self, name, value): return object.__setattr__(self, name, value) # Check if current value to be set is an external prop - if self._externalProps.has_key(name): + if name in self._externalProps: propId, compRefId = self._externalProps[name] for curr_comp in self.comps: if curr_comp._get_identifier().split(':')[0] == compRefId: @@ -467,28 +467,28 @@ def api(self, destfile=None): localdef_dest = False if destfile == None: localdef_dest = True - destfile = cStringIO.StringIO() + destfile = io.StringIO() - print >>destfile, "Waveform [" + self.ns_name + "]" - print >>destfile, "---------------------------------------------------" + print("Waveform [" + self.ns_name + "]", file=destfile) + print("---------------------------------------------------", file=destfile) - print >>destfile, "External Ports ==============" + print("External Ports ==============", file=destfile) PortSupplier.api(self, destfile=destfile) - print >>destfile, "Components ==============" + print("Components ==============", file=destfile) for count, comp_entry in enumerate(self.comps): name = comp_entry.name if comp_entry._get_identifier().find(self.assemblyController) != -1: name += " (Assembly Controller)" - print >>destfile, "%d. %s" % (count+1, name) - print >>destfile, "\n" + print("%d. %s" % (count+1, name), file=destfile) + print("\n", file=destfile) # Display AC props if self._acRef: self._acRef.api(showComponentName=False, showInterfaces=False, showProperties=True, destfile=destfile) # Loops through each external prop looking for a component to use to display the internal prop value - for extId in self._externalProps.keys(): + for extId in list(self._externalProps.keys()): propId, compRefId = self._externalProps[extId] for comp_entry in self.comps: if comp_entry._get_identifier().find(compRefId) != -1: @@ -496,7 +496,7 @@ def api(self, destfile=None): comp_entry.api(showComponentName=False,showInterfaces=False,showProperties=True, externalPropInfo=(extId, propId), destfile=destfile) break - print >>destfile, '\n' + print('\n', file=destfile) if localdef_dest: pydoc.pager(destfile.getvalue()) @@ -508,7 +508,7 @@ def _populatePorts(self, fs=None): sad = object.__getattribute__(self,'_sad') if not sad: - print "Unable to create port list for " + object.__getattribute__(self,'name') + " - sad file unavailable" + print("Unable to create port list for " + object.__getattribute__(self,'name') + " - sad file unavailable") return ports = object.__getattribute__(self,'ports') @@ -602,7 +602,7 @@ def _populatePorts(self, fs=None): try: int_entry = _idllib.getInterface(idl_repid) except idllib.IDLError: - print "Invalid port descriptor in scd for " + self.name + " for " + idl_repid + print("Invalid port descriptor in scd for " + self.name + " for " + idl_repid) continue new_port = _Port(usesName, interface=None, direction="Uses", using=int_entry) new_port.generic_ref = self.ref.getPort(str(new_port._name)) @@ -615,7 +615,7 @@ def _populatePorts(self, fs=None): try: int_entry = _idllib.getInterface(idl_repid) except idllib.IDLError: - print "Unable to find port description for " + self.name + " for " + idl_repid + print("Unable to find port description for " + self.name + " for " + idl_repid) continue new_port._interface = int_entry @@ -637,7 +637,7 @@ def _populatePorts(self, fs=None): try: int_entry = _idllib.getInterface(idl_repid) except idllib.IDLError: - print "Invalid port descriptor in scd for " + self.name + " for " + idl_repid + print("Invalid port descriptor in scd for " + self.name + " for " + idl_repid) continue new_port = _Port(providesName, interface=int_entry, direction="Provides") new_port.generic_ref = self.ref.getPort(str(new_port._name)) @@ -651,7 +651,7 @@ def _populatePorts(self, fs=None): mod = __import__(pkg_name,globals(),locals(),[_to]) globals()[_to] = mod.__dict__[_to] success = True - except ImportError, msg: + except ImportError as msg: pass if not success: std_idl_path = _os.path.join(_os.environ.get('OSSIEHOME', ''), 'lib/python') @@ -1027,7 +1027,7 @@ def devs(self): """ if not self.__odmListener: self.__devices.sync() - return self.__devices.values() + return list(self.__devices.values()) @property def services(self): @@ -1036,7 +1036,7 @@ def services(self): """ if not self.__odmListener: self.__services.sync() - return self.__services.values() + return list(self.__services.values()) # End external Device Manager API ######################################## @@ -1406,7 +1406,7 @@ def __eventChannelRemovedEvent(self, event): def eventChannels(self): if not self.__odmListener: self.__evtChannels.sync() - return self.__evtChannels.values() + return list(self.__evtChannels.values()) @notification def eventChannelAdded(self, evtChannel): @@ -1642,20 +1642,20 @@ def __init__(self, name="DomainName1", location=None, connectDomainEvents=True): domain_find_attempts += 1 if domain_find_attempts == 30: - raise StandardError, "Did not find domain "+name + raise Exception("Did not find domain "+name) self.ref = obj._narrow(_CF.DomainManager) try: self.fileManager = self.ref._get_fileMgr() except: - raise StandardError('Domain Manager '+self.name+' is not available') + raise Exception('Domain Manager '+self.name+' is not available') self.id = self.ref._get_identifier() self._id = self.id try: spd, scd, prf = _readProfile("/mgr/DomainManager.spd.xml", self.fileManager) super(Domain, self).__init__(prf, self.id) - except Exception, e: + except Exception as e: pass self._buildAPI() @@ -1693,7 +1693,7 @@ def __newDeviceManager(self, deviceManager): devMgrFileSys = deviceManager._get_fileSys() dcdFile = devMgrFileSys.open(dcdPath, True) except: - raise RuntimeError, "Unable to open $SDRROOT/dev"+dcdPath+". Unable to create proxy for Device Manager" + raise RuntimeError("Unable to open $SDRROOT/dev"+dcdPath+". Unable to create proxy for Device Manager") dcdContents = dcdFile.read(dcdFile.sizeOf()) dcdFile.close() @@ -1705,7 +1705,7 @@ def devMgrs(self): # If the ODM channel is not connected, force an update to the list. if not self.__odmListener: self.__deviceManagers.sync() - return self.__deviceManagers.values() + return list(self.__deviceManagers.values()) def __newApplication(self, app): prof_path = app._get_profile() @@ -1735,7 +1735,7 @@ def apps(self): # If the ODM channel is not connected, force an update to the list. if not self.__odmListener: self.__applications.sync() - return self.__applications.values() + return list(self.__applications.values()) @property def eventChannels(self): @@ -1828,7 +1828,7 @@ def __connectIDMChannel(self): idmListener = IDMListener() try: idmListener.connect(self.ref) - except Exception, e: + except Exception as e: # No device events will be received log.warning('Unable to connect to IDM channel: %s', e) return @@ -1842,7 +1842,7 @@ def __connectODMChannel(self): odmListener = ODMListener() try: odmListener.connect(self.ref) - except Exception, e: + except Exception as e: # No domain object events will be received log.warning('Unable to connect to ODM channel: %s', e) return @@ -1875,7 +1875,7 @@ def __del__(self): if self.__odmListener: try: self.__odmListener.disconnect() - except Exception, e: + except Exception as e: pass # Explictly disconnect IDM Listener to avoid warnings on shutdown @@ -2319,7 +2319,7 @@ def createApplication(self, application_sad='', name=None, initConfiguration={}, def _updateRunningApps(self): """Makes sure that the dictionary of waveforms is up-to-date""" - print "WARNING: _updateRunningApps() is deprecated. Running apps are automatically updated on access." + print("WARNING: _updateRunningApps() is deprecated. Running apps are automatically updated on access.") ######################################## # Internal event channel management diff --git a/redhawk/src/base/framework/python/ossie/utils/redhawk/device.py b/redhawk/src/base/framework/python/ossie/utils/redhawk/device.py index 5bbb769dc..9a59b9490 100644 --- a/redhawk/src/base/framework/python/ossie/utils/redhawk/device.py +++ b/redhawk/src/base/framework/python/ossie/utils/redhawk/device.py @@ -19,15 +19,15 @@ # import warnings -import cStringIO, pydoc +import io, pydoc from ossie.cf import CF from ossie.utils.notify import notification from ossie.utils import model from ossie.utils import weakobj -from component import DomainComponent -from model import CorbaAttribute +from .component import DomainComponent +from .model import CorbaAttribute def createDevice(profile, spd, scd, prf, deviceRef, instanceName, refid, impl=None, idmListener=None): """ @@ -169,10 +169,10 @@ def api(self, destfile=None): localdef_dest = False if destfile == None: localdef_dest = True - destfile = cStringIO.StringIO() + destfile = io.StringIO() super(DomainDevice,self).api(destfile=destfile) - print >>destfile, '\n' + print('\n', file=destfile) model.Device.api(self, destfile=destfile) if localdef_dest: diff --git a/redhawk/src/base/framework/python/ossie/utils/redhawk/model.py b/redhawk/src/base/framework/python/ossie/utils/redhawk/model.py index 040a68b3b..298efeb29 100644 --- a/redhawk/src/base/framework/python/ossie/utils/redhawk/model.py +++ b/redhawk/src/base/framework/python/ossie/utils/redhawk/model.py @@ -69,7 +69,7 @@ def set_value(self, value): AttributeError is raised. """ if not self._setter: - raise AttributeError, 'CORBA attribute is read-only' + raise AttributeError('CORBA attribute is read-only') self._lock.acquire() try: if self.value == value: @@ -196,7 +196,7 @@ def __remove(self, identifier, notify): del self.__data[identifier] elif self.isCached: # Full state is known and item is not in list. - raise KeyError, 'No item with identifier "%s"' % identifier + raise KeyError('No item with identifier "%s"' % identifier) if notify: self.itemRemoved(identifier) @@ -226,7 +226,7 @@ def sync(self): pass # Remove stale items. - for identifier in self.__data.keys(): + for identifier in list(self.__data.keys()): if identifier not in validIdentifiers: self.__remove(identifier, self.__cached) @@ -253,7 +253,7 @@ def values(self): try: if not self.isCached: self.sync(), self.__data - return self.__data.values() + return list(self.__data.values()) finally: self.unlock() diff --git a/redhawk/src/base/framework/python/ossie/utils/rhconnection/__init__.py b/redhawk/src/base/framework/python/ossie/utils/rhconnection/__init__.py index 0f7a0eb83..8b447c0a0 100644 --- a/redhawk/src/base/framework/python/ossie/utils/rhconnection/__init__.py +++ b/redhawk/src/base/framework/python/ossie/utils/rhconnection/__init__.py @@ -22,4 +22,4 @@ # Python files generated for new IDLs will be added under this namespace # e.g. 'redhawk.mynamespace' -from helpers import * +from .helpers import * diff --git a/redhawk/src/base/framework/python/ossie/utils/rhtime/__init__.py b/redhawk/src/base/framework/python/ossie/utils/rhtime/__init__.py index 0f7a0eb83..8b447c0a0 100644 --- a/redhawk/src/base/framework/python/ossie/utils/rhtime/__init__.py +++ b/redhawk/src/base/framework/python/ossie/utils/rhtime/__init__.py @@ -22,4 +22,4 @@ # Python files generated for new IDLs will be added under this namespace # e.g. 'redhawk.mynamespace' -from helpers import * +from .helpers import * diff --git a/redhawk/src/base/framework/python/ossie/utils/sandbox/__init__.py b/redhawk/src/base/framework/python/ossie/utils/sandbox/__init__.py index 862f58302..7d7d3c659 100644 --- a/redhawk/src/base/framework/python/ossie/utils/sandbox/__init__.py +++ b/redhawk/src/base/framework/python/ossie/utils/sandbox/__init__.py @@ -18,7 +18,7 @@ # along with this program. If not, see http://www.gnu.org/licenses/. # -from local import LocalSandbox -from ide import IDESandbox +from .local import LocalSandbox +from .ide import IDESandbox __all__ = ('LocalSandbox', 'IDESandbox') diff --git a/redhawk/src/base/framework/python/ossie/utils/sandbox/base.py b/redhawk/src/base/framework/python/ossie/utils/sandbox/base.py index 7cf5cd4c4..2a0e2f40a 100644 --- a/redhawk/src/base/framework/python/ossie/utils/sandbox/base.py +++ b/redhawk/src/base/framework/python/ossie/utils/sandbox/base.py @@ -26,7 +26,7 @@ from ossie.utils.model.connect import ConnectionManager from ossie.utils.uuid import uuid4 -from model import SandboxComponent, SandboxDevice, SandboxService, SandboxEventChannel +from .model import SandboxComponent, SandboxDevice, SandboxService, SandboxEventChannel log = logging.getLogger(__name__) @@ -80,7 +80,7 @@ def _getObjectTypes(self, objType): elif objType in (None, 'all'): return set(ALL_TYPES) else: - raise ValueError, "'%s' is not a valid object type" % objType + raise ValueError("'%s' is not a valid object type" % objType) def findProfile(self, descriptor, objType=None): # Try the descriptor as a path to an SPD first @@ -100,13 +100,13 @@ def findProfile(self, descriptor, objType=None): if len(objMatches) == 1: return objMatches[0] elif len(objMatches) > 1: - print "There are multiple object types with the name '%s'" % descriptor + print("There are multiple object types with the name '%s'" % descriptor) for type in objMatches: - print " ", type - print 'Filter the object type as a "component", "device", or "service".' - print 'Try sb.launch("", objType="")' + print(" ", type) + print('Filter the object type as a "component", "device", or "service".') + print('Try sb.launch("", objType="")') return None - raise ValueError, "'%s' is not a valid softpkg name or SPD file" % descriptor + raise ValueError("'%s' is not a valid softpkg name or SPD file" % descriptor) def readProfiles(self, objType=None, searchPath=None): # Remap the object type string to a set of object type names @@ -179,7 +179,7 @@ def getEventChannel(self, name): return weakobj.objectref(self._eventChannels[name]) def getEventChannels(self): - return [weakobj.objectref(c) for c in self._eventChannels.itervalues()] + return [weakobj.objectref(c) for c in self._eventChannels.values()] def _removeEventChannel(self, name): del self._eventChannels[name] @@ -206,7 +206,7 @@ def stop(self): log.debug("Stopping component '%s'", component._instanceName) try: component.stop() - except Exception, e: + except Exception as e: pass def reset(self): @@ -226,7 +226,7 @@ def launch(self, descriptor, instanceName=None, refid=None, impl=None, spd, scd, prf = sdrRoot.readProfile(profile) name = spd.get_name() if not scd: - raise RuntimeError, 'Cannot launch softpkg with no SCD' + raise RuntimeError('Cannot launch softpkg with no SCD') # Check that we can launch the component. comptype = scd.get_componenttype() @@ -243,13 +243,13 @@ def launch(self, descriptor, instanceName=None, refid=None, impl=None, if not instanceName: instanceName = self._createInstanceName(name, comptype) elif not self._checkInstanceName(instanceName, comptype): - raise ValueError, "User-specified instance name '%s' already in use" % (instanceName,) + raise ValueError("User-specified instance name '%s' already in use" % (instanceName,)) # Generate/check identifier. if not refid: refid = 'DCE:'+str(uuid4()) elif not self._checkInstanceId(refid, comptype): - raise ValueError, "User-specified identifier '%s' already in use" % (refid,) + raise ValueError("User-specified identifier '%s' already in use" % (refid,)) # If possible, determine the correct placement of properties execparams, initProps, configProps = self._sortOverrides(prf, properties) @@ -262,6 +262,7 @@ def launch(self, descriptor, instanceName=None, refid=None, impl=None, if not launcher: raise NotImplementedError("No support for component type '%s'" % comptype) comp._launcher = launcher + comp._descriptor = descriptor # Launch the component comp._kick() @@ -270,7 +271,7 @@ def launch(self, descriptor, instanceName=None, refid=None, impl=None, def shutdown(self): # Clean up any event channels created by this sandbox instance. - for channel in self._eventChannels.values(): + for channel in list(self._eventChannels.values()): channel.destroy() self._eventChannels = {} @@ -304,7 +305,7 @@ def _sortOverrides(self, prf, properties): execparams = {} initProps = {} configProps = {} - for key, value in properties.iteritems(): + for key, value in properties.items(): if not key in stages: log.warning("Unknown property '%s'" , key) continue @@ -356,7 +357,7 @@ def _getInitializationStages(self, prf): def _breakConnections(self, target): # Break any connections involving this object. manager = ConnectionManager.instance() - for _identifier, (identifier, uses, provides) in manager.getConnections().items(): + for _identifier, (identifier, uses, provides) in list(manager.getConnections().items()): if uses.hasComponent(target) or provides.hasComponent(target): manager.breakConnection(identifier, uses) manager.unregisterConnection(identifier, uses) diff --git a/redhawk/src/base/framework/python/ossie/utils/sandbox/cluster.py b/redhawk/src/base/framework/python/ossie/utils/sandbox/cluster.py new file mode 100644 index 000000000..91e16b198 --- /dev/null +++ b/redhawk/src/base/framework/python/ossie/utils/sandbox/cluster.py @@ -0,0 +1,26 @@ +# +# This file is protected by Copyright. Please refer to the COPYRIGHT file +# distributed with this source distribution. +# +# This file is part of REDHAWK core. +# +# REDHAWK core is free software: you can redistribute it and/or modify it under +# the terms of the GNU Lesser General Public License as published by the Free +# Software Foundation, either version 3 of the License, or (at your option) any +# later version. +# +# REDHAWK core is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more +# details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +from .docker import DockerProcess +import time + +def executeCluster(command, arguments, image, environment, stdout): + process = DockerProcess(command, arguments, image, environment, stdout) + time.sleep(3) + return process diff --git a/redhawk/src/base/framework/python/ossie/utils/sandbox/clusterCfgParser.py b/redhawk/src/base/framework/python/ossie/utils/sandbox/clusterCfgParser.py new file mode 100644 index 000000000..2cde0fde6 --- /dev/null +++ b/redhawk/src/base/framework/python/ossie/utils/sandbox/clusterCfgParser.py @@ -0,0 +1,16 @@ + +import os +import configparser + +OSSIEHOME = os.getenv("OSSIEHOME") +CLUSTER_FILE = OSSIEHOME + "/cluster.cfg" + +class ClusterCfgParser(): + def __init__(self, clusterName=None): + config = configparser.ConfigParser() + cluster_file = OSSIEHOME + '/cluster.cfg' + data = open(cluster_file, 'r').read() + config.read(cluster_file) + if clusterName is None: + clusterName = config["CLUSTER"]["name"] + self.info = config[clusterName] diff --git a/redhawk/src/base/framework/python/ossie/utils/sandbox/clustertype/.gitignore b/redhawk/src/base/framework/python/ossie/utils/sandbox/clustertype/.gitignore new file mode 100644 index 000000000..24600083d --- /dev/null +++ b/redhawk/src/base/framework/python/ossie/utils/sandbox/clustertype/.gitignore @@ -0,0 +1 @@ +!Makefile diff --git a/redhawk/src/base/framework/python/ossie/utils/sandbox/clustertype/Makefile b/redhawk/src/base/framework/python/ossie/utils/sandbox/clustertype/Makefile new file mode 100644 index 000000000..57184e555 --- /dev/null +++ b/redhawk/src/base/framework/python/ossie/utils/sandbox/clustertype/Makefile @@ -0,0 +1,13 @@ +OSSIEHOME=/usr/local/redhawk/core + +lc = $(subst A,a,$(subst B,b,$(subst C,c,$(subst D,d,$(subst E,e,$(subst F,f,$(subst G,g,$(subst H,h,$(subst I,i,$(subst J,j,$(subst K,k,$(subst L,l,$(subst M,m,$(subst N,n,$(subst O,o,$(subst P,p,$(subst Q,q,$(subst R,r,$(subst S,s,$(subst T,t,$(subst U,u,$(subst V,v,$(subst W,w,$(subst X,x,$(subst Y,y,$(subst Z,z,$1)))))))))))))))))))))))))) + +all: + sudo cp ./$(call lc,${FILE}).py ${OSSIEHOME}/lib/python/ossie/utils/sandbox/ + sudo chown root:root ${OSSIEHOME}/lib/python/ossie/utils/sandbox/$(call lc,${FILE}).py + sudo -E ./build.py ${FILE} + +clean: + rm -rf *.pyc + +distclean: clean diff --git a/redhawk/src/base/framework/python/ossie/utils/sandbox/clustertype/README.md b/redhawk/src/base/framework/python/ossie/utils/sandbox/clustertype/README.md new file mode 100644 index 000000000..b6c4abb6a --- /dev/null +++ b/redhawk/src/base/framework/python/ossie/utils/sandbox/clustertype/README.md @@ -0,0 +1,3 @@ +## Makefile + +make FILE=[custom-file-name] diff --git a/redhawk/src/base/framework/python/ossie/utils/sandbox/clustertype/build.py b/redhawk/src/base/framework/python/ossie/utils/sandbox/clustertype/build.py new file mode 100755 index 000000000..8e661d6f2 --- /dev/null +++ b/redhawk/src/base/framework/python/ossie/utils/sandbox/clustertype/build.py @@ -0,0 +1,23 @@ +#!/usr/bin/python + +from jinja2 import Environment, FileSystemLoader +import os +import sys + +cluster = sys.argv[1] + + + +OSSIEHOME = os.getenv("OSSIEHOME") + +content = 'This is about page' + +file_loader = FileSystemLoader('templates') +env = Environment(loader=file_loader) + +template = env.get_template('cluster.py') + +output = template.render(cluster=cluster, cluster_lower=cluster.lower()) + +with open(OSSIEHOME+"/lib/python/ossie/utils/sandbox/cluster.py", "w") as new_cluster: + new_cluster.write(output) diff --git a/redhawk/src/base/framework/python/ossie/utils/sandbox/clustertype/dockerswarm.py b/redhawk/src/base/framework/python/ossie/utils/sandbox/clustertype/dockerswarm.py new file mode 100644 index 000000000..c46d27ef2 --- /dev/null +++ b/redhawk/src/base/framework/python/ossie/utils/sandbox/clustertype/dockerswarm.py @@ -0,0 +1,182 @@ +# +# This file is protected by Copyright. Please refer to the COPYRIGHT file +# distributed with this source distribution. +# +# This file is part of REDHAWK core. +# +# REDHAWK core is free software: you can redistribute it and/or modify it under +# the terms of the GNU Lesser General Public License as published by the Free +# Software Foundation, either version 3 of the License, or (at your option) any +# later version. +# +# REDHAWK core is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more +# details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +import threading +import time +import os +import subprocess +import shlex +from process import LocalProcess as LocalProcess + +import copy +import uuid +import yaml +import tempfile + +from ossie import parsers +from ossie.utils.sca import findSdrRoot +from clusterCfgParser import ClusterCfgParser + +class DockerSwarmProcess(LocalProcess): + def __init__(self, command, arguments, image, environment=None, stdout=None): + print(image) + cfgParser = ClusterCfgParser("DockerSwarm") + self.tmp = tempfile.NamedTemporaryFile(prefix="swarm_component_config_", suffix=".yaml") + + self.REGISTRY = cfgParser.info["registry"] + self.TAG = cfgParser.info["tag"] + self.KEY = cfgParser.info["key"] + self.USER = cfgParser.info["user"] + self.IP = cfgParser.info["ip"] + self.SSH_CMD = "ssh -i "+self.KEY+" "+self.USER+"@"+self.IP + self.DOCKER_LOGIN = "aws ecr get-login-password --region us-gov-west-1 | docker login --username AWS --password-stdin " + cfgParser.info["registry"] + + fileName = self.createYaml(command, image, arguments) + + cmd = self.SSH_CMD + " '" + self.DOCKER_LOGIN + "'" + print(cmd) + os.popen(cmd) + + print(("cat "+str(fileName))) + + os.popen("scp -i " + self.KEY + " " + fileName + " " + self.USER + "@" + self.IP + ":/tmp/" ) + print(arguments) + + i = 0 + for arg in arguments: + if arg == "NAME_BINDING": + name = arguments[i+1] + break + i = i + 1 + command_str = self.SSH_CMD + " \"docker stack deploy --compose-file "+fileName+" "+arguments[-1].replace(":", "")+" --with-registry-auth\"" + + dockerArgs = shlex.split(command_str) + + super(DockerSwarmProcess, self).__init__(dockerArgs[0], dockerArgs[1:], environment=None, stdout=None) + print(command) + print(arguments) + self.__stack = arguments[-1].replace(":", "") + self.__container_name = self.__stack+"_"+name.lower() + self.__file_name = fileName + self.__tracker = None + self.__callback = None + self.__children = [] + self.__status = "Genesis" + self.__timeout = 120 #worst case scenario + self.__sleepIncrement = 1 + + def setTerminationCallback(self, callback): + if not self.__tracker: + # Nothing is currently waiting for notification, start monitor. + name = self.__container_name # set the name of your container + print("setTerminateCallback " + name) + self.__tracker = threading.Thread(name=name, target=self._monitorProcess) + self.__tracker.daemon = False + self.__tracker.start() + self.__callback = callback + + # Set up a callback to notify when the component exits abnormally. + def terminate_callback(self, pod_name, status): + print("Hello from terminate_callback!") + print(pod_name) + print(status) + #if "complete" in status.lower() or "running" in status.lower(): + command = self.SSH_CMD + " \"docker stack rm "+self.__stack+"\"" + print("command: "+command) + print(pod_name + "is in a " + status + " State\n") + #else: + # print "pod " + pod_name + "is not in a running state, current state is: " + status + "\n" + try: + output = subprocess.check_output(shlex.split(command)) + print("Attempted to delete pod: " + pod_name + ":") + print(output) + except: + print("oh no crash and burn from terminate_callback\n") + + def terminate(self): + super(DockerSwarmProcess, self).terminate() + + if self.__callback: + self.terminate_callback(self.__container_name, self.__status) + self.tmp.close() + + def timeout(self): + return self.__timeout + + def sleepIncrement(self): + return self.__sleepIncrement + + def isAlive(self): + arguments = self.SSH_CMD + ' "docker service ps ' + self.__container_name + ' --format \'{{.CurrentState}}\'" ' + print(arguments) + try: + self.__status = subprocess.check_output(shlex.split(arguments)) + except: + # no need to print but just ignore if this happens + pass + print("Status: " + self.__status.replace("\n", "")) + + if "failed" in self.__status.lower() or "rejected" in self.__status.lower(): + return False + else: + return True + + + def createYaml(self, command, image, arguments): + """spd is of type ossie.parsers.spd.softPkg""" + + full_image = str(self.REGISTRY) + "/" + str(image) + ":" + str(self.TAG) + + swarm_cfg = {'version': '3'} + + + # if code.get_type().lower() == 'container': + if True: # TODO: for development/debuggin purposes + # This will be the lone entry in 'containers' + network_name = 'host' #name.lower() + '-network-' + str(uuid.uuid4()).lower() + + if "python" in command: + exec_value = command + for key in arguments: + exec_value = exec_value + " " + key + command = [] + key = 'command' + args = [exec_value] + else: + #exec_value = "" + #for key in arguments: + # exec_value = exec_value + " " + key + key = 'entrypoint' + command = [command] + args = arguments + + srv_cfg = { + 'image': full_image, + key: command + args, + 'networks': ['outside'], + 'deploy': {'placement': {'constraints': ['node.role == worker']}}} + + swarm_cfg.update({'services': {arguments[5].lower(): srv_cfg}}) + swarm_cfg.update({'networks': { 'outside': { 'external' : {'name': 'host'}}}}) + + output_file = self.tmp.name + with open(output_file, 'w') as f: + yaml.dump(swarm_cfg, f, default_flow_style=False) + + return output_file diff --git a/redhawk/src/base/framework/python/ossie/utils/sandbox/clustertype/ekskube.py b/redhawk/src/base/framework/python/ossie/utils/sandbox/clustertype/ekskube.py new file mode 100644 index 000000000..df029ae23 --- /dev/null +++ b/redhawk/src/base/framework/python/ossie/utils/sandbox/clustertype/ekskube.py @@ -0,0 +1,225 @@ +# +# This file is protected by Copyright. Please refer to the COPYRIGHT file +# distributed with this source distribution. +# +# This file is part of REDHAWK core. +# +# REDHAWK core is free software: you can redistribute it and/or modify it under +# the terms of the GNU Lesser General Public License as published by the Free +# Software Foundation, either version 3 of the License, or (at your option) any +# later version. +# +# REDHAWK core is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more +# details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +import logging +import socket +import os +from ossie.cf import CF +import urllib.parse +import time +import subprocess +import threading +import urllib.request, urllib.parse, urllib.error +import shlex +import ossie.utils.log4py.config +from ossie.utils.log4py import RedhawkLogger +from omniORB import CORBA +from process import LocalProcess as LocalProcess +import tempfile + +import copy +import yaml + +from ossie import parsers +from ossie.utils.sca import findSdrRoot +import os +from clusterCfgParser import ClusterCfgParser + +class EksKubeProcess(LocalProcess): + def __init__(self, command, arguments, image, environment=None, stdout=None): + print(image) + self.namespace = 'redhawk-sandbox' + self.tmp = tempfile.NamedTemporaryFile(prefix="k8s_component_config_", suffix=".yaml") + + cfgParser = ClusterCfgParser("EksKube") + + self.REGISTRY = cfgParser.info["registry"] + self.DOCKER_CONFIG_JSON = cfgParser.info["dockerconfigjson"] + self.TAG = cfgParser.info["tag"] + + fileName = self.createYaml(command, image, arguments) + + + command_str = "kubectl apply -f " + fileName + pod_name = arguments[-1].replace(":", "").lower() + self.__pod_name = pod_name + "-pod" + + kubectlArgs = shlex.split(command_str) + + super(EksKubeProcess, self).__init__(kubectlArgs[0], kubectlArgs[1:], environment=None, stdout=None) + + self.badStatus = ["Terminating", "Completed", "CrashLoopBackOff", "InvalidImageName", "RunContainerError"] + self.__file_name = fileName + self.__tracker = None + self.__callback = None + self.__children = [] + self.__status = "Genesis" + self.__timeout = 600 #worst case scenario + self.__sleepIncrement = 1 + + print("EksKubeProcess Constructor called") + print("Pod created: " + self.__file_name + "\n") + + def setTerminationCallback(self, callback): + if not self.__tracker: + # Nothing is currently waiting for notification, start monitor. + name = 'pod-%s-tracker' % self.__pod_name + print("setTerminateCallback " + name) + self.__tracker = threading.Thread(name=name, target=self._monitorProcess) + self.__tracker.daemon = False + self.__tracker.start() + self.__callback = callback + + def terminate_callback(pod_name, status): + print("Hello from terminate_callback!") + command = ['kubectl', 'delete', '-f', self.__file_name] + print(pod_name + "is, indeed, in a Running state\n") + + try: + output = subprocess.check_output(command) + print("Attempted to delete pod: " + pod_name + ":") + print(output) + except: + print("oh no crash and burn from terminate_callback\n") + + def _monitorProcess(self): + try: + print("call to _monitorProcess to poll pod status...") + #Retry status poll 10 times before giving up on + self.poll(10) + except: + # If kubectl poll fails, don't bother with notification. + print("_monitorProcess attempt to poll for pod status failed!") + return + + def terminate(self): + for child in self.__children: + child.terminate() + self.__children = [] + + if self.__callback: + print("Calling terminate on pod") + # For SOME REASON, calling this function does NOT call the terminate_callback function that is supposed to delete the pod + #self.__callback(self.__pod_name, status) + # So I'm doing it here + print(self.__status) + print(self.__file_name) + + command = ['kubectl', 'delete', '-f', self.__file_name] + + try: + output = subprocess.check_output(command) + print("Attempted to delete pod: " + self.__file_name + ":") + print(output) + except: + print("Failed to delete pod " + self.__file_name) + self.tmp.close() + + def timeout(self): + return self.__timeout + + def sleepIncrement(self): + return self.__sleepIncrement + + def isAlive(self): + arguments = ["kubectl", "get", "pod", self.__pod_name, "-n", self.namespace, "-o=jsonpath={.status.containerStatuses[0].state.waiting.reason}"] + self.__status = subprocess.check_output(arguments) + print("isAlive Status: " + self.__status) + + + if self.__status in self.badStatus: + return False + else: + return True + + def poll(self, numRetries): + arguments = ["kubectl", "get", "pod", self.__pod_name, "-n", self.namespace, "-o=jsonpath={.status.containerStatuses[0].state.waiting.reason}"] + i = 0 + print(("ATTEMPTING POLL ", arguments)) + if numRetries < 0: + numRetries = 1 + while i < numRetries: + # Poll for pod status + time.sleep(self.__sleepIncrement) + self.__status = subprocess.check_output(arguments) + print("Poll Status: " + self.__status) + + if self.__status in self.badStatus: + break + elif self.__status == "": + print("Status is now " + self.__status) + break + i = i + 1 + + + def createYaml(self, command, image, arguments): + """spd is of type ossie.parsers.spd.softPkg""" + if not os.path.exists(command): + raise RuntimeError("Entry point '%s' does not exist" % command) + elif not os.access(command, os.X_OK|os.R_OK): + raise RuntimeError("Entry point '%s' is not executable" % command) + + full_image = str(self.REGISTRY) + "/" + str(image) + ":" + str(self.TAG) + + print(("TEST: \""+command + "\" " + full_image)) + namespace_cfg = {'apiVersion': 'v1', + 'kind': 'Namespace', + 'metadata': {'name': self.namespace, 'labels': {'name': self.namespace}}} + k8s_cfg = {'apiVersion': 'v1', + 'kind': 'Secret', + 'metadata': {'name': 'regcred', 'namespace': self.namespace}, + 'data': {'.dockerconfigjson': self.DOCKER_CONFIG_JSON}, + 'type': 'kubernetes.io/dockerconfigjson'} + configs = [namespace_cfg, k8s_cfg] + + + # if code.get_type().lower() == 'container': + if True: # TODO: for development/debuggin purposes + # This will be the lone entry in 'containers' + print(arguments) + + output_file = '/tmp/k8s_component_config_' + arguments[-1].lower().replace(":", "") + '.yaml' + + if "python" in command: + exec_value = command + for key in arguments: + exec_value = exec_value + " " + key + exec_key = "args" + exec_value = [exec_value] + else: + exec_key = "command" + exec_value = [command]+arguments + + pod_cfg = { + 'apiVersion': 'v1', + 'kind': 'Pod', + 'metadata': {'name': arguments[-1].lower().replace(":", "") + '-pod', 'namespace': self.namespace}, + 'spec': { + 'containers': [{'image': full_image, + 'name': arguments[5].lower().replace("_", "") + '-container', + exec_key: exec_value}], + 'imagePullSecrets': [{'name': 'regcred'}]}} + + configs.append(pod_cfg) + + output_file = self.tmp.name + with open(output_file, 'w') as f: + yaml.dump_all(configs, f, default_flow_style=False) + + return output_file diff --git a/redhawk/src/base/framework/python/ossie/utils/sandbox/clustertype/templates/cluster.py b/redhawk/src/base/framework/python/ossie/utils/sandbox/clustertype/templates/cluster.py new file mode 100644 index 000000000..19ea695c5 --- /dev/null +++ b/redhawk/src/base/framework/python/ossie/utils/sandbox/clustertype/templates/cluster.py @@ -0,0 +1,27 @@ +# +# This file is protected by Copyright. Please refer to the COPYRIGHT file +# distributed with this source distribution. +# +# This file is part of REDHAWK core. +# +# REDHAWK core is free software: you can redistribute it and/or modify it under +# the terms of the GNU Lesser General Public License as published by the Free +# Software Foundation, either version 3 of the License, or (at your option) any +# later version. +# +# REDHAWK core is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more +# details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# + +from {{cluster_lower}} import {{cluster}}Process +import time + +def executeCluster(command, arguments, image, environment, stdout): + process = {{cluster}}Process(command, arguments, image, environment, stdout) + time.sleep(3) + return process diff --git a/redhawk/src/base/framework/python/ossie/utils/sandbox/debugger.py b/redhawk/src/base/framework/python/ossie/utils/sandbox/debugger.py index e4b55a6a1..148749724 100644 --- a/redhawk/src/base/framework/python/ossie/utils/sandbox/debugger.py +++ b/redhawk/src/base/framework/python/ossie/utils/sandbox/debugger.py @@ -18,7 +18,7 @@ # along with this program. If not, see http://www.gnu.org/licenses/. # -import commands +import subprocess import os import sys import socket @@ -27,7 +27,7 @@ class Debugger(object): def __init__(self, command, option_value_join, **opts): self.command = command self.arguments = [] - for name, value in opts.iteritems(): + for name, value in opts.items(): if value is True: value = 'yes' elif value is False: @@ -55,11 +55,11 @@ def envUpdate(self): class GDB(Debugger): def __init__(self, attach=True, **opts): - status, gdb = commands.getstatusoutput('which gdb') + status, gdb = subprocess.getstatusoutput('which gdb') if status: - raise RuntimeError, 'gdb cannot be found' + raise RuntimeError('gdb cannot be found') pass_opts = {} - for name, value in opts.iteritems(): + for name, value in opts.items(): if len(name) == 1: name = '-'+name pass_opts[name] = value @@ -103,18 +103,18 @@ def findPDB(): filename = os.path.join(path, 'pdb.py') if os.path.isfile(filename): return filename - raise RuntimeError, 'pdb cannot be found' + raise RuntimeError('pdb cannot be found') def name(self): return 'pdb' class JDB(Debugger): def __init__(self, attach=True, **opts): - status, jdb = commands.getstatusoutput('which jdb') + status, jdb = subprocess.getstatusoutput('which jdb') if status: - raise RuntimeError, 'jdb cannot be found' + raise RuntimeError('jdb cannot be found') pass_opts = {} - for name, value in opts.iteritems(): + for name, value in opts.items(): if name[0] != '-': name = '-'+name name = name.replace('_','-') @@ -152,11 +152,11 @@ def name(self): class Valgrind(Debugger): def __init__(self, **opts): - status, valgrind = commands.getstatusoutput('which valgrind') + status, valgrind = subprocess.getstatusoutput('which valgrind') if status: - raise RuntimeError, 'valgrind cannot be found' + raise RuntimeError('valgrind cannot be found') pass_opts = {} - for name, value in opts.iteritems(): + for name, value in opts.items(): if len(name) == 1: name = '-'+name pass_opts[name] = value diff --git a/redhawk/src/base/framework/python/ossie/utils/sandbox/devmgr.py b/redhawk/src/base/framework/python/ossie/utils/sandbox/devmgr.py index 5d21cd32f..32bbdae46 100644 --- a/redhawk/src/base/framework/python/ossie/utils/sandbox/devmgr.py +++ b/redhawk/src/base/framework/python/ossie/utils/sandbox/devmgr.py @@ -81,7 +81,7 @@ def _getDeviceIdentifier(self, device): return device._get_identifer() except: pass - for identifier, knownDevice in self.__devices.iteritems(): + for identifier, knownDevice in self.__devices.items(): if knownDevice._is_equivalent(device): return identifier return None diff --git a/redhawk/src/base/framework/python/ossie/utils/sandbox/docker.py b/redhawk/src/base/framework/python/ossie/utils/sandbox/docker.py new file mode 100644 index 000000000..808745160 --- /dev/null +++ b/redhawk/src/base/framework/python/ossie/utils/sandbox/docker.py @@ -0,0 +1,109 @@ +# +# This file is protected by Copyright. Please refer to the COPYRIGHT file +# distributed with this source distribution. +# +# This file is part of REDHAWK core. +# +# REDHAWK core is free software: you can redistribute it and/or modify it under +# the terms of the GNU Lesser General Public License as published by the Free +# Software Foundation, either version 3 of the License, or (at your option) any +# later version. +# +# REDHAWK core is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more +# details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +import logging +import socket +import os +from ossie.cf import CF +import urllib.parse +import time +import subprocess +import threading +import urllib.request, urllib.parse, urllib.error +import ossie.utils.log4py.config +from ossie.utils.log4py import RedhawkLogger +from omniORB import CORBA +from .process import LocalProcess as LocalProcess +from .clusterCfgParser import ClusterCfgParser +import shlex + +class DockerProcess(LocalProcess): + def __init__(self, command, arguments, image, environment=None, stdout=None): + if (os.popen('docker images -q '+image+' 2> /dev/null').read() == ''): + raise RuntimeError("No docker image exists for entry point '%s'" % image) + + + cfgParser = ClusterCfgParser("Docker") + + #self.local_dir = cfgParser.info["local_dir"] + #self.mount_dir = cfgParser.info["mount_dir"] + + mountCmd = "" + #if not "None" in self.mount_dir: + # mountCmd = " --mount type=bind,source=" + self.local_dir + ",target=" + self.mount_dir + + if 'python' in command or 'java' in command: + for arg in arguments: + command = command + " " + arg + dockerCmd = "docker run --rm -d --network host --name " + arguments[-1].replace(":", "") + mountCmd + " " + image + dockerArgs = shlex.split(dockerCmd) + [command] + else: + dockerCmd = "docker run --rm -d --network host -P --name " + arguments[-1].replace(":", "") + mountCmd + " --entrypoint " + command + " " + image + dockerArgs = shlex.split(dockerCmd) + arguments + + print(dockerArgs) + + super(DockerProcess, self).__init__(dockerArgs[0], dockerArgs[1:], environment=None, stdout=None) + self.__pod_name = arguments[7] + self.__tracker = None + self.__callback = None + self.__children = [] + self.__status = "Genesis" + self.__timeout = 30 #worst case scenario + self.__sleepIncrement = 1 + + def setTerminationCallback(self, callback): + if not self.__tracker: + # Nothing is currently waiting for notification, start monitor. + name = self.__pod_name # set the name of your container + print("setTerminateCallback " + name) + self.__tracker = threading.Thread(name=name, target=self._monitorProcess) + self.__tracker.daemon = False + self.__tracker.start() + self.__callback = callback + + # Set up a callback to notify when the component exits abnormally. + def terminate_callback(pid, status): + self._cleanHeap(pid) + if status > 0: + print('Component %s (pid=%d) exited with status %d' % (name, pid, status)) + elif status < 0: + print('Component %s (pid=%d) terminated with signal %d' % (name, pid, -status)) + + def timeout(self): + return self.__timeout + + def sleepIncrement(self): + return self.__sleepIncrement + + def isAlive(self): + arguments = ["docker", "container", "inspect", "-f", "'{{.State.Running}}'", self.__pod_name] + try: + self.__status = subprocess.check_output(arguments) + except: + self.__status = "Not Running" + print("Status: " + self.__status.replace("\n", "")) + + if "true" in self.__status: + return True + else: + return False + + def createYaml(self, name, entry_point, code, execparams): + return "" diff --git a/redhawk/src/base/framework/python/ossie/utils/sandbox/helper.py b/redhawk/src/base/framework/python/ossie/utils/sandbox/helper.py index 0ba7b025c..bb2c574ea 100644 --- a/redhawk/src/base/framework/python/ossie/utils/sandbox/helper.py +++ b/redhawk/src/base/framework/python/ossie/utils/sandbox/helper.py @@ -58,9 +58,7 @@ def __call__(self, *args, **kwargs): return obj -class SandboxHelper(PortSupplier): - __metaclass__ = SandboxMeta - +class SandboxHelper(PortSupplier, metaclass=SandboxMeta): def __init__(self): PortSupplier.__init__(self) @@ -141,7 +139,7 @@ def _stopPorts(self): def releaseObject(self): # Break any connections involving this helper manager = ConnectionManager.instance() - for identifier, uses, provides in manager.getConnections().itervalues(): + for identifier, uses, provides in manager.getConnections().values(): if uses.hasComponent(self) or provides.hasComponent(self): usesRef = uses.getReference() usesRef.disconnectPort(identifier) diff --git a/redhawk/src/base/framework/python/ossie/utils/sandbox/ide.py b/redhawk/src/base/framework/python/ossie/utils/sandbox/ide.py index 3d673bf9f..0d1adc661 100644 --- a/redhawk/src/base/framework/python/ossie/utils/sandbox/ide.py +++ b/redhawk/src/base/framework/python/ossie/utils/sandbox/ide.py @@ -34,8 +34,8 @@ from ossie.utils.model import CorbaObject -from base import SdrRoot, Sandbox, SandboxLauncher -from model import SandboxComponent, SandboxDevice +from .base import SdrRoot, Sandbox, SandboxLauncher +from .model import SandboxComponent, SandboxDevice log = logging.getLogger(__name__) @@ -89,10 +89,10 @@ def __init__(self, execparams, initProps, configProps): def launch(self, comp): # Pack the execparams into an array of string-valued properties - properties = [CF.DataType(k, to_any(str(v))) for k, v in self._execparams.iteritems()] + properties = [CF.DataType(k, to_any(str(v))) for k, v in self._execparams.items()] # Pack the remaining props by having the component do the conversion - properties.extend(comp._itemToDataType(k,v) for k,v in self._initProps.iteritems()) - properties.extend(comp._itemToDataType(k,v) for k,v in self._configProps.iteritems()) + properties.extend(comp._itemToDataType(k,v) for k,v in self._initProps.items()) + properties.extend(comp._itemToDataType(k,v) for k,v in self._configProps.items()) # Tell the IDE to launch a specific implementation, if given if comp._impl is not None: @@ -220,7 +220,7 @@ def _scanChalkboard(self): comp = clazz(self, profile, spd, scd, prf, instanceName, refid, impl) comp.ref = resource self.__components[instanceName] = comp - except Exception, e: + except Exception as e: log.error("Could not wrap resource with profile %s': %s", desc.profile, e) # Clean up stale components @@ -275,7 +275,7 @@ def browse(self, searchPath=None, objType=None, withDescription=False): elif profile.find("/services") != -1: rsrcType = "services" spd, scd, prf = sdrroot.readProfile(profile) - if rsrcDict.has_key(rsrcType) == False: + if (rsrcType in rsrcDict) == False: rsrcDict[rsrcType] = [] if withDescription == True: new_item = {} @@ -292,7 +292,7 @@ def browse(self, searchPath=None, objType=None, withDescription=False): else: rsrcDict[rsrcType].append(spd.get_name()) - for key in sorted(rsrcDict.iterkeys()): + for key in sorted(rsrcDict.keys()): output_text += "************************ " + str(key) + " ***************************\n" value = rsrcDict[key] @@ -318,7 +318,7 @@ def browse(self, searchPath=None, objType=None, withDescription=False): for v1,v2,v3,v4 in zip(l1,l2,l3,l4): output_text += '%-30s%-30s%-30s%-30s\n' % (v1,v2,v3,v4) output_text += "\n" - print output_text + print(output_text) def getComponent(self, name): self._scanChalkboard() @@ -330,7 +330,7 @@ def retrieve(self, name): def getComponents(self): self._scanChalkboard() - return self.__components.values() + return list(self.__components.values()) def getService(self, name): self._scanServices() @@ -338,7 +338,7 @@ def getService(self, name): def getServices(self): self._scanServices() - return self.__services.values() + return list(self.__services.values()) def getType(self): return 'IDE' diff --git a/redhawk/src/base/framework/python/ossie/utils/sandbox/launcher.py b/redhawk/src/base/framework/python/ossie/utils/sandbox/launcher.py index 482b0a20b..8c8f4bf17 100644 --- a/redhawk/src/base/framework/python/ossie/utils/sandbox/launcher.py +++ b/redhawk/src/base/framework/python/ossie/utils/sandbox/launcher.py @@ -27,92 +27,17 @@ import subprocess import platform import zipfile +from . import cluster +from .process import LocalProcess from ossie.utils import log4py from ossie import parsers from ossie.utils.popen import Popen -__all__ = ('LocalProcess', 'VirtualDevice') +__all__ = ('VirtualDevice') log = logging.getLogger(__name__) - -class LocalProcess(object): - STOP_SIGNALS = ((signal.SIGINT, 1), - (signal.SIGTERM, 5), - (signal.SIGKILL, 0)) - - def __init__(self, command, arguments, environment=None, stdout=None): - self.__terminateRequested = False - self.__command = command - self.__arguments = arguments - log.debug('%s %s', command, ' '.join(arguments)) - self.__process = Popen([command]+arguments, executable=command, - cwd=os.getcwd(), env=environment, - stdout=stdout, stderr=subprocess.STDOUT, - preexec_fn=os.setpgrp) - self.__tracker = None - self.__callback = None - self.__children = [] - - def setTerminationCallback(self, callback): - if not self.__tracker: - # Nothing is currently waiting for notification, start monitor. - name = 'process-%d-tracker' % self.pid() - self.__tracker = threading.Thread(name=name, target=self._monitorProcess) - self.__tracker.daemon = True - self.__tracker.start() - self.__callback = callback - - def _monitorProcess(self): - try: - status = self.__process.wait() - except: - # If wait fails, don't bother with notification. - return - if self.__callback: - self.__callback(self.pid(), status) - - def terminate(self): - for child in self.__children: - child.terminate() - self.__children = [] - - for sig, timeout in self.STOP_SIGNALS: - try: - log.debug('Killing process group %s with signal %s', self.__process.pid, sig) - os.killpg(self.__process.pid, sig) - except OSError: - pass - giveup_time = time.time() + timeout - while self.__process.poll() is None: - if time.time() > giveup_time: - break - time.sleep(0.1) - if self.__process.poll() is not None: - break - self.__process.wait() - self.__process = None - - def requestTermination(self): - self.__terminateRequested = True - - def command(self): - return self.__command - - def pid(self): - if self.__process: - return self.__process.pid - else: - return None - - def isAlive(self): - return self.__process and self.__process.poll() is None - - def addChild(self, process): - self.__children.append(process) - - class VirtualDevice(object): def __init__(self): self._processor = platform.machine() @@ -159,6 +84,7 @@ def _checkImplementation(self, sdrroot, profile, impl): # If the implementation has an entry point, make sure it exists too if impl.get_code().get_entrypoint(): entry_point = impl.get_code().get_entrypoint() + entry_point = entry_point.split("::")[0] filename = sdrroot.relativePath(profile, entry_point) log.trace("Checking entrypoint '%s' ('%s')", entry_point, filename) if not os.path.exists(filename): @@ -170,18 +96,18 @@ def matchImplementation(self, sdrroot, profile, spd): for impl in spd.get_implementation(): if self._checkImplementation(sdrroot, profile, impl): return impl - raise RuntimeError, "Softpkg '%s' has no usable implementation" % spd.get_name() + raise RuntimeError("Softpkg '%s' has no usable implementation" % spd.get_name()) - def execute(self, entryPoint, deps, execparams, debugger, window, stdout=None): + def getExecArgs(self, entryPoint, deps, execparams, debugger, window, stdout=None): # Make sure the entry point exists and can be run. if not os.path.exists(entryPoint): - raise RuntimeError, "Entry point '%s' does not exist" % entryPoint + raise RuntimeError("Entry point '%s' does not exist" % entryPoint) elif not os.access(entryPoint, os.X_OK|os.R_OK): - raise RuntimeError, "Entry point '%s' is not executable" % entryPoint + raise RuntimeError("Entry point '%s' is not executable" % entryPoint) log.trace("Using entry point '%s'", entryPoint) # Process softpkg dependencies and modify the child environment. - environment = dict(os.environ.items()) + environment = dict(list(os.environ.items())) for dependency in deps: self._processDependency(environment, dependency) @@ -190,7 +116,7 @@ def execute(self, entryPoint, deps, execparams, debugger, window, stdout=None): # Convert execparams into arguments. arguments = [] - for name, value in execparams.iteritems(): + for name, value in execparams.items(): arguments += [name, str(value)] if window: @@ -219,15 +145,35 @@ def execute(self, entryPoint, deps, execparams, debugger, window, stdout=None): window_proc = LocalProcess(window_command, window_args) stdout = open(fifoname, 'w') os.unlink(fifoname) - except IOError, e: + except IOError as e: pass elif window_mode == 'direct': # Run the command directly in a window (typically, in the debugger). command, arguments = window.command(command, arguments) + + return command, arguments, environment, stdout + + def execute(self, entryPoint, deps, execparams, debugger, window, stdout=None): + + command, arguments, environment, stdout = self.getExecArgs(entryPoint, deps, execparams, debugger, window, stdout) + process = LocalProcess(command, arguments, environment, stdout) return process + def executeContainer(self, entryPoint_image, deps, execparams, debugger, window, stdout=None): + image = "" + if "::" in entryPoint_image: + entryPoint = entryPoint_image.split("::")[0] + image = entryPoint_image.split("::")[1] + else: + raise RuntimeError("No docker image was found in the spd file") + + command, arguments, environment, stdout = self.getExecArgs(entryPoint, deps, execparams, debugger, window, stdout) + + process = cluster.executeCluster(command, arguments, image, environment, stdout) + return process + def _processDependency(self, environment, filename): if self._isSharedLibrary(filename): self._extendEnvironment(environment, "LD_LIBRARY_PATH", os.path.dirname(filename)) diff --git a/redhawk/src/base/framework/python/ossie/utils/sandbox/local.py b/redhawk/src/base/framework/python/ossie/utils/sandbox/local.py index e8b58967a..fe792469f 100644 --- a/redhawk/src/base/framework/python/ossie/utils/sandbox/local.py +++ b/redhawk/src/base/framework/python/ossie/utils/sandbox/local.py @@ -25,6 +25,9 @@ import copy import pydoc import warnings +import subprocess +import json +from . import cluster from omniORB import CORBA from omniORB.any import to_any @@ -34,12 +37,12 @@ from ossie.utils.model.connect import ConnectionManager from ossie.utils.uuid import uuid4 -from base import SdrRoot, Sandbox, SandboxLauncher, SandboxComponent -from devmgr import DeviceManagerStub -from naming import ApplicationRegistrarStub -import launcher -from debugger import GDB, JDB, PDB, Valgrind, Debugger -import terminal +from .base import SdrRoot, Sandbox, SandboxLauncher, SandboxComponent +from .devmgr import DeviceManagerStub +from .naming import ApplicationRegistrarStub +from . import launcher +from .debugger import GDB, JDB, PDB, Valgrind, Debugger +from . import terminal warnings.filterwarnings('once',category=DeprecationWarning) @@ -113,7 +116,7 @@ def getLocation(self): def findProfile(self, descriptor, objType=None): if not descriptor: - raise RuntimeError, 'No component descriptor given' + raise RuntimeError('No component descriptor given') # Handle user home directory paths if descriptor.startswith('~'): descriptor = os.path.expanduser(descriptor) @@ -136,7 +139,7 @@ def _getImplementation(self, spd, identifier): for implementation in spd.get_implementation(): if implementation.get_id() == identifier: return implementation - raise KeyError, "Softpkg '%s' has no implementation '%s'" % (spd.get_name(), identifier) + raise KeyError("Softpkg '%s' has no implementation '%s'" % (spd.get_name(), identifier)) def _resolveDependencies(self, sdrRoot, device, implementation): dep_files = [] @@ -178,7 +181,7 @@ def launch(self, comp): # Set up the debugger if requested debugger = self._debugger try: - if isinstance(debugger, basestring): + if isinstance(debugger, str): if debugger == 'pdb': debugger = PDB() elif debugger == 'jdb': @@ -193,8 +196,8 @@ def launch(self, comp): elif debugger is None: pass else: - raise RuntimeError, 'not supported' - except Exception, e: + raise RuntimeError('not supported') + except Exception as e: log.warning('Cannot run debugger %s (%s)', debugger, e) debugger = None @@ -207,15 +210,15 @@ def launch(self, comp): window = 'xterm' # Allow symbolic names for windows - if isinstance(window, basestring): + if isinstance(window, str): try: if window == 'xterm': window = terminal.XTerm(comp._instanceName) elif window == 'gnome-terminal': window = terminal.GnomeTerm(comp._instanceName) else: - raise RuntimeError, 'not supported' - except Exception, e: + raise RuntimeError('not supported') + except Exception as e: log.warning('Cannot run terminal %s (%s)', window, e) debugger = None @@ -234,6 +237,7 @@ def launch(self, comp): # Execute the entry point, either on the virtual device or the Sandbox # component host entry_point = sdrroot.relativePath(comp._profile, impl.get_code().get_entrypoint()) + if impl.get_code().get_type() == 'SharedLibrary': if self._shared: container = comp._sandbox._getComponentHost(_debugger = debugger) @@ -241,7 +245,7 @@ def launch(self, comp): container = comp._sandbox._launchComponentHost(comp._instanceName, _debugger = debugger) container.executeLinked(entry_point, [], execparams, deps) process = container._process - else: + elif impl.get_code().get_type() == 'Executable': process = device.execute(entry_point, deps, execparams, debugger, window, self._stdout) # Set up a callback to notify when the component exits abnormally. @@ -249,31 +253,40 @@ def launch(self, comp): def terminate_callback(pid, status): self._cleanHeap(pid) if status > 0: - print 'Component %s (pid=%d) exited with status %d' % (name, pid, status) + print('Component %s (pid=%d) exited with status %d' % (name, pid, status)) elif status < 0: - print 'Component %s (pid=%d) terminated with signal %d' % (name, pid, -status) + print('Component %s (pid=%d) terminated with signal %d' % (name, pid, -status)) process.setTerminationCallback(terminate_callback) + else: + process = device.executeContainer(entry_point, deps, execparams, debugger, window, self._stdout) + name = comp._instanceName + process.setTerminationCallback(process.terminate_callback) # Wait for the component to register with the virtual naming service or # DeviceManager. - if self._timeout is None: + if self._timeout is None and impl.get_code().get_type() not in "Container": # Default timeout depends on whether the debugger might increase # the startup time if debugger and debugger.modifiesCommand(): timeout = 60.0 else: timeout = 10.0 - else: + sleepIncrement = 0.1 + elif impl.get_code().get_type() not in "Container": timeout = self._timeout - sleepIncrement = 0.1 + sleepIncrement = 0.1 + else: + timeout = process.timeout() + sleepIncrement = process.sleepIncrement() + while self.getReference(comp) is None: if not process.isAlive(): - raise RuntimeError, "%s '%s' terminated before registering with virtual environment" % (self._getType(), comp._instanceName) + raise RuntimeError("%s '%s' terminated before registering with virtual environment" % (self._getType(), comp._instanceName)) time.sleep(sleepIncrement) timeout -= sleepIncrement if timeout < 0: process.terminate() - raise RuntimeError, "%s '%s' did not register with virtual environment" % (self._getType(), comp._instanceName) + raise RuntimeError("%s '%s' did not register with virtual environment" % (self._getType(), comp._instanceName)) # Attach a debugger to the process. if debugger and debugger.canAttach(): @@ -418,6 +431,7 @@ def _getType(self): class ComponentHost(SandboxComponent): def __init__(self, *args, **kwargs): SandboxComponent.__init__(self, *args, **kwargs) + self._descriptor = None def _register(self): pass @@ -426,8 +440,8 @@ def _unregister(self): pass def executeLinked(self, entryPoint, options, parameters, deps): - log.debug('Executing shared library %s %s', entryPoint, ' '.join('%s=%s' % (k,v) for k,v in parameters.iteritems())) - params = [CF.DataType(k, to_any(str(v))) for k, v in parameters.iteritems()] + log.debug('Executing shared library %s %s', entryPoint, ' '.join('%s=%s' % (k,v) for k,v in parameters.items())) + params = [CF.DataType(k, to_any(str(v))) for k, v in parameters.items()] self.ref.executeLinked(entryPoint, options, params, deps) @@ -463,6 +477,7 @@ def _launchComponentHost(self, instanceName=None, _debugger=None): if not isinstance(_debugger, Valgrind): _debugger = None comp._launcher = LocalComponentLauncher(execparams, {}, True, {}, _debugger, None, None, False) + comp._descriptor = "ComponentHost" comp._kick() return comp @@ -490,7 +505,7 @@ def _checkInstanceName(self, instanceName, componentType='resource'): def _checkInstanceId(self, refid, componentType): # Ensure refid is unique. container = self._getComponentContainer(componentType) - for component in container.values(): + for component in list(container.values()): if refid == component._refid: return False return True @@ -508,10 +523,10 @@ def _createLauncher(self, comptype, execparams, initProps, initialize, configPro return clazz(execparams, initProps, initialize, configProps, debugger, window, timeout, shared, stdout) def getComponents(self): - return self.__components.values() + return list(self.__components.values()) def getServices(self): - return self.__services.values() + return list(self.__services.values()) def _registerComponent(self, component): # Add the component to the sandbox state. @@ -532,7 +547,7 @@ def retrieve(self, name): return self.__components.get(name, None) def getComponentByRefid(self, refid): - for component in self.__components.itervalues(): + for component in self.__components.values(): if refid == component._refid: return component return None @@ -546,11 +561,11 @@ def getSdrRoot(self): def setSdrRoot(self, path): # Validate new root. if not os.path.isdir(path): - raise RuntimeError, 'invalid SDRROOT, directory does not exist' + raise RuntimeError('invalid SDRROOT, directory does not exist') if not os.path.isdir(os.path.join(path, 'dom')): - raise RuntimeError, 'invalid SDRROOT, dom directory does not exist' + raise RuntimeError('invalid SDRROOT, dom directory does not exist') if not os.path.isdir(os.path.join(path, 'dev')): - raise RuntimeError, 'invalid SDRROOT, dev directory does not exist' + raise RuntimeError('invalid SDRROOT, dev directory does not exist') self._sdrroot = LocalSdrRoot(path) def shutdown(self): @@ -558,7 +573,7 @@ def shutdown(self): self.stop() # Clean up all components - for name, component in self.__components.items(): + for name, component in list(self.__components.items()): log.debug("Releasing component '%s'", name) try: component.releaseObject() @@ -567,7 +582,7 @@ def shutdown(self): self.__components = {} # Terminate all services - for name, service in self.__services.items(): + for name, service in list(self.__services.items()): log.debug("Terminating service '%s'", name) try: service._terminate() @@ -599,7 +614,7 @@ def browse(self, searchPath=None, objType=None,withDescription=False): elif objType == "services": pathsToSearch = [os.path.join(self.getSdrRoot().getLocation(), 'dev', 'services')] else: - raise ValueError, "'%s' is not a valid object type" % objType + raise ValueError("'%s' is not a valid object type" % objType) else: pathsToSearch = [searchPath] @@ -626,7 +641,7 @@ def browse(self, searchPath=None, objType=None,withDescription=False): namespace = full_namespace[:full_namespace.find(spd.get_name())] if namespace == '': namespace = pathPrefix - if rsrcDict.has_key(namespace) == False: + if (namespace in rsrcDict) == False: rsrcDict[namespace] = [] if withDescription == True: new_item = {} @@ -642,11 +657,11 @@ def browse(self, searchPath=None, objType=None,withDescription=False): rsrcDict[namespace].append(new_item) else: rsrcDict[namespace].append(spd.get_name()) - except Exception, e: - print str(e) - print 'Could not parse %s', filename + except Exception as e: + print(str(e)) + print('Could not parse %s', filename) - for key in sorted(rsrcDict.iterkeys()): + for key in sorted(rsrcDict.keys()): if key == pathPrefix: output_text += "************************ " + str(key) + " ***************************\n" else: diff --git a/redhawk/src/base/framework/python/ossie/utils/sandbox/model.py b/redhawk/src/base/framework/python/ossie/utils/sandbox/model.py index cb1fdd444..029882617 100644 --- a/redhawk/src/base/framework/python/ossie/utils/sandbox/model.py +++ b/redhawk/src/base/framework/python/ossie/utils/sandbox/model.py @@ -19,7 +19,7 @@ # import warnings -import cStringIO, pydoc +import io, pydoc from ossie.utils.model import CorbaObject from ossie.utils.model import PortSupplier, PropertySet, ComponentBase @@ -140,9 +140,9 @@ def api(self, destfile=None): localdef_dest = False if destfile == None: localdef_dest = True - destfile = cStringIO.StringIO() + destfile = io.StringIO() - print >>destfile, "Component [" + str(self._componentName) + "]:\n" + print("Component [" + str(self._componentName) + "]:\n", file=destfile) PortSupplier.api(self, destfile=destfile) PropertySet.api(self, destfile=destfile) @@ -191,10 +191,10 @@ def api(self, destfile=None): localdef_dest = False if destfile == None: localdef_dest = True - destfile = cStringIO.StringIO() + destfile = io.StringIO() SandboxResource.api(self, destfile=destfile) - print >>destfile, '\n' + print('\n', file=destfile) Device.api(self, destfile=destfile) if localdef_dest: diff --git a/redhawk/src/base/framework/python/ossie/utils/sandbox/process.py b/redhawk/src/base/framework/python/ossie/utils/sandbox/process.py new file mode 100644 index 000000000..c1c92e4ee --- /dev/null +++ b/redhawk/src/base/framework/python/ossie/utils/sandbox/process.py @@ -0,0 +1,113 @@ +# +# This file is protected by Copyright. Please refer to the COPYRIGHT file +# distributed with this source distribution. +# +# This file is part of REDHAWK core. +# +# REDHAWK core is free software: you can redistribute it and/or modify it under +# the terms of the GNU Lesser General Public License as published by the Free +# Software Foundation, either version 3 of the License, or (at your option) any +# later version. +# +# REDHAWK core is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more +# details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# + +import os +import logging +import signal +import time +import threading +import tempfile +import subprocess +import platform +import zipfile + +from ossie.utils import log4py +from ossie import parsers +from ossie.utils.popen import Popen + +__all__ = ('LocalProcess') + +log = logging.getLogger(__name__) + + +class LocalProcess(object): + STOP_SIGNALS = ((signal.SIGINT, 1), + (signal.SIGTERM, 5), + (signal.SIGKILL, 0)) + + def __init__(self, command, arguments, environment=None, stdout=None): + self.__terminateRequested = False + self.__command = command + self.__arguments = arguments + log.debug('%s %s', command, ' '.join(arguments)) + self.__process = Popen([command]+arguments, executable=command, + cwd=os.getcwd(), env=environment, + stdout=stdout, stderr=subprocess.STDOUT, + preexec_fn=os.setpgrp) + self.__tracker = None + self.__callback = None + self.__children = [] + + def setTerminationCallback(self, callback): + if not self.__tracker: + # Nothing is currently waiting for notification, start monitor. + name = 'process-%d-tracker' % self.pid() + self.__tracker = threading.Thread(name=name, target=self._monitorProcess) + self.__tracker.daemon = True + self.__tracker.start() + self.__callback = callback + + def _monitorProcess(self): + try: + status = self.__process.wait() + except: + # If wait fails, don't bother with notification. + return + if self.__callback: + self.__callback(self.pid(), status) + + def terminate(self): + for child in self.__children: + child.terminate() + self.__children = [] + + for sig, timeout in self.STOP_SIGNALS: + try: + log.debug('Killing process group %s with signal %s', self.__process.pid, sig) + os.killpg(self.__process.pid, sig) + except OSError: + pass + giveup_time = time.time() + timeout + while self.__process.poll() is None: + if time.time() > giveup_time: + break + time.sleep(0.1) + if self.__process.poll() is not None: + break + self.__process.wait() + self.__process = None + + def requestTermination(self): + self.__terminateRequested = True + + def command(self): + return self.__command + + def pid(self): + if self.__process: + return self.__process.pid + else: + return None + + def isAlive(self): + return self.__process and self.__process.poll() is None + + def addChild(self, process): + self.__children.append(process) diff --git a/redhawk/src/base/framework/python/ossie/utils/sandbox/terminal.py b/redhawk/src/base/framework/python/ossie/utils/sandbox/terminal.py index a938f5064..29c9e2d3f 100644 --- a/redhawk/src/base/framework/python/ossie/utils/sandbox/terminal.py +++ b/redhawk/src/base/framework/python/ossie/utils/sandbox/terminal.py @@ -18,13 +18,13 @@ # along with this program. If not, see http://www.gnu.org/licenses/. # -import commands +import subprocess class Terminal(object): def __init__(self, command, title): - status, self.__command = commands.getstatusoutput('which '+command) + status, self.__command = subprocess.getstatusoutput('which '+command) if status: - raise RuntimeError, command + ' cannot be found' + raise RuntimeError(command + ' cannot be found') self._title = title def _termOpts(self): diff --git a/redhawk/src/base/framework/python/ossie/utils/sb/__init__.py b/redhawk/src/base/framework/python/ossie/utils/sb/__init__.py index 464bd1a27..5921bc677 100644 --- a/redhawk/src/base/framework/python/ossie/utils/sb/__init__.py +++ b/redhawk/src/base/framework/python/ossie/utils/sb/__init__.py @@ -116,10 +116,10 @@ >>> src.write(data) >>> stop() """ -from domainless import * -from io_helpers import * -from prop_change_helpers import * -from block_process import * +from .domainless import * +from .io_helpers import * +from .prop_change_helpers import * +from .block_process import * try: from bulkio.bulkioInterfaces import BULKIO @@ -127,8 +127,8 @@ # BULKIO is not installed pass -import helpers -from helpers import * +from . import helpers +from .helpers import * # Add plug-in extensions from ossie.utils.sandbox.plugin import plugins diff --git a/redhawk/src/base/framework/python/ossie/utils/sb/audio.py b/redhawk/src/base/framework/python/ossie/utils/sb/audio.py index 0d98527dc..6c45edadb 100644 --- a/redhawk/src/base/framework/python/ossie/utils/sb/audio.py +++ b/redhawk/src/base/framework/python/ossie/utils/sb/audio.py @@ -61,10 +61,10 @@ def _deferred_imports(): from bulkio.bulkioInterfaces import BULKIO__POA globals().update(locals()) - except ImportError, e: + except ImportError as e: raise RuntimeError("Missing required package for sandbox audio: '%s'" % e) -from io_helpers import _SinkBase +from .io_helpers import _SinkBase __all__ = ('SoundSink',) diff --git a/redhawk/src/base/framework/python/ossie/utils/sb/block_process.py b/redhawk/src/base/framework/python/ossie/utils/sb/block_process.py index d37ef3d3a..d083ef6a5 100644 --- a/redhawk/src/base/framework/python/ossie/utils/sb/block_process.py +++ b/redhawk/src/base/framework/python/ossie/utils/sb/block_process.py @@ -21,8 +21,8 @@ from ossie.utils.sandbox import LocalSandbox as _LocalSandbox from ossie.utils.sandbox import IDESandbox as _IDESandbox from ossie.utils.model import NoMatchingPorts as _NoMatchingPorts -from io_helpers import FileSource as _FileSource -from io_helpers import FileSink as _FileSink +from .io_helpers import FileSource as _FileSource +from .io_helpers import FileSink as _FileSink import os as _os import logging as _logging import time as _time @@ -205,7 +205,7 @@ def proc(comp,source,sink=None,sourceFmt=None,sinkFmt=None,sampleRate=1.0,execpa sinkBlue = True def undo_all(undos): - keys = undos.keys() + keys = list(undos.keys()) keys.sort(reverse=True) for undo in keys: try: @@ -214,7 +214,7 @@ def undo_all(undos): undoCall() else: undoCall(undos[undo][1]) - except Exception, e: + except Exception as e: pass def signalHandler(sig, frame): @@ -268,7 +268,7 @@ def checkCrashed(_comp,comp, undos): if comp!=None: try: _comp=_sandbox.launch(comp,objType="components",instanceName=instanceName, refid=refid, impl=impl, debugger=debugger, window=window, execparams=execparams, configure=configure, initialize=initialize, timeout=timeout) - except Exception, e: + except Exception as e: undo_all(undos) raise else: @@ -281,7 +281,7 @@ def checkCrashed(_comp,comp, undos): _read=_FileSource(filename=source,dataFormat=sourceFmt,midasFile=sinkBlue,sampleRate=sampleRate) undos[str(order)+':releaseObject']=(_read,) order += 1 - except Exception, e: + except Exception as e: undo_all(undos) raise @@ -292,7 +292,7 @@ def checkCrashed(_comp,comp, undos): _write=_FileSink(filename=sink,midasFile=sinkBlue) undos[str(order)+':releaseObject']=(_write,) order += 1 - except Exception, e: + except Exception as e: undo_all(undos) raise @@ -324,7 +324,7 @@ def checkCrashed(_comp,comp, undos): if outputDataConverter: try: _dataConverter_out=_sandbox.launch('rh.DataConverter', timeout=timeout) - except Exception, e: + except Exception as e: undo_all(undos) if type(e).__name__ == "ValueError" and \ str(e) == "'rh.DataConverter' is not a valid softpkg name or SPD file": @@ -335,7 +335,7 @@ def checkCrashed(_comp,comp, undos): _comp.connect(_dataConverter_out, usesPortName=usesPortName) undos[str(order)+':disconnect']=(_comp,_dataConverter_out) order += 1 - except Exception, e: + except Exception as e: undo_all(undos) raise try: @@ -343,7 +343,7 @@ def checkCrashed(_comp,comp, undos): _dataConverter_out.connect(_write, usesPortName=portName) undos[str(order)+':disconnect']=(_dataConverter_out,_write) order += 1 - except Exception, e: + except Exception as e: undo_all(undos) raise else: @@ -351,7 +351,7 @@ def checkCrashed(_comp,comp, undos): _comp.connect(_write, usesPortName=usesPortName) undos[str(order)+':disconnect']=(_comp,_write) order += 1 - except Exception, e: + except Exception as e: undo_all(undos) raise @@ -360,19 +360,19 @@ def checkCrashed(_comp,comp, undos): _read.connect(_comp, providesPortName=providesPortName) undos[str(order)+':disconnect']=(_read,_comp) order += 1 - except _NoMatchingPorts, e: + except _NoMatchingPorts as e: if sourceFmt != None: inputDataConverter = True else: undo_all(undos) raise - except Exception, e: + except Exception as e: undo_all(undos) raise if inputDataConverter: try: _dataConverter=_sandbox.launch('rh.DataConverter', timeout=timeout) - except Exception, e: + except Exception as e: undo_all(undos) if type(e).__name__ == "ValueError" and \ str(e) == "'rh.DataConverter' is not a valid softpkg name or SPD file": @@ -384,14 +384,14 @@ def checkCrashed(_comp,comp, undos): _read.connect(_dataConverter, providesPortName=portName) undos[str(order)+':disconnect']=(_read,_dataConverter) order += 1 - except Exception, e: + except Exception as e: undo_all(undos) raise try: _dataConverter.connect(_comp) undos[str(order)+':disconnect']=(_dataConverter,_comp) order += 1 - except Exception, e: + except Exception as e: undo_all(undos) raise @@ -400,7 +400,7 @@ def checkCrashed(_comp,comp, undos): _dataConverter.start() undos[str(order)+':stop']=(_comp,) order += 1 - except Exception, e: + except Exception as e: undo_all(undos) raise @@ -409,7 +409,7 @@ def checkCrashed(_comp,comp, undos): _dataConverter_out.start() undos[str(order)+':stop']=(_comp,) order += 1 - except Exception, e: + except Exception as e: undo_all(undos) raise @@ -417,7 +417,7 @@ def checkCrashed(_comp,comp, undos): _comp.start() undos[str(order)+':stop']=(_comp,) order += 1 - except Exception, e: + except Exception as e: undo_all(undos) raise @@ -425,7 +425,7 @@ def checkCrashed(_comp,comp, undos): _read.start() undos[str(order)+':stop']=(_read,) order += 1 - except Exception, e: + except Exception as e: undo_all(undos) raise @@ -434,7 +434,7 @@ def checkCrashed(_comp,comp, undos): _write.start() undos[str(order)+':stop']=(_write,) order += 1 - except Exception, e: + except Exception as e: undo_all(undos) raise @@ -463,10 +463,10 @@ def checkCrashed(_comp,comp, undos): done = True continue if not _comp._process.isAlive(): - print '******************************************\n\n\nThe component '+comp+' crashed\nThis indicates a bug in the component code\n\n\n******************************************' + print('******************************************\n\n\nThe component '+comp+' crashed\nThis indicates a bug in the component code\n\n\n******************************************') break _time.sleep(0.1) - except Exception, e: + except Exception as e: if (not timeout_condition) and (not break_condition): undo_all(undos) raise @@ -475,13 +475,13 @@ def checkCrashed(_comp,comp, undos): _c_runThread = _threading.Thread(target=checkCrashed,args=(_comp, comp, undos)) _c_runThread.setDaemon(True) _c_runThread.start() - raw_input('enter a new line to exit processing\n') + input('enter a new line to exit processing\n') done = True #if not _comp._process.isAlive(): # print '******************************************\n\n\nThe component '+comp+' crashed\nThis indicates a bug in the component code\n\n\n******************************************' #else: # done=True - except Exception, e: + except Exception as e: undo_all(undos) raise diff --git a/redhawk/src/base/framework/python/ossie/utils/sb/domainless.py b/redhawk/src/base/framework/python/ossie/utils/sb/domainless.py index ee1bc3134..e3b2511fa 100644 --- a/redhawk/src/base/framework/python/ossie/utils/sb/domainless.py +++ b/redhawk/src/base/framework/python/ossie/utils/sb/domainless.py @@ -103,7 +103,7 @@ import sys import logging import string as _string -import cStringIO, pydoc +import io, pydoc import warnings import traceback from omniORB import CORBA, any @@ -155,7 +155,7 @@ def _populateFromExternalNC(): _currentState['Components Running'][comp._instanceName] = comp # Determine current connection state of components running - for component in _currentState['Components Running'].values(): + for component in list(_currentState['Components Running'].values()): for port in component._ports: if port._direction == "Uses" and hasattr(port,"_get_connections"): for connection in port._get_connections(): @@ -164,19 +164,19 @@ def _populateFromExternalNC(): _currentState['Component Connections'][connectionId] = {} _currentState['Component Connections'][connectionId]['Uses Component'] = component _currentState['Component Connections'][connectionId]['Uses Port Name'] = port._name - for entry in component._usesPortDict.values(): + for entry in list(component._usesPortDict.values()): if entry['Port Name'] == port._name: _currentState['Component Connections'][connectionId]['Uses Port Interface'] = entry['Port Interface'] break # Loop over all components to find a matching port - for providesComponent in _currentState['Components Running'].values(): + for providesComponent in list(_currentState['Components Running'].values()): if not component.ref._is_equivalent(providesComponent.ref): for providesPort in providesComponent._ports: if providesPort._direction == "Provides": if connectionProvidesPortObj._is_equivalent(providesPort.ref): _currentState['Component Connections'][connectionId]['Provides Component'] = providesComponent _currentState['Component Connections'][connectionId]['Provides Port Name'] = providesPort._name - for entry in providesComponent._providesPortDict.values(): + for entry in list(providesComponent._providesPortDict.values()): if entry['Port Name'] == providesPort._name: _currentState['Component Connections'][connectionId]['Provides Port Interface'] = entry['Port Interface'] break @@ -221,7 +221,7 @@ def reset(): ''' # Save connection state. connectionList = [] - for _connectionId, connection in ConnectionManager.instance().getConnections().iteritems(): + for _connectionId, connection in ConnectionManager.instance().getConnections().items(): connectionId, uses, provides = connection entry = { 'USES_REFID': uses.getRefid(), 'USES_PORT_NAME': uses.getPortName(), @@ -246,13 +246,13 @@ def reset(): def IDELocation(location=None): if location == None: - if os.environ.has_key("RH_IDE"): + if "RH_IDE" in os.environ: if _DEBUG: - print "IDELocation(): RH_IDE environment variable is set to " + str(os.environ["RH_IDE"]) + print("IDELocation(): RH_IDE environment variable is set to " + str(os.environ["RH_IDE"])) return str(os.environ["RH_IDE"]) else: if _DEBUG: - print "IDELocation(): WARNING - RH_IDE environment variable is not set so plotting will not work" + print("IDELocation(): WARNING - RH_IDE environment variable is not set so plotting will not work") return None else: foundIDE = False @@ -262,20 +262,20 @@ def IDELocation(location=None): foundIDE = True os.environ["RH_IDE"] = str(location) if _DEBUG: - print "IDELocation(): setting RH_IDE environment variable " + str(location) + print("IDELocation(): setting RH_IDE environment variable " + str(location)) if not foundIDE: - print "IDELocation(): ERROR - invalid location passed in, must give absolute path " + str(location) + print("IDELocation(): ERROR - invalid location passed in, must give absolute path " + str(location)) if _DEBUG: - print "IDELocation(): setting RH_IDE environment variable " + str(location) + print("IDELocation(): setting RH_IDE environment variable " + str(location)) return str(location) else: if _DEBUG: - print "IDELocation(): ERROR - invalid location passed in for RH_IDE environment variable" + print("IDELocation(): ERROR - invalid location passed in for RH_IDE environment variable") return None def redirectSTDOUT(filename): if _DEBUG == True: - print "redirectSTDOUT(): redirecting stdout/stderr to filename " + str(filename) + print("redirectSTDOUT(): redirecting stdout/stderr to filename " + str(filename)) if type(filename) == str: dirname = os.path.dirname(filename) if len(dirname) == 0 or \ @@ -285,54 +285,54 @@ def redirectSTDOUT(filename): # Send stdout and stderr to provided filename sys.stdout = f sys.stderr = f - except Exception, e: - print "redirectSTDOUT(): ERROR - Unable to open file " + str(filename) + " for writing stdout and stderr " + str(e) - elif type(filename) == cStringIO.OutputType: + except Exception as e: + print("redirectSTDOUT(): ERROR - Unable to open file " + str(filename) + " for writing stdout and stderr " + str(e)) + elif type(filename) == io.OutputType: sys.stdout = filename sys.stderr = filename else: - print 'redirectSTDOUT(): failed to redirect stdout/stderr to ' + str(filename) - print 'redirectSTDOUT(): argument must be: string filename, cStringIO.StringIO object' + print('redirectSTDOUT(): failed to redirect stdout/stderr to ' + str(filename)) + print('redirectSTDOUT(): argument must be: string filename, cStringIO.StringIO object') def show(): ''' Show current list of components running and component connections ''' sandbox = _getSandbox() - print "Components Running:" - print "------------------" + print("Components Running:") + print("------------------") for component in sandbox.getComponents(): - print component._instanceName, component - print "\n" + print(component._instanceName, component) + print("\n") - print "Services Running:" - print "----------------" + print("Services Running:") + print("----------------") for service in sandbox.getServices(): - print service._instanceName, service - print "\n" + print(service._instanceName, service) + print("\n") - print "Component Connections:" - print "---------------------" + print("Component Connections:") + print("---------------------") if connectedIDE: log.trace('Scan for new connections') ConnectionManager.instance().resetConnections() ConnectionManager.instance().refreshConnections(sandbox.getComponents()) - for connectionid, uses, provides in ConnectionManager.instance().getConnections().values(): - print "%s [%s] -> %s [%s]" % (uses.getName(), uses.getInterface(), - provides.getName(), provides.getInterface()) + for connectionid, uses, provides in list(ConnectionManager.instance().getConnections().values()): + print("%s [%s] -> %s [%s]" % (uses.getName(), uses.getInterface(), + provides.getName(), provides.getInterface())) - print "\n" - print "Event Channels:" - print "--------------" + print("\n") + print("Event Channels:") + print("--------------") for channel in sandbox.getEventChannels(): - print '%s (%d supplier(s), %d consumer(s))' % (channel.name, channel.supplier_count, - channel.consumer_count) - print "\n" + print('%s (%d supplier(s), %d consumer(s))' % (channel.name, channel.supplier_count, + channel.consumer_count)) + print("\n") - print "SDRROOT:" - print "-------" - print sandbox.getSdrRoot().getLocation() - print "\n" + print("SDRROOT:") + print("-------") + print(sandbox.getSdrRoot().getLocation()) + print("\n") def getComponent(name): ''' @@ -358,7 +358,7 @@ def generateSADXML(waveform_name): ''' import ossie.utils.redhawk.sad_template as sad_template if _DEBUG == True: - print "generateSadFileString(): generating SAD XML string for given waveform name " + str(waveform_name) + print("generateSadFileString(): generating SAD XML string for given waveform name " + str(waveform_name)) sandbox = _getSandbox() Sad_template = sad_template.sad() initial_file = Sad_template.template @@ -457,7 +457,7 @@ def generateSADXML(waveform_name): with_connections = with_connections.replace('@__EXTERNALPORTS__@',"") sadString = with_connections if _DEBUG == True: - print "generateSadFileString(): returning SAD XML string " + str(sadString) + print("generateSadFileString(): returning SAD XML string " + str(sadString)) return sadString class overloadContainer: @@ -556,15 +556,15 @@ def overloadProperty(component, simples=None, simpleseq=None, struct=None, struc allProps.pop(overload.id) try: setattr(component, entry.clean_name, convertToValue(entry.valueType, overload.value)) - except Exception, e: - print e, "Problem overloading id="+entry.id + except Exception as e: + print(e, "Problem overloading id="+entry.id) for overload in simpleseq: if overload.id == entry.id: allProps.pop(overload.id) try: setattr(component, entry.clean_name, convertToValue(entry.valueType, overload.value)) - except Exception, e: - print e, "Problem overloading id="+entry.id + except Exception as e: + print(e, "Problem overloading id="+entry.id) for overload in struct: if overload.id == entry.id: allProps.pop(overload.id) @@ -590,30 +590,30 @@ def overloadProperty(component, simples=None, simpleseq=None, struct=None, struc _ov_key=None for kl in [ st_clean, simple[0] ]: kl_clean = kl.translate(translation) - if overload.value.has_key(kl): + if kl in overload.value: _ov_key = kl else: - if _keys.has_key(kl_clean) and overload.value.has_key(_keys.get(kl_clean)): + if kl_clean in _keys and _keys.get(kl_clean) in overload.value: _ov_key = _keys[kl_clean] break - if _ov_key == None or not overload.value.has_key(_ov_key): + if _ov_key == None or _ov_key not in overload.value: if _DEBUG: - print "Struct::Simple: id:", str(simple[0]), " cleaned id:", st_clean, " Unable to match overloaded key: ", _ov_key + print("Struct::Simple: id:", str(simple[0]), " cleaned id:", st_clean, " Unable to match overloaded key: ", _ov_key) continue if _DEBUG: - print "Struct::Simple: id:", str(simple[0]), " cleaned id:", st_clean, " Overloaded ID: ", overload.id, " value: ", overload.value, " key:", _ov_key + print("Struct::Simple: id:", str(simple[0]), " cleaned id:", st_clean, " Overloaded ID: ", overload.id, " value: ", overload.value, " key:", _ov_key) # cleanup struct key if it has illegal characters... st_clean = st_clean.translate(translation) try: structValue[st_clean] = convertToValue(simple[1], overload.value[_ov_key]) - except Exception, e: - print e, "Problem overloading id="+entry.id + except Exception as e: + print(e, "Problem overloading id="+entry.id) if _DEBUG: - print "setattr ", component, " clean name ", entry.clean_name, " struct ", structValue + print("setattr ", component, " clean name ", entry.clean_name, " struct ", structValue) setattr(component, entry.clean_name, structValue) for overload in structseq: if overload.id == entry.id: @@ -640,27 +640,27 @@ def overloadProperty(component, simples=None, simpleseq=None, struct=None, struc _ov_key=None for kl in [ st_clean, simple[0] ]: kl_clean = kl.translate(translation) - if overloadedValue.has_key(kl): + if kl in overloadedValue: _ov_key = kl else: - if _keys.has_key(kl_clean) and overloadedValue.has_key(_keys.get(kl_clean)): + if kl_clean in _keys and _keys.get(kl_clean) in overloadedValue: _ov_key = _keys[kl_clean] break - if _ov_key == None or not overloadedValue.has_key(_ov_key): + if _ov_key == None or _ov_key not in overloadedValue: if _DEBUG: - print "StructSeq::Struct::Simple: id:",str(simple[0]), " cleaned id:", st_clean, " Unable to match overloaded key: ", _ov_key + print("StructSeq::Struct::Simple: id:",str(simple[0]), " cleaned id:", st_clean, " Unable to match overloaded key: ", _ov_key) continue if _DEBUG: - print "StructSeq::Struct::Simple: id:", str(simple[0]), " cleaned id:", st_clean, " Overloaded value: ", overloadedValue, " key:", _ov_key + print("StructSeq::Struct::Simple: id:", str(simple[0]), " cleaned id:", st_clean, " Overloaded value: ", overloadedValue, " key:", _ov_key) # cleanup struct key if it has illegal characters... st_clean = st_clean.translate(translation) try: structValue[st_clean] = convertToValue(simple[1], overloadedValue[_ov_key]) - except Exception, e: - print e, "Problem overloading id="+entry.id + except Exception as e: + print(e, "Problem overloading id="+entry.id) structSeqValue.append(structValue) setattr(component, entry.clean_name, structSeqValue) @@ -710,7 +710,7 @@ def loadSADFile(filename, props={}): sandbox = _getSandbox() sdrroot = sandbox.getSdrRoot() if type(props) != dict: - print "loadSADFile(): props argument must be a dictionary. Ignoring overload" + print("loadSADFile(): props argument must be a dictionary. Ignoring overload") props = {} sadFile = open(filename,'r') sadFileString = sadFile.read() @@ -771,7 +771,7 @@ def loadSADFile(filename, props={}): # flatten dictionary to an ordered list ordered_placements=[] - for k,v in startorder.items(): + for k,v in list(startorder.items()): ordered_placements = ordered_placements + v configurable = {} @@ -782,7 +782,7 @@ def loadSADFile(filename, props={}): log.debug("COMPONENT PLACEMENT component name '%s'", component.get_componentinstantiation()[0].get_usagename()) # If component has a valid SPD file (isKickable), launch it refid = component.componentfileref.refid - if validRequestedComponents.has_key(refid): + if refid in validRequestedComponents: instanceName = component.get_componentinstantiation()[0].get_usagename() instanceID = component.get_componentinstantiation()[0].id_ + waveform_modifier log.debug("launching component '%s'", instanceName) @@ -846,7 +846,7 @@ def loadSADFile(filename, props={}): launchedComponents.append(newComponent) except Exception as e: msg = "Failed to launch component '%s', REASON: %s" % (instanceName, str(e)) - print msg + print(msg) raise RuntimeError(msg) # Set up component connections @@ -908,8 +908,8 @@ def loadSADFile(filename, props={}): log.warn("Unable to create connection") continue if _DEBUG == True: - print "loadSADFile(): CONNECTION INTERFACE: componentsupportedinterface port interface " + str(connection.get_componentsupportedinterface().get_supportedidentifier()) - print "loadSADFile(): CONNECTION INTERFACE: componentsupportedinterface port component ref " + str(connection.get_componentsupportedinterface().get_componentinstantiationref().get_refid()) + print("loadSADFile(): CONNECTION INTERFACE: componentsupportedinterface port interface " + str(connection.get_componentsupportedinterface().get_supportedidentifier())) + print("loadSADFile(): CONNECTION INTERFACE: componentsupportedinterface port component ref " + str(connection.get_componentsupportedinterface().get_componentinstantiationref().get_refid())) # Loop through launched components to find one containing the provides port to be connected for component in launchedComponents: if component._refid[:3] == 'DCE': @@ -939,7 +939,7 @@ def loadSADFile(filename, props={}): refid = component.componentfileref.refid assemblyController = False sandboxComponent = None - if validRequestedComponents.has_key(refid): + if refid in validRequestedComponents: instanceID = component.get_componentinstantiation()[0].id_ + waveform_modifier componentProps = None if len(launchedComponents) > 0: @@ -1086,7 +1086,7 @@ def loadSADFile(filename, props={}): for prop_to_pop_iter in prop_to_pop: props.pop(prop_to_pop_iter) if _DEBUG: - print "OverLoad Assembly Controller ", (sandboxComponent, prop_types['simple'][1], prop_types['simpleseq'][1], prop_types['struct'][1], prop_types['structseq'][1]) + print("OverLoad Assembly Controller ", (sandboxComponent, prop_types['simple'][1], prop_types['simpleseq'][1], prop_types['struct'][1], prop_types['structseq'][1])) overloadProperty(sandboxComponent, prop_types['simple'][1], prop_types['simpleseq'][1], prop_types['struct'][1], prop_types['structseq'][1]) launchedComponents = [] @@ -1100,7 +1100,7 @@ def loadSADFile(filename, props={}): pnames="" for prop in props: pnames += ", " + prop - print "Overload property '"+prop+"' was ignored because it is not on the Assembly Controller" + print("Overload property '"+prop+"' was ignored because it is not on the Assembly Controller") raise Warning('Requested property overloads not assigned' + pnames ) return True @@ -1117,9 +1117,9 @@ def setSDRROOT(newRoot): ''' try: _getSandbox().setSdrRoot(newRoot) - except RuntimeError, e: + except RuntimeError as e: # Turn RuntimeErrors into AssertionErrors to match legacy expectation. - raise AssertionError, "Cannot set SDRROOT: '%s'" % e + raise AssertionError("Cannot set SDRROOT: '%s'" % e) def catalog(searchPath=None, printResults=False, returnSPDs=False, objType="components"): ''' @@ -1132,15 +1132,15 @@ def catalog(searchPath=None, printResults=False, returnSPDs=False, objType="comp devices and services can also be requested ''' profiles = _getSandbox().catalog(searchPath, objType) - componentNames = profiles.keys() + componentNames = list(profiles.keys()) componentNames.sort() - spdFilesWithFullPath = profiles.values() + spdFilesWithFullPath = list(profiles.values()) if printResults == True: - print "catalog(): available components found in search path " + str(searchPath) + " =====================" + print("catalog(): available components found in search path " + str(searchPath) + " =====================") count = 0 for component in componentNames: - print componentNames[count] + print(componentNames[count]) count = count + 1 if returnSPDs: @@ -1184,14 +1184,14 @@ def __new__(self, else: configure = kwargs return launch(componentDescriptor, instanceName, refid, impl, debugger, execparams=execparams, configure=configure, objType=objType) - except RuntimeError, e: + except RuntimeError as e: # Turn RuntimeErrors into AssertionErrors to match legacy expectation. - raise AssertionError, "Unable to launch component: '%s'" % e + raise AssertionError("Unable to launch component: '%s'" % e) def api(descriptor, objType=None, destfile=None): localdef_dest = False if destfile == None: localdef_dest = True - destfile = cStringIO.StringIO() + destfile = io.StringIO() sdrRoot = _getSandbox().getSdrRoot() profile = sdrRoot.findProfile(descriptor, objType=objType) @@ -1207,21 +1207,21 @@ def api(descriptor, objType=None, destfile=None): else: description = spd.description if description: - print >>destfile, '\nDescription ======================\n' - print >>destfile, description - print >>destfile, '\nPorts ======================' - print >>destfile, '\nUses (output)' + print('\nDescription ======================\n', file=destfile) + print(description, file=destfile) + print('\nPorts ======================', file=destfile) + print('\nUses (output)', file=destfile) table = TablePrinter('Port Name', 'Port Interface') for uses in scd.get_componentfeatures().get_ports().get_uses(): table.append(uses.get_usesname(), uses.get_repid()) table.write(f=destfile) - print >>destfile, '\nProvides (input)' + print('\nProvides (input)', file=destfile) table = TablePrinter('Port Name', 'Port Interface') for provides in scd.get_componentfeatures().get_ports().get_provides(): table.append(provides.get_providesname(), provides.get_repid()) table.write(f=destfile) - print >>destfile, '\nProperties ======================\n' + print('\nProperties ======================\n', file=destfile) table = TablePrinter('id', 'type') if prf != None: for simple in prf.simple: diff --git a/redhawk/src/base/framework/python/ossie/utils/sb/helpers.py b/redhawk/src/base/framework/python/ossie/utils/sb/helpers.py index 27069fde2..264fb3c81 100644 --- a/redhawk/src/base/framework/python/ossie/utils/sb/helpers.py +++ b/redhawk/src/base/framework/python/ossie/utils/sb/helpers.py @@ -19,15 +19,15 @@ def PagerWithHeader( src_generator, num_lines=25, header=None, repeat_header=No if (index % repeat_header) == 0 : if type(header) == list: for x in header: - print x + print(x) else: - print header + print(header) if index % num_lines == 0 and index: - input=raw_input("Hit any key to continue press q to quit ") + input=input("Hit any key to continue press q to quit ") if input.lower() == 'q': break else: - print line + print(line) def Pager( doc ): diff --git a/redhawk/src/base/framework/python/ossie/utils/sb/io_helpers.py b/redhawk/src/base/framework/python/ossie/utils/sb/io_helpers.py index d49fb5faa..1821423a3 100644 --- a/redhawk/src/base/framework/python/ossie/utils/sb/io_helpers.py +++ b/redhawk/src/base/framework/python/ossie/utils/sb/io_helpers.py @@ -26,7 +26,7 @@ # Handle case where bulkioInterface may not be installed SDDS_SB = 1 -import domainless as _domainless +from . import domainless as _domainless import threading as _threading import ossie.utils.bulkio.bulkio_helpers as _bulkio_helpers from ossie.utils.bluefile import bluefile_helpers @@ -39,11 +39,11 @@ import time as _time import signal as _signal import warnings -import cStringIO, pydoc +import io, pydoc import sys as _sys import os as _os import subprocess as _subprocess -import Queue as _Queue +import queue as _Queue import struct as _struct import logging as _logging import socket as _socket @@ -60,7 +60,7 @@ from ossie.utils.uuid import uuid4 # Use orb reference from domainless -import domainless +from . import domainless log = _logging.getLogger(__name__) @@ -144,7 +144,7 @@ def __init__(self): def releaseObject(self): # Break any connections involving this component. manager = ConnectionManager.instance() - for _identifier, (identifier, uses, provides) in manager.getConnections().items(): + for _identifier, (identifier, uses, provides) in list(manager.getConnections().items()): if uses.hasComponent(self) or provides.hasComponent(self): usesRef = uses.getReference() usesRef.disconnectPort(identifier) @@ -183,7 +183,7 @@ def __del__(self): self._messagePort = None def messageCallback(self, msgId, msgData): - print msgId, msgData + print(msgId, msgData) def getMessages(self): return self._messagePort.getMessages() @@ -197,7 +197,7 @@ def getPort(self, portName): self._messagePort.registerMessage(self._messageId, self._messageFormat, self._messageCallback) return self._messagePort._this() - except Exception, e: + except Exception as e: log.error("MessageSink:getPort(): failed " + str(e)) return None @@ -205,9 +205,9 @@ def api(self, destfile=None): localdef_dest = False if destfile == None: localdef_dest = True - destfile = cStringIO.StringIO() + destfile = io.StringIO() - print >>destfile, "Component MessageSink :" + print("Component MessageSink :", file=destfile) PortSupplier.api(self, destfile=destfile) if localdef_dest: @@ -314,7 +314,7 @@ def getPort(self, portName): if self._messagePort == None: self._messagePort = _events.MessageSupplierPort() return self._messagePort._this() - except Exception, e: + except Exception as e: log.error("MessageSource:getPort(): failed " + str(e)) return None @@ -332,7 +332,7 @@ def getUsesPort(self): return self.getPort('') else: return self._messagePort._this() - except Exception, e: + except Exception as e: log.error("MessageSource:getUsesPort(): failed " + str(e)) return None @@ -340,9 +340,9 @@ def api(self, destfile=None): localdef_dest = False if destfile == None: localdef_dest = True - destfile = cStringIO.StringIO() + destfile = io.StringIO() - print >>destfile, "Component MessageSource :" + print("Component MessageSource :", file=destfile) PortSupplier.api(self, destfile=destfile) if localdef_dest: @@ -402,7 +402,7 @@ def sendMessage(self, msg, msg_id=None, msg_port=None, restrict=True ): _msg_port=None msg_ports=[ x for x in self.comp.ports if getattr(x,'_using') and x._using.name == 'MessageEvent' ] if len(msg_ports) > 1 and msg_port is None: - print "Unable to determine message port, please specify the msg_port parameter, available ports: ", [ x._name for x in msg_ports ] + print("Unable to determine message port, please specify the msg_port parameter, available ports: ", [ x._name for x in msg_ports ]) return False if msg_port: @@ -414,19 +414,19 @@ def sendMessage(self, msg, msg_id=None, msg_port=None, restrict=True ): _msg_port = msg_ports[0] if _msg_port is None: - print "Unable to determine message port, please specify the msg_port parameter, available ports: ", [ x._name for x in msg_ports ] + print("Unable to determine message port, please specify the msg_port parameter, available ports: ", [ x._name for x in msg_ports ]) # get current connection for the component and the msg_port _evt_connects=[] if _msg_port: manager = ConnectionManager.instance() - for k, (identifier, uses, provides) in manager.getConnectionsFor(self.comp).iteritems(): + for k, (identifier, uses, provides) in manager.getConnectionsFor(self.comp).items(): if uses.getPortName() == _msg_port._name: _evt_connects.append( provides ) if len(_evt_connects) == 0: - print "No available registered connections for sending a message." + print("No available registered connections for sending a message.") return False outmsg=msg @@ -435,7 +435,7 @@ def sendMessage(self, msg, msg_id=None, msg_port=None, restrict=True ): _msg_struct = None _msg_structs = [ x for x in self.comp._properties if x.kinds == ['message'] ] if len(_msg_structs) > 1 and msg_id is None: - print "Unable to determine message structure, please specify the msg_id parameter, available structures: ", [ x.id for x in _msg_structs ] + print("Unable to determine message structure, please specify the msg_id parameter, available structures: ", [ x.id for x in _msg_structs ]) return False if msg_id: @@ -450,7 +450,7 @@ def sendMessage(self, msg, msg_id=None, msg_port=None, restrict=True ): messageId = _msg_struct.id if _msg_struct is None and restrict : - print "Unable to determine message structure, please specify the msg_id parameter, available structures: ", [ x.id for x in _msg_structs ] + print("Unable to determine message structure, please specify the msg_id parameter, available structures: ", [ x.id for x in _msg_structs ]) return False payload = self._packMessageData(msg) @@ -471,7 +471,7 @@ def sendMessage(self, msg, msg_id=None, msg_port=None, restrict=True ): try: conn['proxy_consumer'].push(outmsg) except: - print "WARNING: Unable to send data to: ", conn + print("WARNING: Unable to send data to: ", conn) return False return True @@ -589,7 +589,7 @@ def __init__(self, portNameAppendix = "", formats=None): # Allow subclasses to support only a subset of formats if formats is not None: - for name in self.supportedPorts.keys(): + for name in list(self.supportedPorts.keys()): if name not in formats: del self.supportedPorts[name] @@ -601,7 +601,7 @@ def _getMetaByPortName(self, key, portName): """ - for port in self.supportedPorts.values(): + for port in list(self.supportedPorts.values()): if port["portDict"]["Port Name"] == portName: return port[key] @@ -612,13 +612,13 @@ def getPortByName(self, portName): """ - for port in self.supportedPorts.values(): + for port in list(self.supportedPorts.values()): if port["portDict"]["Port Name"] == portName: return port # portName not found in self.supportedPorts. This should never happen # as the portName should be set via self.supportedPorts. - raise Exception, "Port name " + portName + " not found." + raise Exception("Port name " + portName + " not found.") def api(self, destfile=None): """ @@ -628,9 +628,9 @@ def api(self, destfile=None): localdef_dest = False if destfile == None: localdef_dest = True - destfile = cStringIO.StringIO() + destfile = io.StringIO() - print >>destfile, "Component " + self.__class__.__name__ + " :" + print("Component " + self.__class__.__name__ + " :", file=destfile) PortSupplier.api(self, destfile=destfile) if localdef_dest: @@ -661,7 +661,7 @@ def __init__(self, bytesPerPush, dataFormat, data = None, formats=None, subsize= # add support for format byte (which is the same as char) if dataFormat.lower() == 'byte': dataFormat = 'char' - if self.supportedPorts.has_key(dataFormat.lower()): + if dataFormat.lower() in self.supportedPorts: self._dataFormat = dataFormat.lower() else: self._dataFormat = None @@ -718,12 +718,12 @@ def _buildAPI(self): self._srcPortType = port["portType"] self._addUsesPort(port) else: - for port in self.supportedPorts.values(): + for port in list(self.supportedPorts.values()): self._addUsesPort(port) if _domainless._DEBUG == True: - print self.className + ":_buildAPI()" + print(self.className + ":_buildAPI()") self.api(destfile=_sys.stdout) def getPort(self, name): @@ -762,13 +762,13 @@ def _buildAPI(self): port type defined in self.supportedPorts. """ - for port in self.supportedPorts.values(): + for port in list(self.supportedPorts.values()): name = port['portDict']['Port Name'] + self.portNameAppendix self._providesPortDict[name] = port["portDict"] self._providesPortDict[name]["Port Name"] = name if _domainless._DEBUG == True: - print self.className + ":_buildAPI()" + print(self.className + ":_buildAPI()") self.api(destfile=_sys.stdout) def getPortType(self, portName): @@ -935,10 +935,10 @@ def __init__(self, dataFormat = 'double' _SourceBase.__init__(self, bytesPerPush = bytesPerPush, dataFormat = dataFormat, subsize=subsize) - if self.supportedPorts.has_key(dataFormat): + if dataFormat in self.supportedPorts: self._srcPortType = self.supportedPorts[dataFormat]["portType"] else: - raise Exception, "ERROR: FileSource does not support data type " + dataFormat + raise Exception("ERROR: FileSource does not support data type " + dataFormat) self._srcPortObject = None self.setupFileReader() @@ -992,7 +992,7 @@ def setupFileReader(self): self._sri.blocking = self._blocking - except Exception, e: + except Exception as e: log.error(self.className + ":setupFileReader(): failed " + str(e)) def getUsesPort(self): @@ -1000,7 +1000,7 @@ def getUsesPort(self): if self._src != None: self._srcPortObject = self._src.getPort() return self._srcPortObject - except Exception, e: + except Exception as e: log.error(self.className + ":getUsesPort(): failed " + str(e)) return None @@ -1032,8 +1032,8 @@ def __init__(self,filename=None, midasFile=False, sinkClass=bulkio_data_helpers. self.sinkClass = sinkClass self.sinkBlueClass = sinkBlueClass if _domainless._DEBUG == True: - print className + ":__init__() filename " + str(filename) - print className + ":__init__() midasFile " + str(midasFile) + print(className + ":__init__() filename " + str(filename)) + print(className + ":__init__() midasFile " + str(midasFile)) self._filename = filename self._midasFile = midasFile @@ -1055,7 +1055,7 @@ def getPort(self, portName): return self._sinkPortObject else: return None - except Exception, e: + except Exception as e: log.error(self.className + ":getPort(): failed " + str(e)) return None @@ -1080,7 +1080,7 @@ def waitForEOS(self): _time.sleep(self._sleepTime) self._sink.port_lock.acquire() - except Exception, e: + except Exception as e: log.error(self.className + ": " + str(e)) finally: @@ -1113,10 +1113,10 @@ def getPort(self, portName): return self._sink.getPort() def __attach_cb(self, streamDef, user_id): - print 'attach received: ',streamDef, user_id + print('attach received: ',streamDef, user_id) def __detach_cb(self, attachId): - print 'detach received: ',attachId + print('detach received: ',attachId) def registerAttachCallback(self, attach_cb_fn): """ @@ -1204,8 +1204,8 @@ def getStreamDef( self, name=None, hostip=None, pkts=1000, block=True, returnSdd if len(self._streamdefs) == 0: raise Exception("No attachment have been made, use grabData or call attach") - aid = self._streamdefs.keys()[0] - print "Defaults to first entry, attach id = ", aid + aid = list(self._streamdefs.keys())[0] + print("Defaults to first entry, attach id = ", aid) sdef = self._streamdefs[aid] else: sdef = sefl._streamdefs[aid] @@ -1244,9 +1244,9 @@ def getData( self, mgroup, hostip, port=29495, pkts=1000, pktlen=1080, block=Tru if ismulticast: mreq=struct.pack('4s4s',_socket.inet_aton(mgroup),_socket.inet_aton(hostip)) sock.setsockopt(_socket.IPPROTO_IP, _socket.IP_ADD_MEMBERSHIP, mreq) - print "Capturing Socket Interface: (MULTICAST) Host Interface: " + hostip + " Multicast: " + mgroup + " Port: "+ str(port) + print("Capturing Socket Interface: (MULTICAST) Host Interface: " + hostip + " Multicast: " + mgroup + " Port: "+ str(port)) else: - print "Capturing Socket Interface: (UDP) Host Interface: " + hostip + " Source Address: " + mgroup + " Port: "+ str(port) + print("Capturing Socket Interface: (UDP) Host Interface: " + hostip + " Source Address: " + mgroup + " Port: "+ str(port)) ncnt=0 while totalRead < requestedBytes: rcvddata = sock.recv(blen,_socket.MSG_WAITALL) @@ -1254,18 +1254,18 @@ def getData( self, mgroup, hostip, port=29495, pkts=1000, pktlen=1080, block=Tru data=data+list(rcvddata) totalRead = totalRead + len(rcvddata) ncnt += 1 - print " read ", ncnt, " pkt ", len(rcvddata) - except KeyboardInterrupt,e : + print(" read ", ncnt, " pkt ", len(rcvddata)) + except KeyboardInterrupt as e : traceback.print_exc() - print "Exception during packet capture: " + str(e) - except Exception, e : + print("Exception during packet capture: " + str(e)) + except Exception as e : traceback.print_exc() - print "Exception during packet capture: " + str(e) + print("Exception during packet capture: " + str(e)) finally: endTime=_time.time() deltaTime=endTime -startTime if sock: sock.close() - print "Elapsed Time: ", deltaTime, " Total Data (kB): ", totalRead/1000.0, " Rate (kBps): ", (totalRead/1000.0)/deltaTime + print("Elapsed Time: ", deltaTime, " Total Data (kB): ", totalRead/1000.0, " Rate (kBps): ", (totalRead/1000.0)/deltaTime) if returnSddsAnalyzer: from ossie.utils.sdds import SDDSAnalyzer return SDDSAnalyzer( rawdata, pkts, pktlen, totalRead ) @@ -1452,7 +1452,7 @@ def _packetSent(self): self._packetsSentCond.acquire() try: if self._packetsPending == 0: - raise AssertionError, 'Packet sent but no packets pending' + raise AssertionError('Packet sent but no packets pending') self._packetsPending -= 1 if self._packetsPending == 0: self._packetsSentCond.notifyAll() @@ -1607,7 +1607,7 @@ def pushThread(self): EOS, streamID) self._packetSent() - except Exception, e: + except Exception as e: log.warn(self.className + ":pushData() failed " + str(e)) self.threadExited = True @@ -1617,7 +1617,7 @@ def _pushPacketsAllConnectedPorts(self, EOS, streamID): - for connection in self._connections.values(): + for connection in list(self._connections.values()): self._pushPackets(arraySrcInst = connection["arraySrcInst"], data = data, currentSampleTime = currentSampleTime, @@ -1632,7 +1632,7 @@ def _pushPacketAllConnectedPorts(self, EOS, streamID): - for connection in self._connections.values(): + for connection in list(self._connections.values()): self._pushPacket(arraySrcInst = connection["arraySrcInst"], data = data, currentSampleTime = currentSampleTime, @@ -1652,7 +1652,7 @@ def _pushPackets(self, # If necessary, break data into chunks of pktSize for each pushPacket if isinstance(data, list): # Stride through the data by packet size - for startIdx in xrange(0, len(data), pktSize): + for startIdx in range(0, len(data), pktSize): # Calculate the time offset per packet _data = data[startIdx:startIdx+pktSize] sampleTimeForPush = len(_data) / float(self._sampleRate) @@ -1731,7 +1731,7 @@ def _pushPacket(self, _time.sleep(len(data)/(self._sampleRate*2.0)) def _pushSRIAllConnectedPorts(self, sri): - for connection in self._connections.values(): + for connection in list(self._connections.values()): self._pushSRI(arraySrcInst = connection["arraySrcInst"], srcPortType = connection["srcPortType"], sri = sri) @@ -1767,7 +1767,7 @@ def stop(self): _time.sleep(0.1) timeout_count -= 1 if timeout_count < 0: - raise AssertionError, self.className + ":stop() failed to exit thread" + raise AssertionError(self.className + ":stop() failed to exit thread") class DataSink(_SinkBase): """ @@ -1783,7 +1783,7 @@ def __init__(self, sinkClass=bulkio_data_helpers.ArraySink, sinkXmlClass=bulkio_ def getPort(self, portName): if _domainless._DEBUG == True: - print self.className + ":getPort() portName " + str(portName) + "=================================" + print(self.className + ":getPort() portName " + str(portName) + "=================================") try: self._sinkPortType = self.getPortType(portName) @@ -1799,7 +1799,7 @@ def getPort(self, portName): else: return None pass - except Exception, e: + except Exception as e: log.error(self.className + ":getPort(): failed " + str(e)) return None @@ -1870,13 +1870,13 @@ def __init__(self): def __del__(self): if _domainless._DEBUG == True: - print "_OutputBase: __del__() calling cleanUp" + print("_OutputBase: __del__() calling cleanUp") self.cleanUp() def cleanUp(self): - for pid in self._processes.keys(): + for pid in list(self._processes.keys()): if _domainless._DEBUG == True: - print "_OutputBase: cleanUp() calling __terminate for pid " + str(pid) + print("_OutputBase: cleanUp() calling __terminate for pid " + str(pid)) self.__terminate(pid) def start(self): @@ -1892,7 +1892,7 @@ def __terminate(self,pid): # the group id is used to handle child processes (if they # exist) of the component being cleaned up if _domainless._DEBUG == True: - print "_OutputBase: __terminate () making killpg call on pid " + str(pid) + " with signal " + str(sig) + print("_OutputBase: __terminate () making killpg call on pid " + str(pid) + " with signal " + str(sig)) _os.killpg(pid, sig) except OSError: log.error("_OutputBase: __terminate() OSERROR ===============") @@ -1918,7 +1918,7 @@ def __init__(self, sinkClass=bulkio_data_helpers.ProbeSink): def getPort(self, portName): if _domainless._DEBUG == True: - print "probeBULKIO:getPort() portName " + str(portName) + "=================================" + print("probeBULKIO:getPort() portName " + str(portName) + "=================================") try: self._sinkPortType = self.getPortType(portName) @@ -1931,22 +1931,22 @@ def getPort(self, portName): else: return None - except Exception, e: + except Exception as e: log.error("probeBULKIO:getPort(): failed " + str(e)) return None def receivedStreams(self): if self._sink == None: - print None + print(None) else: - print "Current streams:" + print("Current streams:") for entry in self._sink.valid_streams: average_packet = self._sink.received_data[entry][0]/float(self._sink.received_data[entry][1]) - print "Received "+str(self._sink.received_data[entry][0])+" on stream ID "+entry+" with mean packet length of "+str(average_packet) - print "Terminated streams:" + print("Received "+str(self._sink.received_data[entry][0])+" on stream ID "+entry+" with mean packet length of "+str(average_packet)) + print("Terminated streams:") for entry in self._sink.invalid_streams: average_packet = self._sink.received_data[entry][0]/float(self._sink.received_data[entry][1]) - print "Received "+str(self._sink.received_data[entry])+" on stream ID "+entry+" with mean packet length of "+str(average_packet) + print("Received "+str(self._sink.received_data[entry])+" on stream ID "+entry+" with mean packet length of "+str(average_packet)) # Plot class requires the following: # - Eclipse Redhawk IDE must be installed @@ -1954,57 +1954,57 @@ def receivedStreams(self): class Plot(OutputBase, _OutputBase): def __init__(self,usesPortName=None): if _domainless._DEBUG == True: - print "Plot:__init__()" + print("Plot:__init__()") _OutputBase.__init__(self) self.usesPortIORString = None self._usesPortName = usesPortName self._dataType = None self._eclipsePath = None - if _os.environ.has_key("RH_IDE"): + if "RH_IDE" in _os.environ: self._eclipsePath = str(_os.environ["RH_IDE"]) else: - raise AssertionError, "Plot():__init__() ERROR - must set environment variable RH_IDE or call IDELocation()" + raise AssertionError("Plot():__init__() ERROR - must set environment variable RH_IDE or call IDELocation()") def __del__(self): if _domainless._DEBUG == True: - print "Plot: __del__() calling _OutputBase.__del__()" + print("Plot: __del__() calling _OutputBase.__del__()") _OutputBase.__del__(self) def cleanUp(self): if _domainless._DEBUG == True: - print "Plot: cleanUp() calling _OutputBase:cleanUp()" + print("Plot: cleanUp() calling _OutputBase:cleanUp()") _OutputBase.cleanUp(self) def __terminate(self,pid): if _domainless._DEBUG == True: - print "Plot: __terminate() calling _OutputBase:__terminate()" + print("Plot: __terminate() calling _OutputBase:__terminate()") _OutputBase.__terminate(self,pid) def plot(self): if _domainless._DEBUG == True: - print "Plot:plot()" + print("Plot:plot()") # Error checking before launching plot if self.usesPortIORString == None: - raise AssertionError, "Plot:plot() ERROR - usesPortIORString not set ... must call connect() on this object from another component" + raise AssertionError("Plot:plot() ERROR - usesPortIORString not set ... must call connect() on this object from another component") if self._usesPortName == None: - raise AssertionError, "Plot:plot() ERROR - usesPortName not set ... must call connect() on this object from another component" + raise AssertionError("Plot:plot() ERROR - usesPortName not set ... must call connect() on this object from another component") if self._dataType == None: - raise AssertionError, "Plot:plot() ERROR - dataType not set ... must call connect() on this object from another component" + raise AssertionError("Plot:plot() ERROR - dataType not set ... must call connect() on this object from another component") plotCommand = str(self._eclipsePath) + "/bin/plotter.sh -portname " + str(self._usesPortName) + " -repid " + str(self._dataType) + " -ior " + str(self.usesPortIORString) if _domainless._DEBUG == True: - print "Plot:plotCommand " + str(plotCommand) + print("Plot:plotCommand " + str(plotCommand)) args = _shlex.split(plotCommand) if _domainless._DEBUG == True: - print "Plot:args " + str(args) + print("Plot:args " + str(args)) try: dev_null = open('/dev/null','w') sub_process = _subprocess.Popen(args,stdout=dev_null,preexec_fn=_os.setpgrp) pid = sub_process.pid self._processes[pid] = sub_process - except Exception, e: - raise AssertionError, "Plot:plot() Failed to launch plotting due to %s" % ( e) + except Exception as e: + raise AssertionError("Plot:plot() Failed to launch plotting due to %s" % ( e)) def setup(self, usesPort, dataType=None, componentName=None, usesPortName=None): @@ -2013,7 +2013,7 @@ def setup(self, usesPort, dataType=None, componentName=None, usesPortName=None): self._usesPortName = usesPortName if _domainless._DEBUG == True: - print "Plot:setup()" + print("Plot:setup()") self.plot() class SRIKeyword(object): @@ -2034,13 +2034,13 @@ class SRIKeyword(object): def __init__(self, name, value, format): # validate format is legal type to convert to if format[0] == '[' and format[-1] == ']': - if format[1:-1] in _properties.getTypeMap().keys(): + if format[1:-1] in list(_properties.getTypeMap().keys()): self._name = name self._value = value self._format = format else: raise RuntimeError("Unsupported format type: " + format) - elif format in _properties.getTypeMap().keys(): + elif format in list(_properties.getTypeMap().keys()): self._name = name self._value = value self._format = format diff --git a/redhawk/src/base/framework/python/ossie/utils/sb/plots.py b/redhawk/src/base/framework/python/ossie/utils/sb/plots.py index fb3e92499..8c88989cd 100644 --- a/redhawk/src/base/framework/python/ossie/utils/sb/plots.py +++ b/redhawk/src/base/framework/python/ossie/utils/sb/plots.py @@ -49,7 +49,7 @@ def _deferred_imports(): pass globals().update(locals()) - except ImportError, e: + except ImportError as e: import platform if 'el5' in platform.release() and 'PyQt4' in str(e): raise RuntimeError("matplotlib-based plots are not available by default on Red Hat Enterprise Linux 5 (missing PyQt4 dependency)") @@ -258,13 +258,13 @@ def __init__(self, frameSize, ymin, ymax): def _getEndpoint(self, port, connectionId): if not port['Port Name'] in self._providesPortDict: - raise RuntimeError, "Line plot '%s' has no provides port '%s'", (self._instanceName, name) + raise RuntimeError("Line plot '%s' has no provides port '%s'").with_traceback((self._instanceName, name)) return PlotEndpoint(self, port, connectionId) def _disconnected(self, connectionId): self._linesLock.acquire() try: - for name, trace in self._lines.iteritems(): + for name, trace in self._lines.items(): if trace['id'] == connectionId: trace['port'].stopPort() line = trace['line'] @@ -285,7 +285,7 @@ def _addTrace(self, port, name): with self._linesLock: traceName = '%s-%s' % (port['Port Name'], name) if traceName in self._lines: - raise KeyError, "Trace '%s' already exists" % traceName + raise KeyError("Trace '%s' already exists" % traceName) port = self._createPort(port, traceName) @@ -323,7 +323,7 @@ def _update(self): # lock to do the reads. This allows the read to be interrupted (e.g., # if a source is disconnected) without deadlock. with self._linesLock: - traces = self._lines.values() + traces = list(self._lines.values()) redraw = [self._updateTrace(trace) for trace in traces] if not any(redraw): @@ -350,7 +350,7 @@ def _startHelper(self): # Start all associated ports. self._linesLock.acquire() try: - for trace in self._lines.itervalues(): + for trace in self._lines.values(): trace['port'].startPort() finally: self._linesLock.release() @@ -360,7 +360,7 @@ def _stopHelper(self): # Stop all associated port. self._linesLock.acquire() try: - for trace in self._lines.itervalues(): + for trace in self._lines.values(): trace['port'].stopPort() finally: self._linesLock.release() @@ -379,7 +379,7 @@ def _check_yrange(self, ymin, ymax): if ymin is None or ymax is None: return if ymax < ymin: - raise ValueError, 'Y-axis bounds cannot overlap (%d > %d)' % (ymin, ymax) + raise ValueError('Y-axis bounds cannot overlap (%d > %d)' % (ymin, ymax)) @property def ymin(self): @@ -457,7 +457,7 @@ def _check_xrange(self, xmin, xmax): if xmin is None or xmax is None: return if xmax < xmin: - raise ValueError, 'X-axis bounds cannot overlap (%f > %f)' % (xmin, xmax) + raise ValueError('X-axis bounds cannot overlap (%f > %f)' % (xmin, xmax)) # Plot properties @property @@ -738,7 +738,7 @@ def lines(self, lines): def _check_zrange(self, zmin, zmax): if zmax < zmin: - raise ValueError, 'Z-axis bounds cannot overlap (%d > %d)' % (zmin, zmax) + raise ValueError('Z-axis bounds cannot overlap (%d > %d)' % (zmin, zmax)) def _update_zrange(self, zmin, zmax): self._zmin = zmin @@ -1046,7 +1046,7 @@ def _check_xrange(self, xmin, xmax): if xmin is None or xmax is None: return if xmax < xmin: - raise ValueError, 'X-axis bounds cannot overlap (%f > %f)' % (xmin, xmax) + raise ValueError('X-axis bounds cannot overlap (%f > %f)' % (xmin, xmax)) # Plot properties @property diff --git a/redhawk/src/base/framework/python/ossie/utils/sb/prop_change_helpers.py b/redhawk/src/base/framework/python/ossie/utils/sb/prop_change_helpers.py index 8fe8ac69b..c5b6efc39 100644 --- a/redhawk/src/base/framework/python/ossie/utils/sb/prop_change_helpers.py +++ b/redhawk/src/base/framework/python/ossie/utils/sb/prop_change_helpers.py @@ -60,7 +60,7 @@ def updateCallback(self, _prop_id, _callback=None): if type(_prop_id) != str: raise Exception('Invalid property id. It must be a strings') if _callback == None: - if not self._changeCallbacks.has_key(_prop_id): + if _prop_id not in self._changeCallbacks: raise Exception('Invalid key:', _prop_id) self._changeCallbacks.pop(_prop_id) return @@ -72,13 +72,13 @@ def getCallback(self, _prop_id=''): ''' if _prop_id == []: return self._changeCallbacks - if self._changeCallbacks.has_key(_prop_id): + if _prop_id in self._changeCallbacks: return self._changeCallbacks[_prop_id] raise Exception('Invalid property id. No callback registered under that id') def propertyChange(self, _propChEv) : if type(self._changeCallbacks) != dict: - print 'Invalid change callbacks (must be dictionary with property id as a key and a callback function as a value). Printing received event', _propChEv + print('Invalid change callbacks (must be dictionary with property id as a key and a callback function as a value). Printing received event', _propChEv) _tmp_props = _propChEv.properties _triggers = {} @@ -86,7 +86,7 @@ def propertyChange(self, _propChEv) : for _prop_key in self._changeCallbacks: for _prop_idx in range(len(_tmp_props)): if _tmp_props[_prop_idx].id == _prop_key: - if not _triggers.has_key(self._changeCallbacks[_prop_key]): + if self._changeCallbacks[_prop_key] not in _triggers: _triggers[self._changeCallbacks[_prop_key]] = {} _triggers[self._changeCallbacks[_prop_key]].update(properties.prop_to_dict(_tmp_props[_prop_idx])) _tmp_props.pop(_prop_idx) @@ -100,10 +100,10 @@ def propertyChange(self, _propChEv) : if self._defaultCallback: self._defaultCallback(_propChEv.evt_id, _propChEv.reg_id, _propChEv.resource_id, properties.props_to_dict(_tmp_props), _propChEv.timestamp) return - print 'Property Change Event:' - print ' event id:',_propChEv.evt_id - print ' registration id:',_propChEv.reg_id - print ' resource id:', _propChEv.resource_id - print ' properties:', properties.props_to_dict(_tmp_props) - print ' timestamp:', _propChEv.timestamp + print('Property Change Event:') + print(' event id:',_propChEv.evt_id) + print(' registration id:',_propChEv.reg_id) + print(' resource id:', _propChEv.resource_id) + print(' properties:', properties.props_to_dict(_tmp_props)) + print(' timestamp:', _propChEv.timestamp) diff --git a/redhawk/src/base/framework/python/ossie/utils/sca/__init__.py b/redhawk/src/base/framework/python/ossie/utils/sca/__init__.py index 16ed92fad..7023a3f63 100644 --- a/redhawk/src/base/framework/python/ossie/utils/sca/__init__.py +++ b/redhawk/src/base/framework/python/ossie/utils/sca/__init__.py @@ -23,8 +23,8 @@ This package contains utilities related to sca functionality. """ -import base -from base import * +from . import base +from .base import * -import importIDL -import importResource +from . import importIDL +from . import importResource diff --git a/redhawk/src/base/framework/python/ossie/utils/sca/base.py b/redhawk/src/base/framework/python/ossie/utils/sca/base.py index 1798a400d..0bf6b8f0e 100644 --- a/redhawk/src/base/framework/python/ossie/utils/sca/base.py +++ b/redhawk/src/base/framework/python/ossie/utils/sca/base.py @@ -18,7 +18,7 @@ # along with this program. If not, see http://www.gnu.org/licenses/. # -import commands +import subprocess import os import xml.dom.minidom from ossie.cf import CF, CF__POA @@ -33,7 +33,7 @@ # UUID Generator def uuidgen(): - return commands.getoutput('uuidgen') + return subprocess.getoutput('uuidgen') # Finds SDR root directory def findSdrRoot(): @@ -44,7 +44,7 @@ def findSdrRoot(): elif os.path.exists('/sdr'): sdrroot = '/sdr' else: - print "Cannot find SDR root directory" + print("Cannot find SDR root directory") return False return sdrroot @@ -113,17 +113,17 @@ def printAPI(self): """Prints a user-friendly version of the API for this component onto the screen """ for port in self.API: - print "Port name: " + port - print " direction: " + self.API[port][0] - print " interface: " + self.API[port][1] + print("Port name: " + port) + print(" direction: " + self.API[port][0]) + print(" interface: " + self.API[port][1]) for funcs in self.API[port][2]: - print " " + funcs - print "" + print(" " + funcs) + print("") def populatePorts(self): """Add all port descriptions to the component instance""" if self.profile == '': - print "Unable to create port list for " + self.name + " - profile unavailable" + print("Unable to create port list for " + self.name + " - profile unavailable") return if len(self.ports) != 0: return @@ -149,8 +149,8 @@ def populatePorts(self): for uses in doc_scd.getElementsByTagName('uses'): idl_repid = uses.getAttribute('repid') - if not int_list.has_key(idl_repid): - print "Invalid port descriptor in scd for " + self.name + " for " + idl_repid + if idl_repid not in int_list: + print("Invalid port descriptor in scd for " + self.name + " for " + idl_repid) continue int_entry = int_list[idl_repid] new_port = Port(uses.getAttribute('usesname'), int_entry, type="Uses") @@ -161,8 +161,8 @@ def populatePorts(self): for provides in doc_scd.getElementsByTagName('provides'): idl_repid = provides.getAttribute('repid') - if not int_list.has_key(idl_repid): - print "Invalid port descriptor in scd for " + self.name + " for " + idl_repid + if idl_repid not in int_list: + print("Invalid port descriptor in scd for " + self.name + " for " + idl_repid) continue int_entry = int_list[idl_repid] new_port = Port(provides.getAttribute('providesname'), int_entry, type="Provides") @@ -172,9 +172,9 @@ def populatePorts(self): if str(int_entry.nameSpace) not in interface_modules: try: exec_string = 'import ' + str(int_entry.nameSpace) - exec exec_string - except ImportError, msg: - print msg + exec(exec_string) + except ImportError as msg: + print(msg) continue else: interface_modules.append(str(int_entry.nameSpace)) @@ -223,7 +223,7 @@ def buildAPI(self): port_list.append(op_list) self.API[name]=port_list else: - print "Invalid port direction descriptor in " + self.name + print("Invalid port direction descriptor in " + self.name) continue def __getitem__(self,i): @@ -249,11 +249,11 @@ def queryProperties(self): """Return a dictionary of the properties and values.""" if self.profile == '': - print "Unable to query properties for " + self.name + " - profile unavailable" + print("Unable to query properties for " + self.name + " - profile unavailable") return None if self.ref == None: - print 'No reference to component <' + self.name + '>' + print('No reference to component <' + self.name + '>') return None os.chdir(self.root) @@ -271,9 +271,9 @@ def queryProperties(self): # Parse the properties file try: doc_prf = xml.dom.minidom.parse(self.prf_path) - except ExpatError, msg: - print "Error reading <" + self.prf_path + ">", - print msg + except ExpatError as msg: + print("Error reading <" + self.prf_path + ">", end=' ') + print(msg) return None props_tag = doc_prf.documentElement @@ -442,15 +442,15 @@ def populateComponents(self, component_list, in_doc_sad): find_object_attempts += 1 if find_object_attempts == 50: - print "I was unable to get the pointer to Component "+ns_name[0]+"/"+ns_name[1]+"/"+ns_name[2]+", it is probably not running" + print("I was unable to get the pointer to Component "+ns_name[0]+"/"+ns_name[1]+"/"+ns_name[2]+", it is probably not running") else: new_comp.reference = obj._narrow(CF.Resource) new_comp.ref = new_comp.reference new_comp.root = self.sdrroot - if not dce_list.has_key(new_comp.uuid): - print "Component descriptor error - unmatched Component DCE" + if new_comp.uuid not in dce_list: + print("Component descriptor error - unmatched Component DCE") continue new_comp.profile = spd_list[dce_list[new_comp.uuid]] @@ -552,7 +552,7 @@ def __init__(self, name="DomainName1", int_list=None, location=None): domain_find_attempts += 1 if domain_find_attempts == 30: - print "Did not find the domain" + print("Did not find the domain") return #else: # print "found the domain" @@ -662,7 +662,7 @@ def updateListAvailableWaveforms(self): """ waveroot = os.path.join(self.root, 'waveforms') if not os.path.exists(waveroot): - print "Cannot find SDR waveforms directory" + print("Cannot find SDR waveforms directory") #return {} return @@ -681,7 +681,7 @@ def updateListAvailableWaveforms(self): def getAvailableWaveforms(self, domain_name="DomainName1"): """List the waveforms that are available to install""" - return self.waveforms.keys() + return list(self.waveforms.keys()) def getInstalledWaveforms(self, domain_name="DomainName1"): """Dictionary of the waveforms that are currently installed""" @@ -690,8 +690,8 @@ def getInstalledWaveforms(self, domain_name="DomainName1"): def uninstallWaveform(self, waveform_name=''): """Uninstall a running waveform""" - if not self.Waveforms.has_key(waveform_name): - print "The waveform described for uninstall does not exist" + if waveform_name not in self.Waveforms: + print("The waveform described for uninstall does not exist") return waveform = self.Waveforms.pop(waveform_name) waveform.app.releaseObject() @@ -700,8 +700,8 @@ def installWaveform(self, waveform_name='', domain_name="DomainName1"): """Install and create a particular waveform. This function returns a pointer to the instantiated waveform""" waveform_list = self.waveforms - if not waveform_list.has_key(waveform_name): - print "Requested waveform does not exist" + if waveform_name not in waveform_list: + print("Requested waveform does not exist") return self.DomainManager.installApplication(waveform_list[waveform_name]) @@ -744,7 +744,7 @@ def installWaveform(self, waveform_name='', domain_name="DomainName1"): break if matches_found != len(component_list): - print "At least one device required for this waveform is missing - aborting install" + print("At least one device required for this waveform is missing - aborting install") return @@ -760,7 +760,7 @@ def installWaveform(self, waveform_name='', domain_name="DomainName1"): break if app_factory_num == -1: - print "Application factory not found" + print("Application factory not found") sys.exit(-1) _appFacProps = [] @@ -768,7 +768,7 @@ def installWaveform(self, waveform_name='', domain_name="DomainName1"): try: app = _applicationFactories[app_factory_num].create(_applicationFactories[app_factory_num]._get_name(),_appFacProps,_available_devSeq) except: - print "Unable to create application - make sure that all appropriate nodes are installed" + print("Unable to create application - make sure that all appropriate nodes are installed") return comp_list = app._get_componentNamingContexts() @@ -810,7 +810,7 @@ def updateInstalledWaveforms(self, shallow=False): app_name_list.append(waveform_ns_name) - if self.Waveforms.has_key(waveform_ns_name): + if waveform_ns_name in self.Waveforms: self.Waveforms[waveform_ns_name].app = app continue @@ -828,7 +828,7 @@ def updateInstalledWaveforms(self, shallow=False): self.Waveforms[waveform_ns_name]=waveform_entry self.Waveforms[waveform_ns_name].update() - for waveform_key in self.Waveforms.keys(): + for waveform_key in list(self.Waveforms.keys()): if waveform_key not in app_name_list: tmp = self.Waveforms.pop(waveform_key) diff --git a/redhawk/src/base/framework/python/ossie/utils/sca/importIDL.py b/redhawk/src/base/framework/python/ossie/utils/sca/importIDL.py index 056be07b6..ae633c8c1 100644 --- a/redhawk/src/base/framework/python/ossie/utils/sca/importIDL.py +++ b/redhawk/src/base/framework/python/ossie/utils/sca/importIDL.py @@ -425,7 +425,7 @@ def importStandardIdl(std_idl_path='/usr/local/share/idl/ossie', std_idl_include std_idl_path = os.path.normpath(std_idl_path) if not os.path.exists(std_idl_path): - print "Cannot find OSSIE installation location:\n" + std_idl_path + print("Cannot find OSSIE installation location:\n" + std_idl_path) return # list to hold IDL files @@ -438,7 +438,7 @@ def importStandardIdl(std_idl_path='/usr/local/share/idl/ossie', std_idl_include # don't want them asscociated with anything other than cf.idl cfdir = os.path.join(std_idl_path, "ossie/CF") if not os.path.isdir(cfdir): - print "Cannot find CF idl files in the OSSIE installation location:\n" + cfdir + print("Cannot find CF idl files in the OSSIE installation location:\n" + cfdir) for file in os.listdir(cfdir): if os.path.splitext(file)[1] == '.idl': @@ -455,7 +455,7 @@ def importStandardIdl(std_idl_path='/usr/local/share/idl/ossie', std_idl_include if len(idlList) <= 0: tmpstr = "Can't find any files in: " + std_idl_path - print tmpstr + print(tmpstr) return # Add the CF interfaces first - in case another file includes them, we @@ -521,4 +521,4 @@ def importStandardIdl(std_idl_path='/usr/local/share/idl/ossie', std_idl_include if options.include: includepaths = [x for x in options.include.split(",") if x] - print getInterfacesFromFileAsString(options.filepath, includepaths) + print(getInterfacesFromFileAsString(options.filepath, includepaths)) diff --git a/redhawk/src/base/framework/python/ossie/utils/sca/importNode.py b/redhawk/src/base/framework/python/ossie/utils/sca/importNode.py index 2e928dd0c..f7e56145d 100644 --- a/redhawk/src/base/framework/python/ossie/utils/sca/importNode.py +++ b/redhawk/src/base/framework/python/ossie/utils/sca/importNode.py @@ -46,7 +46,7 @@ def getNode(inpath,Nname,parent=None,sdrroot='/sdr/sca', in_interface_list=None) doc_dcd = xml.dom.minidom.parse(dcdPath) if len(doc_dcd.getElementsByTagName('deviceconfiguration')[0].getElementsByTagName('partitioning')) == 0: # utils.errorMsg(parent,"Invalid file: " + dcdPath) - print "Invalid file: " + dcdPath + print("Invalid file: " + dcdPath) return None newNode.id = doc_dcd.getElementsByTagName('deviceconfiguration')[0].getAttribute('id') @@ -69,7 +69,7 @@ def getNode(inpath,Nname,parent=None,sdrroot='/sdr/sca', in_interface_list=None) break pathSPD = os.path.join(sdrroot, local_SPD) if not os.path.exists(pathSPD): - print "Cannot locate SPD file: " + pathSPD + print("Cannot locate SPD file: " + pathSPD) continue doc_spd = xml.dom.minidom.parse(pathSPD) @@ -78,7 +78,7 @@ def getNode(inpath,Nname,parent=None,sdrroot='/sdr/sca', in_interface_list=None) local_SCD = doc_spd.getElementsByTagName('softpkg')[0].getElementsByTagName('descriptor')[0].getElementsByTagName('localfile')[0].getAttribute('name') pathSCD = os.path.join(sdrroot, local_SCD) if not os.path.exists(pathSCD): - print "Cannot locate SCD file: " + pathSCD + print("Cannot locate SCD file: " + pathSCD) continue doc_scd = xml.dom.minidom.parse(pathSCD) @@ -140,7 +140,7 @@ def getInterface(repid,name): except: # utils.errorMsg(parent,"Can't read the Interface information for port: " + name) - print "Can't read the Interface information for port: " + name + print("Can't read the Interface information for port: " + name) return None diff --git a/redhawk/src/base/framework/python/ossie/utils/sca/importResource.py b/redhawk/src/base/framework/python/ossie/utils/sca/importResource.py index 0ccdbe399..01364a8ff 100644 --- a/redhawk/src/base/framework/python/ossie/utils/sca/importResource.py +++ b/redhawk/src/base/framework/python/ossie/utils/sca/importResource.py @@ -20,7 +20,7 @@ import os, sys import xml.dom.minidom -import base +from . import base # from errorMsg import * availableTypes = ["boolean", "char", "double", "float", "short", "long", @@ -35,7 +35,7 @@ def getResource(path,Rname,parent=None, idl_cache = None): scdPath = findFile(path,Rname,".scd.xml") if scdPath == None: # errorMsg(parent,"No scd file found for: " + Rname) - print "No scd file found for: " + Rname + print("No scd file found for: " + Rname) return None spdPath = findFile(path,Rname,".spd.xml") @@ -48,22 +48,22 @@ def getResource(path,Rname,parent=None, idl_cache = None): doc_scd.normalize() if len(doc_scd.getElementsByTagName('softwarecomponent')[0].getElementsByTagName('componenttype'))==0: # errorMsg(parent,"Invalid file: " + scdPath) - print "Invalid file: " + scdPath + print("Invalid file: " + scdPath) return None component_type = doc_scd.getElementsByTagName('softwarecomponent')[0].getElementsByTagName('componenttype')[0].childNodes[0].data #Instantiate a new component of the appropriate type - if component_type == u'resource': + if component_type == 'resource': newComp = base.Component(name=Rname,type='resource', int_list = _idl_cache) - elif component_type == u'executabledevice': + elif component_type == 'executabledevice': newComp = base.Component(name=Rname,type='executabledevice', int_list = _idl_cache) - elif component_type == u'loadabledevice': + elif component_type == 'loadabledevice': newComp = base.Component(name=Rname,type='loadabledevice', int_list = _idl_cache) - elif component_type == u'device': + elif component_type == 'device': newComp = base.Component(name=Rname,type='device', int_list = _idl_cache) else: # errorMsg(parent,"Can't identify resource type for: " + Rname) - print "Can't identify resource type for: " + Rname + print("Can't identify resource type for: " + Rname) return None # Get the Ports @@ -114,7 +114,7 @@ def getResource(path,Rname,parent=None, idl_cache = None): properties_tag = doc_prf.getElementsByTagName('properties') if len(properties_tag)==0: # errorMsg(parent,"Invalid file: " + prfPath) - print "Invalid file: " + prfPath + print("Invalid file: " + prfPath) return None simple_properties = properties_tag[0].getElementsByTagName('simple') @@ -148,7 +148,7 @@ def getInterface(repid,name): except: # errorMsg(parent,"Can't read the Interface information for port: " + name) - print "Can't read the Interface information for port: " + name + print("Can't read the Interface information for port: " + name) return None diff --git a/redhawk/src/base/framework/python/ossie/utils/sca/scaconfig.py b/redhawk/src/base/framework/python/ossie/utils/sca/scaconfig.py index cddfcf3f7..8029468fd 100644 --- a/redhawk/src/base/framework/python/ossie/utils/sca/scaconfig.py +++ b/redhawk/src/base/framework/python/ossie/utils/sca/scaconfig.py @@ -28,7 +28,7 @@ def sdrRoot(): elif os.path.exists('/sdr'): sdrroot = '/sdr' else: - print "Cannot find SDR root directory" + print("Cannot find SDR root directory") return False return sdrroot @@ -41,7 +41,7 @@ def ossieRoot(): elif os.path.exists('/usr/include/ossie') and os.path.exists('/usr/share/ossie'): ossieroot = '/usr' else: - print "Cannot find OSSIE installation location." + print("Cannot find OSSIE installation location.") return False return ossieroot @@ -53,7 +53,7 @@ def idlRoot(): if os.path.exists(os.path.join(ossieroot,'share/ossie/idl')): idlroot = os.path.join(ossieroot,'share/ossie/idl') else: - print "Cannot find OSSIE IDL location." + print("Cannot find OSSIE IDL location.") return False return idlroot @@ -65,7 +65,7 @@ def ossieInclude(): if os.path.exists(os.path.join(ossieroot,'include/ossie')): ossieinclude = os.path.join(ossieroot,'include/ossie') else: - print "Cannot find OSSIE IDL location." + print("Cannot find OSSIE IDL location.") return False return ossieinclude @@ -77,7 +77,7 @@ def ossieShare(): if os.path.exists(os.path.join(ossieroot,'share/ossie')): ossieshare = os.path.join(ossieroot,'share/ossie') else: - print "Cannot find OSSIE share location." + print("Cannot find OSSIE share location.") return False return ossieshare diff --git a/redhawk/src/base/framework/python/ossie/utils/sdds/__init__.py b/redhawk/src/base/framework/python/ossie/utils/sdds/__init__.py index 7dd6a08ab..a6617a483 100644 --- a/redhawk/src/base/framework/python/ossie/utils/sdds/__init__.py +++ b/redhawk/src/base/framework/python/ossie/utils/sdds/__init__.py @@ -18,6 +18,6 @@ # along with this program. If not, see http://www.gnu.org/licenses/. # -from sdds_time import * -from sdds_pkt import * -from sdds_analyzer import * +from .sdds_time import * +from .sdds_pkt import * +from .sdds_analyzer import * diff --git a/redhawk/src/base/framework/python/ossie/utils/sdds/sdds_analyzer.py b/redhawk/src/base/framework/python/ossie/utils/sdds/sdds_analyzer.py index ec663f8a4..e809aa1cc 100644 --- a/redhawk/src/base/framework/python/ossie/utils/sdds/sdds_analyzer.py +++ b/redhawk/src/base/framework/python/ossie/utils/sdds/sdds_analyzer.py @@ -1,8 +1,8 @@ from binascii import hexlify as _hexify -from StringIO import StringIO +from io import StringIO import ossie.utils.sb.helpers as _helpers -import sdds_pkt as _sdds_pkt +from . import sdds_pkt as _sdds_pkt import traceback __all__ = [ 'SDDSAnalyzer' ] @@ -119,14 +119,14 @@ def dumpRawPackets(self, pkt_start=0, pkt_end=None, row_width=80, bytes_per_grou res = StringIO() for i, line in enumerate(genf,pkt_start): if i < pkt_end: - print >>res, 'pkt:'+str(i) + ' ' + line + print('pkt:'+str(i) + ' ' + line, file=res) else: break if use_pager: _helpers.Pager( res.getvalue() ) else: - print res.getvalue() + print(res.getvalue()) def dumpPackets(self, pkt_start=0, pkt_end=None, payload_start=0, payload_end=40, raw_payload=False, header_only=False, use_pager=True ): genf=self._gen_packet( self.raw_data_, pkt_start ) @@ -137,15 +137,15 @@ def dumpPackets(self, pkt_start=0, pkt_end=None, payload_start=0, payload_end=40 res = StringIO() for i, pkt in enumerate(genf,pkt_start): if i < pkt_end: - print >>res, 'Packet: ', str(i) - print >>res, pkt.header_and_payload(payload_start, payload_end, header_only=header_only, raw=raw_payload ) + print('Packet: ', str(i), file=res) + print(pkt.header_and_payload(payload_start, payload_end, header_only=header_only, raw=raw_payload ), file=res) else: break if use_pager: _helpers.Pager( res.getvalue() ) else: - print res.getvalue() + print(res.getvalue()) def _cmp_pkt( self, res, last_pkt, next_pkt, last_tstamp, last_nsamps ): if last_pkt: @@ -210,7 +210,7 @@ def trackChanges(self, pkt_start=0, pkt_end=None, repeat_header=20, use_pager=Tr last_nsamps=0 for i, pkt in enumerate(genf,pkt_start): if ( i % repeat_header ) == 0: - print >>res, hdr_fmt.format( **dict(zip(keys,hdrs))) + print(hdr_fmt.format( **dict(list(zip(keys,hdrs)))), file=res) cmp_res = dict.fromkeys( keys, self._TRACK_OK_ ) if i == pkt_start : @@ -220,7 +220,7 @@ def trackChanges(self, pkt_start=0, pkt_end=None, repeat_header=20, use_pager=Tr cmp_res['pkt']=i dline=line_fmt.format( **cmp_res ) - print >>res, dline + print(dline, file=res) if pkt.get_ttv() : last_tstamp=pkt.get_SDDSTime() last_nsamp=0 @@ -232,7 +232,7 @@ def trackChanges(self, pkt_start=0, pkt_end=None, repeat_header=20, use_pager=Tr if use_pager: _helpers.Pager( res.getvalue() ) else: - print res.getvalue() + print(res.getvalue()) def getPacketIterator(self, pkt_start=0, pkt_end=None ): genf=self._gen_packet( self.raw_data_, pkt_start ) @@ -261,16 +261,16 @@ def getPackets(self, pkt_start=0, pkt_end=None ): def _gen_hex_dump( self, data, pkt_start, pkt_len, max_row_width=80, bytes_per_group=2 ): # break on pkt length bstart = pkt_start*self.pkt_len_ - pkt_iter=xrange( bstart, len(data), pkt_len) + pkt_iter=range( bstart, len(data), pkt_len) for x in pkt_iter: raw_pkt = data[x:x+max_row_width] - d_iter = xrange(0, len(raw_pkt), bytes_per_group) + d_iter = range(0, len(raw_pkt), bytes_per_group) yield ' '.join( [ _hexify(raw_pkt[i:i+bytes_per_group]) for i in d_iter ] ) def _gen_packet( self, data, pkt_start ): # break on pkt length bstart = pkt_start*self.pkt_len_ - pkt_iter=xrange( bstart, len(data), self.pkt_len_ ) + pkt_iter=range( bstart, len(data), self.pkt_len_ ) for x in pkt_iter: raw_pkt = data[x:x+self.pkt_len_] pkt=_sdds_pkt.sdds_packet(raw_pkt) diff --git a/redhawk/src/base/framework/python/ossie/utils/sdds/sdds_pkt.py b/redhawk/src/base/framework/python/ossie/utils/sdds/sdds_pkt.py index 567f6e19d..8aaa89923 100644 --- a/redhawk/src/base/framework/python/ossie/utils/sdds/sdds_pkt.py +++ b/redhawk/src/base/framework/python/ossie/utils/sdds/sdds_pkt.py @@ -20,6 +20,7 @@ import ctypes import time import datetime +from functools import reduce """ Class definitions that represent SDDS packet structure. The classes make use of python ctypes to pack and unpack bit fields into class's members. The fields of arranged in @@ -517,7 +518,7 @@ def get_freq(self): def set_freq(self, freq): # frequency units resolution 2^63/125mhz sfreq= freq* 73786976294.838211 - self.freq = long(sfreq) + self.freq = int(sfreq) def get_dfdt(self): sdfdt = self.dfdt * 9.3132257461547852e-10 @@ -1219,8 +1220,8 @@ def get_samples_for_bps(self, bps=None ): if bps == None: bps=self.get_bps() - for x in self.FORMATS.values(): - if x.has_key('bps' ) and x['bps'] == bps: + for x in list(self.FORMATS.values()): + if 'bps' in x and x['bps'] == bps: return x['samples'] return None @@ -1306,14 +1307,14 @@ def set_dfdt(self, freq): def get_format(self): dm=self.header.get_dmode() fmt='SB' - for k, v in sdds_packet.FORMATS.items(): + for k, v in list(sdds_packet.FORMATS.items()): if v['dmode'] == dm : fmt=k return fmt def set_format(self, fmt): ret=1 - if fmt in sdds_packet.FORMATS.keys(): + if fmt in list(sdds_packet.FORMATS.keys()): _fmt = sdds_packet.FORMATS[fmt] ret=0 cplx = _fmt['cplx'] @@ -1323,7 +1324,7 @@ def set_format(self, fmt): def get_data(self, start=None, end=None ): bps=self.header.get_bps() - for k, v in sdds_packet.FORMATS.items(): + for k, v in list(sdds_packet.FORMATS.items()): if v['bps'] == bps : attr = getattr(self.payload, k.lower()) return v['get_data'](attr) diff --git a/redhawk/src/base/framework/python/ossie/utils/sdds/sdds_time.py b/redhawk/src/base/framework/python/ossie/utils/sdds/sdds_time.py index 89ad77fc7..cb7d49790 100644 --- a/redhawk/src/base/framework/python/ossie/utils/sdds/sdds_time.py +++ b/redhawk/src/base/framework/python/ossie/utils/sdds/sdds_time.py @@ -36,7 +36,7 @@ def difference(t1, t2): def sum( t1, t2 ): tmp=_copy.copy(t1) - tfrac =long(tmp.pf250_) + t2.pf250_ + tfrac =int(tmp.pf250_) + t2.pf250_ tmp.ps250_ += t2.ps250_ + int(tfrac>>32) tmp.pf250_ = int(tfrac) return tmp @@ -53,8 +53,8 @@ def iadd(t1, offset): tmp=_copy.copy(t1) # make into tics pfrac,pwhole = math.modf(offset*Time.TicFreq) - tfrac = long(tmp.pf250_) + int(pfrac * Time.Two32) - tmp.ps250_ += long(pwhole) + (tfrac>>32) + tfrac = int(tmp.pf250_) + int(pfrac * Time.Two32) + tmp.ps250_ += int(pwhole) + (tfrac>>32) tmp.pf250_ = int(tfrac) return tmp @@ -79,11 +79,11 @@ class Time: REDHAWK_FORMAT="%Y:%m:%d::%H:%M:%S" Tic = 250e-12 TicFreq = 4000000000.0 - TicFreqLong = 4000000000L + TicFreqLong = 4000000000 Two32 = 4294967296.0 def __init__(self ): - self.ps250_ = 0L + self.ps250_ = 0 self.pf250_ = 0 self.startofyear = self.startOfYear() self.setFromTime() @@ -99,13 +99,13 @@ def setFromTime(self, time_sec=time.time() ): time_sec = time_sec - self.startofyear pfrac, pwhole = math.modf(time_sec*Time.TicFreq) - self.ps250_ = long(pwhole) + self.ps250_ = int(pwhole) self.pf250_ = int( pfrac*Time.Two32) #print "td: %12Lu %12u %16.2Lf " % ( self.ps250_, self.pf250_, pfrac ) def setFromPartial( self, integral, fractional ): pfrac, pwhole= math.modf(fractional*Time.TicFreq) - self.ps250_ = long(integral*Time.TicFreqLong) + long(pwhole) + self.ps250_ = int(integral*Time.TicFreqLong) + int(pwhole) self.pf250_ = int( pfrac * Time.Two32) #print "td: %12Lu %12u %16.2Lf " % ( self.ps250_, self.pf250_, pfrac ) diff --git a/redhawk/src/base/framework/python/ossie/utils/testing/__init__.py b/redhawk/src/base/framework/python/ossie/utils/testing/__init__.py index 0e828b51b..cc24bec9f 100644 --- a/redhawk/src/base/framework/python/ossie/utils/testing/__init__.py +++ b/redhawk/src/base/framework/python/ossie/utils/testing/__init__.py @@ -18,5 +18,5 @@ # along with this program. If not, see http://www.gnu.org/licenses/. # -from unit_test_helpers import * -from rhunittest import * +from .unit_test_helpers import * +from .rhunittest import * diff --git a/redhawk/src/base/framework/python/ossie/utils/testing/rhunittest.py b/redhawk/src/base/framework/python/ossie/utils/testing/rhunittest.py index ac3d8ad14..81331a741 100644 --- a/redhawk/src/base/framework/python/ossie/utils/testing/rhunittest.py +++ b/redhawk/src/base/framework/python/ossie/utils/testing/rhunittest.py @@ -98,7 +98,7 @@ def __dir__(self): # For any non-special attribute that is callable (i.e., a function), # return a modified name for each implementation, where the name has # the implementation ID appended. - for attr, value in self.__dict__.iteritems(): + for attr, value in self.__dict__.items(): if not attr.startswith('__') and callable(value): names.update(self.getMethodNames(attr)) else: @@ -152,7 +152,7 @@ def getTestMethodNames(self, prefix, impl=None): names for that implementation will be returned. """ names = [] - for attr, value in self.__dict__.iteritems(): + for attr, value in self.__dict__.items(): if attr.startswith(prefix) and callable(value): names.extend(self.getMethodNames(attr, impl)) return names @@ -177,7 +177,7 @@ def getMethodNames(self, name, impl=None): return [self.addImpl(name, impl) for impl in impls] -class RHTestCase(unittest.TestCase): +class RHTestCase(unittest.TestCase, metaclass=RHTestCaseMeta): """ Unit test base class for REDHAWK components, devices and services. @@ -195,7 +195,6 @@ class MyTest(RHUnitTestCase): def setUp(self): self.comp = sb.launch(self.spd_file, impl=self.impl) """ - __metaclass__ = RHTestCaseMeta def __init__(self, methodName): # Pass the method name unmodified to the base class; this ensures that @@ -235,8 +234,8 @@ def __dir__(self): # keys directly (so that the implementation-mangled names don't appear) # and finally the instance dictionary keys. names = set(dir(unittest.TestCase)) - names.update(type(self).__dict__.keys()) - names.update(self.__dict__.keys()) + names.update(list(type(self).__dict__.keys())) + names.update(list(self.__dict__.keys())) return sorted(names) @@ -257,7 +256,7 @@ def selectTestsFromCase(self, test): if hasattr(self.selectTestsFromCase, 'classes_skipped'): if class_name not in self.selectTestsFromCase.classes_skipped: self.selectTestsFromCase.classes_skipped.append(class_name) - print "SKIPPING: {0} - '{1}'".format(class_name, reason) + print("SKIPPING: {0} - '{1}'".format(class_name, reason)) return None # check if method should be skipped @@ -266,7 +265,7 @@ def selectTestsFromCase(self, test): if method: reason = getattr(method, 'skip_reason', False) if reason: - print "SKIPPING: {0}.{1} - '{2}'".format(class_name, method_name, reason) + print("SKIPPING: {0}.{1} - '{2}'".format(class_name, method_name, reason)) return None return test @@ -336,11 +335,11 @@ def loadTestsFromName(self, name, module=None): if type(obj) == types.ModuleType: return self.loadTestsFromModule(obj) - elif (isinstance(obj, (type, types.ClassType)) and + elif (isinstance(obj, type) and issubclass(obj, unittest.TestCase)): return self.loadTestsFromTestCase(obj) elif (type(obj) == types.UnboundMethodType and - isinstance(parent, (type, types.ClassType)) and + isinstance(parent, type) and issubclass(parent, unittest.TestCase)): return self.loadSpecificTestFromTestCase(parent, obj.__name__) elif isinstance(obj, unittest.TestSuite): @@ -387,7 +386,7 @@ def parseArgs(self, argv): else: self.testNames = (self.defaultTest,) self.createTests() - except getopt.error, msg: + except getopt.error as msg: self.usageExit(msg) def runTests(self): diff --git a/redhawk/src/base/framework/python/ossie/utils/testing/unit_test_helpers.py b/redhawk/src/base/framework/python/ossie/utils/testing/unit_test_helpers.py index ad5833cc6..6ff13a749 100644 --- a/redhawk/src/base/framework/python/ossie/utils/testing/unit_test_helpers.py +++ b/redhawk/src/base/framework/python/ossie/utils/testing/unit_test_helpers.py @@ -48,7 +48,7 @@ from ossie.utils.prop_helpers import parseComplexString from omniORB import any, CORBA, tcInternal -import rhunittest +from . import rhunittest # These global methods are here to allow other modules to modify the global variables IMPL_ID and SOFT_PKG # TestCase setUp() method doesn't allow passing in arguments to the test case so global values are needed @@ -74,7 +74,7 @@ def getSoftPkg(): def stringToComplex(value, type): real, imag = parseComplexString(value, type) - if isinstance(real, basestring): + if isinstance(real, str): real = int(real) imag = int(imag) return complex(real, imag) @@ -451,7 +451,7 @@ def removeSkippedNames(self, names): if obj and isinstance(obj, type): reason = getattr(obj, 'skip_reason', None) if reason: - print "\nSKIPPING: {0} - '{1}'".format(name, reason) + print("\nSKIPPING: {0} - '{1}'".format(name, reason)) continue # Handle a name of type class.function. elif name.count('.') == 1: @@ -461,7 +461,7 @@ def removeSkippedNames(self, names): if obj and isinstance(obj, type) and func: reason = getattr(obj, 'skip_reason', False) or getattr(func, 'skip_reason', False) if reason: - print "\nSKIPPING: {0} - '{1}'".format(name, reason) + print("\nSKIPPING: {0} - '{1}'".format(name, reason)) continue unskipped_names.append(name) return tuple(unskipped_names) @@ -489,7 +489,7 @@ def parseArgs(self, argv): self.testNames = self.removeSkippedNames(self.testNames) self.createTests() - except getopt.error, msg: + except getopt.error as msg: self.usageExit(msg) def runTests(self): diff --git a/redhawk/src/base/framework/python/ossie/utils/tools/MakeUtil.py b/redhawk/src/base/framework/python/ossie/utils/tools/MakeUtil.py index 61074f2be..14263d9aa 100755 --- a/redhawk/src/base/framework/python/ossie/utils/tools/MakeUtil.py +++ b/redhawk/src/base/framework/python/ossie/utils/tools/MakeUtil.py @@ -40,7 +40,7 @@ def usage(): -r, --recursive if location is a directory, searches for all Makefiles (default is False) """ - print txt + print(txt) class MakeUtil: @@ -89,7 +89,7 @@ def __init__(self, location=None, is_recursive=False): obj.close() tgts_dict[item] = targets # prints the result using pretty print - print pprint.pformat(tgts_dict) + print(pprint.pformat(tgts_dict)) def __log(self, txt): """ @@ -100,7 +100,7 @@ def __log(self, txt): The message to print to stdout """ if __DEBUG__: - print "%s" % txt + print("%s" % txt) def __processDir(self): """ @@ -166,8 +166,8 @@ def __processFile(self, filename): loc = os.getcwd() is_recursive = options.recursive - print "\n\tNo location was provided, using current directory: %s" % loc - print "" + print("\n\tNo location was provided, using current directory: %s" % loc) + print("") else: loc = options.location is_recursive = options.recursive diff --git a/redhawk/src/base/framework/python/ossie/utils/tools/prf2py.py b/redhawk/src/base/framework/python/ossie/utils/tools/prf2py.py index 6d79c8d78..8c09f77c2 100644 --- a/redhawk/src/base/framework/python/ossie/utils/tools/prf2py.py +++ b/redhawk/src/base/framework/python/ossie/utils/tools/prf2py.py @@ -71,7 +71,7 @@ def readPRF(filename): action = "external" if not action in ("eq", "ne", "gt", "lt", "ge", "le", "external"): - raise StandardError("Invalid action") + raise Exception("Invalid action") if property.get_mode(): mode = property.get_mode() @@ -80,7 +80,7 @@ def readPRF(filename): for k in property.get_kind(): if not k.get_kindtype() in ("allocation", "property", "configure", "test", "execparam", "factoryparam"): - raise StandardError("Invalid action %s for %s" % (action, property.get_id())) + raise Exception("Invalid action %s for %s" % (action, property.get_id())) kinds = [ k.get_kindtype() for k in property.get_kind()] if len(kinds) == 0: kinds = ["property", "configure"] @@ -108,7 +108,7 @@ def readPRF(filename): for k in property.get_kind(): if not k.get_kindtype() in ("allocation", "configure", "test", "execparam", "factoryparam"): - raise StandardError("Invalid action %s for %s" % (action, property.get_id())) + raise Exception("Invalid action %s for %s" % (action, property.get_id())) kinds = [ k.get_kindtype() for k in property.get_kind()] if len(kinds) == 0: kinds = ["property", "configure"] @@ -131,15 +131,15 @@ def readPRF(filename): if __name__ == "__main__": import os.path import time - print "#!/usr/bin/env python" - print "#" - print "# AUTO-GENERATED CODE. DO NOT MODIFY!" - print "#" - print "# Source: %s" % os.path.basename(sys.argv[1]) - print "# Generated on: %s" % time.asctime() - print "" + print("#!/usr/bin/env python") + print("#") + print("# AUTO-GENERATED CODE. DO NOT MODIFY!") + print("#") + print("# Source: %s" % os.path.basename(sys.argv[1])) + print("# Generated on: %s" % time.asctime()) + print("") p = readPRF(sys.argv[1]) - print p - print "" + print(p) + print("") diff --git a/redhawk/src/base/framework/python/ossie/utils/type_helpers.py b/redhawk/src/base/framework/python/ossie/utils/type_helpers.py index 93539ae63..775887c4d 100644 --- a/redhawk/src/base/framework/python/ossie/utils/type_helpers.py +++ b/redhawk/src/base/framework/python/ossie/utils/type_helpers.py @@ -79,7 +79,7 @@ def _SIStringToNumeric(value): if c.isalpha(): suffix += c if len(num) > 0 and len(suffix) > 0: - for suffixKey in siMap.keys(): + for suffixKey in list(siMap.keys()): if suffixKey[0] == suffix: if "." in num: return float(num) * pow(1000,siMap[suffixKey]) @@ -96,24 +96,24 @@ def checkValidValue(value, dataType): if isinstance(value, str) and dataType != "string": value = _SIStringToNumeric(value) if dataType in ('char', 'string'): - if not isinstance(value, basestring): - raise TypeError, '%s is not valid for type %s' % (type(value), dataType) + if not isinstance(value, str): + raise TypeError('%s is not valid for type %s' % (type(value), dataType)) if dataType == 'char' and len(value) != 1: - raise TypeError, 'expected a character, but string of length %d found' % len(value) + raise TypeError('expected a character, but string of length %d found' % len(value)) return value elif dataType == 'utctime': if type(value) == str: return rhtime.convert(value) return value - elif isinstance(value, basestring): - raise TypeError, "Cannot convert string to type '%s'" % dataType + elif isinstance(value, str): + raise TypeError("Cannot convert string to type '%s'" % dataType) elif dataType in ('double', 'float'): return float(value) elif dataType in ('octet', 'short', 'ushort', 'long', 'ulong', 'longlong', 'ulonglong'): value = int(value) typeMin, typeMax = __INT_RANGE[dataType] if value > typeMax or value < typeMin: - raise OutOfRangeException, '%d is out of range for type %s [%d <= x <= %d]' % (value, dataType, typeMin, typeMax) + raise OutOfRangeException('%d is out of range for type %s [%d <= x <= %d]' % (value, dataType, typeMin, typeMax)) return value elif dataType == 'boolean': return bool(value) @@ -122,7 +122,7 @@ def checkValidValue(value, dataType): elif isinstance(dataType, list): for memberID in value: if memberID not in [id for id,propType in dataType]: - raise TypeError, '"' + str(memberID) + '" is not a member of this struct' + raise TypeError('"' + str(memberID) + '" is not a member of this struct') for memberID in value: if value[memberID] != None: for id, propType in dataType: @@ -131,7 +131,7 @@ def checkValidValue(value, dataType): break return value else: - raise TypeError, str(type(value)) + ' is not a valid type for ' + dataType + raise TypeError(str(type(value)) + ' is not a valid type for ' + dataType) def checkValidDataSet(dataSet, dataType): value = [checkValidValue(v, dataType) for v in dataSet] diff --git a/redhawk/src/base/framework/python/ossie/utils/weakmethod.py b/redhawk/src/base/framework/python/ossie/utils/weakmethod.py index 7269b501f..9d16f488b 100644 --- a/redhawk/src/base/framework/python/ossie/utils/weakmethod.py +++ b/redhawk/src/base/framework/python/ossie/utils/weakmethod.py @@ -22,4 +22,4 @@ warnings.filterwarnings('once',category=DeprecationWarning) warnings.warn('%s has been replaced by ossie.utils.weakobj module' % __name__, DeprecationWarning) -from weakobj import WeakBoundMethod +from .weakobj import WeakBoundMethod diff --git a/redhawk/src/base/framework/python/ossie/utils/weakobj.py b/redhawk/src/base/framework/python/ossie/utils/weakobj.py index 03470c2c8..06a6a0a1c 100644 --- a/redhawk/src/base/framework/python/ossie/utils/weakobj.py +++ b/redhawk/src/base/framework/python/ossie/utils/weakobj.py @@ -26,7 +26,7 @@ import inspect import types -from notify import bound_notification +from .notify import bound_notification def getref(obj): """ @@ -136,28 +136,28 @@ class _WeakBoundCallable(object): Base class for weakly-bound callable objects (methods and notifications). """ def __init__(self, func, callback): - self.im_self = weakref.ref(func.im_self, _make_callback(self, callback)) + self.__self__ = weakref.ref(func.__self__, _make_callback(self, callback)) def __call__(self, *args, **kwargs): func = getref(self) return func(*args, **kwargs) def __getref__(self): - ref = self.im_self() + ref = self.__self__() if ref is None: raise weakref.ReferenceError('weakly-referenced object no longer exists') - return self.__functype__(self.im_func, ref, self.im_class) + return self.__functype__(self.__func__, ref, self.__self__.__class__) def __eq__(self, other): if not isinstance(other, type(self)): return False - return (self.im_func == other.im_func) and \ - (self.im_self == other.im_self) and \ - (self.im_class == other.im_class) + return (self.__func__ == other.__func__) and \ + (self.__self__ == other.__self__) and \ + (self.__self__.__class__ == other.__self__.__class__) def __repr__(self): - name = self.im_class.__name__ + '.' + self.im_func.__name__ - return '' % (self.__funckind__, name, self.im_self) + name = self.__self__.__class__.__name__ + '.' + self.__func__.__name__ + return '' % (self.__funckind__, name, self.__self__) class WeakBoundMethod(_WeakBoundCallable): """ @@ -174,8 +174,8 @@ def __init__(self, func, callback=None): if not _ismethod(func): raise TypeError("can not create weakly-bound method from '%s' object" % (type(func).__name__,)) _WeakBoundCallable.__init__(self, func, callback) - self.im_func = func.im_func - self.im_class = func.im_class + self.__func__ = func.__func__ + self.__self__.__class__ = func.__self__.__class__ class WeakNotification(_WeakBoundCallable, bound_notification): """ @@ -187,7 +187,7 @@ class WeakNotification(_WeakBoundCallable, bound_notification): def __init__(self, func, callback=None): if not isinstance(func, bound_notification): raise TypeError("can not create weakly-bound notification from '%s' object" % (type(func).__name__,)) - bound_notification.__init__(self, func.im_func, None, func.im_class) + bound_notification.__init__(self, func.__func__, None, func.__self__.__class__) _WeakBoundCallable.__init__(self, func, callback) @property @@ -200,10 +200,10 @@ def listeners(self): # referenced object, instead of the default behavior of showing help for the # weak object. import site -import __builtin__ +import builtins class _WeakObjectHelper(site._Helper): def __call__(self, request, *args, **kwargs): if isinstance(request, WeakTypes): request = getref(request) return super(_WeakObjectHelper,self).__call__(request, *args, **kwargs) -__builtin__.help = _WeakObjectHelper() +builtins.help = _WeakObjectHelper() diff --git a/redhawk/src/base/framework/python/redhawk/bitbuffer.py b/redhawk/src/base/framework/python/redhawk/bitbuffer.py index c1f62fcec..dd9a8cfee 100644 --- a/redhawk/src/base/framework/python/redhawk/bitbuffer.py +++ b/redhawk/src/base/framework/python/redhawk/bitbuffer.py @@ -86,7 +86,7 @@ def _copy_bits(dest, dstart, src, sstart, count): else: # The two bit arrays are not exactly aligned; iterate through each # byte from the left-hand side - for pos in xrange(bytes): + for pos in range(bytes): dest[dbyte+pos] = _read_split_byte(src, sbyte+pos, sbit) dbyte += bytes sbyte += bytes @@ -101,7 +101,7 @@ def _unpack(src, start, count): byte, bit = _split_index(start) last_byte = byte + (bit + count + 7) // 8 - for pos in xrange(byte, last_byte): + for pos in range(byte, last_byte): nbits = min(8 - bit, count) # Use the first (inclusive) and last (exclusive) bits to determine the @@ -166,7 +166,7 @@ def __init__(self, value, bits): self.bits = bits def __iter__(self): - for shift in xrange(self.bits-1, -1, -1): + for shift in range(self.bits-1, -1, -1): yield (self.value >> shift) & 1 @@ -196,10 +196,10 @@ def takeskip(iterable, take, skip): """ it = iter(iterable) while True: - for _ in xrange(take): - yield it.next() - for _ in xrange(skip): - it.next() + for _ in range(take): + yield next(it) + for _ in range(skip): + next(it) class bitbuffer(object): """ @@ -314,7 +314,7 @@ def __init__(self, data=None, bits=None, start=None): raise TypeError('integer given with no bit count') data = biterator(data, bits) func = int - elif isinstance(data, basestring): + elif isinstance(data, str): # String: parse as binary string func = _char_to_bit else: @@ -351,7 +351,7 @@ def __getitem__(self, pos): return bitbuffer(self, bits, start_bit) else: # Create a new bitbuffer by striding through this one - return bitbuffer(self[pos] for pos in xrange(start, stop, step)) + return bitbuffer(self[pos] for pos in range(start, stop, step)) else: # Get an individual bit pos = self._check_index(pos) @@ -370,7 +370,7 @@ def __setitem__(self, pos, value): self._assign(start, stop, value) return - indices = xrange(start, stop, step) + indices = range(start, stop, step) bits = len(indices) try: value_len = len(value) @@ -406,7 +406,7 @@ def __str__(self): def __eq__(self, other): if len(self) != len(other): return False - if isinstance(other, basestring): + if isinstance(other, str): func = _char_to_bit else: func = bool @@ -512,7 +512,7 @@ def find(self, pattern, start=0, end=None, maxDistance=0): # length to do the comparison end = min(end, len(self) - length) - for pos in xrange(start, end): + for pos in range(start, end): if pattern.distance(self[pos:pos+length]) <= maxDistance: return pos return -1 diff --git a/redhawk/src/base/framework/python/redhawk/numa.py b/redhawk/src/base/framework/python/redhawk/numa.py index e6ffd184f..ef039a51a 100644 --- a/redhawk/src/base/framework/python/redhawk/numa.py +++ b/redhawk/src/base/framework/python/redhawk/numa.py @@ -20,7 +20,7 @@ def parseRange(line): first, last = line.split('-') - return range(int(first), int(last)+1) + return list(range(int(first), int(last)+1)) def parseValues(line, delim=','): values = [] @@ -43,7 +43,7 @@ def _getCpuList(self): with open(filename) as f: line = f.readline().strip() return parseValues(line, ',') - except IOError, e: + except IOError as e: self._available = False return [] @@ -61,7 +61,7 @@ def _getNodes(self): with open('/sys/devices/system/node/online') as f: line = f.readline().strip() return parseValues(line, ',') - except IOError, e: + except IOError as e: self._available = False return [] diff --git a/redhawk/src/base/framework/python/setup.py b/redhawk/src/base/framework/python/setup.py index 918ee58a4..4683f568e 100644 --- a/redhawk/src/base/framework/python/setup.py +++ b/redhawk/src/base/framework/python/setup.py @@ -27,18 +27,18 @@ except ImportError: pass else: - import StringIO + import io stdout, stderr = sys.stdout, sys.stderr - sys.stdout = co = StringIO.StringIO() - sys.stderr = ce = StringIO.StringIO() + sys.stdout = co = io.StringIO() + sys.stderr = ce = io.StringIO() # Tabnanny doesn't provide any mechanism other than print outs so we have # to capture the output tabnanny.check("ossie") sys.stdout = stdout sys.stderr = stderr if len(co.getvalue().strip()) != 0: - print "Incosistent tab usage:" - print co.getvalue() + print("Incosistent tab usage:") + print((co.getvalue())) sys.exit(-1) import ossie.version diff --git a/redhawk/src/base/framework/shm/Heap.cpp b/redhawk/src/base/framework/shm/Heap.cpp index ed29e5983..b6dbb2cf5 100644 --- a/redhawk/src/base/framework/shm/Heap.cpp +++ b/redhawk/src/base/framework/shm/Heap.cpp @@ -201,7 +201,7 @@ Superblock* Heap::_createSuperblock(size_t minSize) size_t superblock_size = _superblockSize; minSize = (minSize + 64) * 2; if (minSize > superblock_size) { - superblock_size = PAGE_ROUND_UP(minSize, MappedFile::PAGE_SIZE); + superblock_size = PAGE_ROUND_UP(minSize, MappedFile::SC_PAGE_SIZE); } try { @@ -214,12 +214,12 @@ Superblock* Heap::_createSuperblock(size_t minSize) size_t Heap::_initSuperblockSize() { - // We would prefer to use MappedFile::PAGE_SIZE here but the order of + // We would prefer to use MappedFile::SC_PAGE_SIZE here but the order of // initialization for C++ modules is undefined, meaning it may still be 0 // when this function is called. Use the same system call instead. - static size_t PAGE_SIZE = sysconf(_SC_PAGESIZE); + static size_t SC_PAGE_SIZE = sysconf(_SC_PAGESIZE); size_t superblock_size = redhawk::env::getVariable("RH_SHMALLOC_SUPERBLOCK_SIZE", DEFAULT_SUPERBLOCK_SIZE); - return PAGE_ROUND_UP(superblock_size, PAGE_SIZE); + return PAGE_ROUND_UP(superblock_size, SC_PAGE_SIZE); } size_t Heap::_superblockSize = Heap::_initSuperblockSize(); diff --git a/redhawk/src/base/framework/shm/HeapPolicy.cpp b/redhawk/src/base/framework/shm/HeapPolicy.cpp index a0625c374..12e87e069 100644 --- a/redhawk/src/base/framework/shm/HeapPolicy.cpp +++ b/redhawk/src/base/framework/shm/HeapPolicy.cpp @@ -8,8 +8,34 @@ #include #include +#ifdef __APPLE__ +// +// from https://stackoverflow.com/questions/33745364/sched-getcpu-equivalent-for-os-x +// +#include + +#define CPUID(INFO, LEAF, SUBLEAF) __cpuid_count(LEAF, SUBLEAF, INFO[0], INFO[1], INFO[2], INFO[3]) + +static size_t sched_getcpu() { + uint32_t CPUInfo[4]; + CPUID(CPUInfo, 1, 0); + size_t CPU; + /* CPUInfo[1] is EBX, bits 24-31 are APIC ID */ + if ( (CPUInfo[3] & (1 << 9)) == 0) { + CPU = -1; /* no APIC on chip */ + } + else { + CPU = (size_t)CPUInfo[1] >> 24; + } + if (CPU < 0) { + CPU = 0; + } + return CPU; + } +#endif + namespace { - static int getCpuCount() + int getCpuCount() { static int count = sysconf(_SC_NPROCESSORS_CONF); return std::max(count, 1); diff --git a/redhawk/src/base/framework/shm/MappedFile.cpp b/redhawk/src/base/framework/shm/MappedFile.cpp index 92f0715d0..a2d15f6ac 100644 --- a/redhawk/src/base/framework/shm/MappedFile.cpp +++ b/redhawk/src/base/framework/shm/MappedFile.cpp @@ -36,7 +36,7 @@ static std::string error_string() return strerror(errno); } -const size_t MappedFile::PAGE_SIZE = sysconf(_SC_PAGESIZE); +const size_t MappedFile::SC_PAGE_SIZE = sysconf(_SC_PAGESIZE); MappedFile::MappedFile(const std::string& name) : _name(name), @@ -87,13 +87,18 @@ size_t MappedFile::size() const return statbuf.st_size; } +// see https://stackoverflow.com/questions/11497567/fallocate-command-equivalent-in-os-x void MappedFile::resize(size_t bytes) { size_t current_size = size(); if (bytes <= current_size) { return; } +#ifdef __APPLE__ + int status = ENOSPC; // FIXME: TODO! CK +#else int status = posix_fallocate(_fd, current_size, bytes - current_size); +#endif if (status == 0) { return; } else if (status == ENOSPC) { @@ -119,8 +124,12 @@ void* MappedFile::map(size_t bytes, mode_e mode, off_t offset) void* MappedFile::remap(void* oldAddr, size_t oldSize, size_t newSize) { +#ifdef __APPLE__ + void* addr = MAP_FAILED; // FIXME: TODO! CK +#else int flags = MREMAP_MAYMOVE; void* addr = mremap(oldAddr, oldSize, newSize, flags); +#endif if (addr == MAP_FAILED) { throw std::runtime_error("mremap: " + error_string()); } diff --git a/redhawk/src/base/framework/shm/Superblock.cpp b/redhawk/src/base/framework/shm/Superblock.cpp index e76654022..42b51646f 100644 --- a/redhawk/src/base/framework/shm/Superblock.cpp +++ b/redhawk/src/base/framework/shm/Superblock.cpp @@ -68,7 +68,7 @@ struct Superblock::FreeBlock : public Block { Superblock::Superblock(const std::string& heap, size_t offset, size_t size) : _offset(offset), _size(size), - _dataStart(MappedFile::PAGE_SIZE), + _dataStart(MappedFile::SC_PAGE_SIZE), _used(0), _first(0), _last(0) diff --git a/redhawk/src/base/framework/shm/Superblock.h b/redhawk/src/base/framework/shm/Superblock.h index b3f013b9d..c39d2698c 100644 --- a/redhawk/src/base/framework/shm/Superblock.h +++ b/redhawk/src/base/framework/shm/Superblock.h @@ -31,7 +31,7 @@ namespace redhawk { namespace shm { class ThreadState; - class Block; + struct Block; class Superblock { public: diff --git a/redhawk/src/base/framework/shm/SuperblockFile.cpp b/redhawk/src/base/framework/shm/SuperblockFile.cpp index 17d1bc8b5..85c6ae5f5 100644 --- a/redhawk/src/base/framework/shm/SuperblockFile.cpp +++ b/redhawk/src/base/framework/shm/SuperblockFile.cpp @@ -132,12 +132,12 @@ SuperblockFile::Statistics SuperblockFile::getStatistics() stats.unused = 0; // First superblock starts at next page after the header - size_t offset = MappedFile::PAGE_SIZE; + size_t offset = MappedFile::SC_PAGE_SIZE; const size_t end = _file.size(); while (offset < end) { // Map just the header of the superblock; no calls here need to acquire // its lock, so this prevents accidental modifications - void* base = _file.map(MappedFile::PAGE_SIZE, MappedFile::READONLY, offset); + void* base = _file.map(MappedFile::SC_PAGE_SIZE, MappedFile::READONLY, offset); const Superblock* superblock = reinterpret_cast(base); // Extra safety check; since we're walking through the superblocks, the @@ -152,10 +152,10 @@ SuperblockFile::Statistics SuperblockFile::getStatistics() } stats.superblocks++; // Account for the superblock overhead - offset += MappedFile::PAGE_SIZE + superblock->size(); + offset += MappedFile::SC_PAGE_SIZE + superblock->size(); } // Don't forget to unmap--it doesn't happen automatically! - _file.unmap(base, MappedFile::PAGE_SIZE); + _file.unmap(base, MappedFile::SC_PAGE_SIZE); if (!valid) { break; @@ -175,14 +175,14 @@ void SuperblockFile::create() // Use a page to create the header try { - _file.resize(MappedFile::PAGE_SIZE); + _file.resize(MappedFile::SC_PAGE_SIZE); } catch (const std::exception&) { // Something is terribly wrong, probably out of memory; remove the file // and relay the exception _file.unlink(); throw; } - void* base = _file.map(MappedFile::PAGE_SIZE, MappedFile::READWRITE); + void* base = _file.map(MappedFile::SC_PAGE_SIZE, MappedFile::READWRITE); _header = new (base) Header; _attached = true; @@ -199,13 +199,13 @@ void SuperblockFile::open(bool attach) // Check for a heap that was created on a full tmpfs--the file exists but // has no allocated memory - if (_file.size() < MappedFile::PAGE_SIZE) { + if (_file.size() < MappedFile::SC_PAGE_SIZE) { throw std::runtime_error("invalid superblock file (no header)"); } // Map the file and overlay the header structure over it, checking the // magic number to make sure it's really a superblock file - void* base = _file.map(MappedFile::PAGE_SIZE, MappedFile::READWRITE); + void* base = _file.map(MappedFile::SC_PAGE_SIZE, MappedFile::READWRITE); Header* header = reinterpret_cast(base); if (header->magic != Header::SUPERBLOCK_MAGIC) { throw std::runtime_error("invalid superblock file (magic number does not match)"); @@ -232,7 +232,7 @@ void SuperblockFile::close() _detach(); // Unmap the header to avoid keeping the file alive - _file.unmap(_header, MappedFile::PAGE_SIZE); + _file.unmap(_header, MappedFile::SC_PAGE_SIZE); _file.close(); @@ -257,7 +257,7 @@ Superblock* SuperblockFile::createSuperblock(size_t bytes) { // Allocate 1 page for the header, plus the superblock memory size_t current_offset = _file.size(); - size_t total_size = MappedFile::PAGE_SIZE + bytes; + size_t total_size = MappedFile::SC_PAGE_SIZE + bytes; _file.resize(current_offset + total_size); void* base = _file.map(total_size, MappedFile::READWRITE, current_offset); @@ -287,7 +287,7 @@ void SuperblockFile::_detach() Superblock* SuperblockFile::_mapSuperblock(size_t offset) { // Map just the superblock's header to get the complete size - void* base = _file.map(MappedFile::PAGE_SIZE, MappedFile::READWRITE, offset); + void* base = _file.map(MappedFile::SC_PAGE_SIZE, MappedFile::READWRITE, offset); Superblock* superblock = reinterpret_cast(base); if (superblock->offset() != offset) { throw std::invalid_argument("offset is not a valid superblock"); @@ -295,7 +295,7 @@ Superblock* SuperblockFile::_mapSuperblock(size_t offset) size_t superblock_size = superblock->size(); // Remap to get the full superblock size - base = _file.remap(base, MappedFile::PAGE_SIZE, MappedFile::PAGE_SIZE + superblock_size); + base = _file.remap(base, MappedFile::SC_PAGE_SIZE, MappedFile::SC_PAGE_SIZE + superblock_size); superblock = reinterpret_cast(base); // Store mapping diff --git a/redhawk/src/base/include/ossie/Component.h b/redhawk/src/base/include/ossie/Component.h index 303e688e9..f1e39b54e 100644 --- a/redhawk/src/base/include/ossie/Component.h +++ b/redhawk/src/base/include/ossie/Component.h @@ -31,7 +31,7 @@ class Component : public Resource_impl { Component(const char* _uuid); Component(const char* _uuid, const char *label); virtual ~Component(); - void setAdditionalParameters(std::string &softwareProfile, std::string &application_registrar_ior, std::string &nic); + void setAdditionalParameters(std::string &softwareProfile, std::string &application_registrar_ior, const std::string &nic); /* * Return a pointer to the Application that the Resource is deployed on */ diff --git a/redhawk/src/base/include/ossie/LoadableDevice_impl.h b/redhawk/src/base/include/ossie/LoadableDevice_impl.h index dc37a7e24..3c81b9e53 100644 --- a/redhawk/src/base/include/ossie/LoadableDevice_impl.h +++ b/redhawk/src/base/include/ossie/LoadableDevice_impl.h @@ -29,8 +29,8 @@ #include #include "ossie/Autocomplete.h" -typedef std::multimap, std::allocator > > -copiedFiles_type; +//XXX typedef std::multimap, std::allocator > > copiedFiles_type; +typedef std::multimap > copiedFiles_type; /* * EnvironmentPathParser provides operations to read, write, and modify diff --git a/redhawk/src/base/include/ossie/Makefile.am b/redhawk/src/base/include/ossie/Makefile.am index 0abb88151..f8a7630a3 100644 --- a/redhawk/src/base/include/ossie/Makefile.am +++ b/redhawk/src/base/include/ossie/Makefile.am @@ -77,8 +77,10 @@ nobase_pkginclude_HEADERS = internal/equals.h \ internal/message_traits.h \ logging/rh_logger.h \ logging/LogConfigUriResolver.h \ - logging/loghelpers.h \ - debug/check.h \ + cluster/ClusterManagerResolver.h \ + logging/loghelpers.h \ + cluster/clusterhelpers.h \ + debug/check.h \ debug/checked_allocator.h \ debug/checked_iterator.h \ shm/Allocator.h \ diff --git a/redhawk/src/base/include/ossie/OptionalProperty.h b/redhawk/src/base/include/ossie/OptionalProperty.h index 5f3841fd3..7a5d59e85 100644 --- a/redhawk/src/base/include/ossie/OptionalProperty.h +++ b/redhawk/src/base/include/ossie/OptionalProperty.h @@ -90,7 +90,7 @@ class optional_property } private: - std::auto_ptr _p; + std::unique_ptr _p; }; diff --git a/redhawk/src/base/include/ossie/Resource_impl.h b/redhawk/src/base/include/ossie/Resource_impl.h index dca67bcaa..002fe25b5 100644 --- a/redhawk/src/base/include/ossie/Resource_impl.h +++ b/redhawk/src/base/include/ossie/Resource_impl.h @@ -87,7 +87,7 @@ class Resource_impl: virtual void setCurrentWorkingDirectory(std::string& cwd); virtual std::string& getCurrentWorkingDirectory(); - virtual void setAdditionalParameters(std::string &softwareProfile, std::string &application_registrar_ior, std::string &nic); + virtual void setAdditionalParameters(std::string &softwareProfile, std::string &application_registrar_ior, const std::string &nic); /* * Return a pointer to the Domain Manager that the Resource is deployed on */ diff --git a/redhawk/src/base/include/ossie/cluster/ClusterManagerResolver.h b/redhawk/src/base/include/ossie/cluster/ClusterManagerResolver.h new file mode 100644 index 000000000..0df03a516 --- /dev/null +++ b/redhawk/src/base/include/ossie/cluster/ClusterManagerResolver.h @@ -0,0 +1,177 @@ +/* + * This file is protected by Copyright. Please refer to the COPYRIGHT file + * distributed with this source distribution. + * + * This file is part of REDHAWK core. + * + * REDHAWK core is free software: you can redistribute it and/or modify it + * under the terms of the GNU Lesser General Public License as published by the + * Free Software Foundation, either version 3 of the License, or (at your + * option) any later version. + * + * REDHAWK core is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License + * for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this program. If not, see http://www.gnu.org/licenses/. + */ +#ifndef __RH_CLUSTER_CONFIG_RESOLVER_H__ +#define __RH_CLUSTER_CONFIG_RESOLVER_H__ +#include +#include +#include +#include +#include +#include +#include + +#include + +#include "yaml-cpp/yaml.h" + +namespace ossie { + + namespace cluster { + + /* + * Pure virtual parent class that holds all the functions that REDHAWK expects to find in the plugin. + * + * REDHAWK uses the following functions to launch, delete, and check on components. The plugins must inherit this class + * and fill in the logic for the various required REDHAWK functionalities. When compiling the user must put `MAKE_CLUSTER_FACTORY();` + * at the end of their cpp file that is including their class. This will make it so that the plugin loader knows that the user wants to use this + * cluster technology. + */ + class ClusterManagerResolver { + public: + + virtual ~ClusterManagerResolver() {}; + + /* + * Launches a component or yaml file of multiple components into the cluster + * @param app_id the redhawk code passes the plugin the application ID (can be used for namespaces for example) + * @return An integer representing a pid. A negative pid will throw an error while a pid 0 and greater will succeed + */ + virtual int launchComponent(std::string app_id) = 0; + + /* + * Polls the component and waits to see that it is active and running (equivalent to REDHAWKs native pid check but for clusters) + * @param comp_id the key that is used on validNamesMap to find the name of the component that is being checked to be active + * @return Boolean where true means the component is active and false means the component is not. REDHAWK prints an error to logs if false + */ + virtual bool pollStatusActive(std::string comp_id) = 0; + + /* + * Polls the component and waits for terminatation (in clusters this might mean CrashLoopBackoff, Completed, etc...) + * @param comp_id the key that is used on validNamesMap to find the name of the component that is being checked to be terminated + * @return Boolean where true means the component is terminated and false means the component is not. REDHAWK prints an error to logs if false + */ + virtual bool pollStatusTerminated(std::string comp_id) = 0; + + /* + * Deletes a component or multiple components in a yaml file from the namespace + * @param comp_id the key that is used on validNamesMap to find the name of the component that is being checked to be deleted + */ + virtual void deleteComponent(std::string comp_id) = 0; + + /* + * One-off check for if a component has terminated (in clusters this might mean CrashLoopBackoff, Completed, etc...) + * @param comp_id the key that is used on validNamesMap to find the name of the component that is being checked to be terminated + * @return true if terminated and false if not. Throws a ComponentTerminated exception if false on start up + */ + virtual bool isTerminated(std::string comp_id) = 0; + + /* + * Adds a component to the yaml file so that all cluster type components are in the file before launching. This is also the location where non-cluster type deployments would run executables (see DockerResolver.cpp) + * @param execParameters The parameters given to the component to be able to execute it. These parameters can instead be baked into the yaml file for the cluster technology to launch itself + * (i.e /path/to/executable NAMING_CONTEXT_IOR PROFILE_NAME NAME_BINDING COMPONENT_IDENTIFIER DEBUG_LEVEL ). Other params include: + * NIC + * RH::GPP::MODIFIED_CPU_RESERVATION_VALUE + * @param entryPoint The path to the executable (i.e /var/redhawk/sdr/dom/components/rh/SigGen/cpp/SigGen) + * @param image The image name that was attached to the entrypoint in the spd.xml file (i.e in the spd <\entrypoint>/path/to/executable::image<\entrypoint>). + * This is not the full path to a AWS directory. That full path will instead be found in /usr/local/redhawk/core/aws/cluster.cfg. + */ + virtual void openComponentConfigFile(redhawk::PropertyMap execParameters, std::string entryPoint, std::string image) = 0; + + /* + * Closes the yaml file that was being written to + * @param app_id the application ID is given so that when the file is saved out it can be unique + */ + virtual void closeComponentConfigFile(std::string app_id) = 0; + + + + void open_tmp_file() { + RH_NL_TRACE("Cluster", "filename"); + filename = "/tmp/k8s_waveform.XXXXXX"; + char char_array[filename.length()+1]; + strcpy(char_array, filename.c_str()); // template for our file. + RH_NL_TRACE("Cluster", "mkstemp"); + fd = mkstemp(char_array); + filename = std::string(char_array); + } + + void close_tmp_file() { + if (fd != -1) { + close(fd); + fd = -1; + char char_array[filename.length()+1]; + strcpy(char_array, filename.c_str()); + remove(char_array); + } + } + protected: + + /* + * Contructor for the parent cluster manager + * @param app_id the redhawk code passes the plugin the application ID (can be used for namespaces for example) + */ + ClusterManagerResolver(std::string app_id){}; + + /// The yaml file that is used to launch multiple components at once in various cluster technologies (moved here because both k8s and docker swarm use it) + YAML::Emitter yaml; + + /// The path to the file that is being written to (written as "/tmp/k8s-" and combined with the app_id and extension to create a file name file_prefix+app_id+extension) + std::string file_prefix; + + /// A map to track the component ids and names of components of cluster types. This is used to check if specific components in a list are active, terminated, or deleted (i.e name = validNamesMap[comp_id]) + std::map validNamesMap; + + /// The time to wait for polling + double timeout; + + int fd; + std::string filename; + + private: + ClusterManagerResolver( const ClusterManagerResolver &src) {}; + + }; + + typedef boost::shared_ptr ClusterManagerResolverPtr; + typedef ClusterManagerResolverPtr (*ClusterFactory)(std::string app_id); + + }; + +}; + + + +// the class factories + +#define MAKE_CLUSTER_FACTORY(CLAZZ) \ +\ + class CLAZZ; \ +\ +extern "C" { \ + ossie::cluster::ClusterManagerResolverPtr cluster_factory(std::string app_id) { \ + return ossie::cluster::ClusterManagerResolverPtr( new CLAZZ(app_id) ); \ + }; \ +\ + void destroy( ossie::cluster::ClusterManagerResolverPtr &p) { \ + p.reset(); \ +}; \ +}; + +#endif diff --git a/redhawk/src/base/include/ossie/cluster/clusterhelpers.h b/redhawk/src/base/include/ossie/cluster/clusterhelpers.h new file mode 100644 index 000000000..8aa2b90fa --- /dev/null +++ b/redhawk/src/base/include/ossie/cluster/clusterhelpers.h @@ -0,0 +1,8 @@ + +#include + +namespace ossie { + namespace cluster { + ClusterManagerResolverPtr GetClusterManagerResolver(std::string app_id); + }; +}; diff --git a/redhawk/src/base/include/ossie/debug.h b/redhawk/src/base/include/ossie/debug.h index a866c8c91..35ddaf90c 100644 --- a/redhawk/src/base/include/ossie/debug.h +++ b/redhawk/src/base/include/ossie/debug.h @@ -73,7 +73,7 @@ #define _RH_LOG( level, logger, msg) \ if ( logger && logger->is##level##Enabled() ) { \ std::ostringstream _msg; \ - _msg << msg; \ + _msg << msg; \ logger->handleLogEvent( rh_logger::Level::get##level(), _msg.str(), rh_logger::spi::LocationInfo(__FILE__,__PRETTY_FUNCTION__,__LINE__) ); \ } diff --git a/redhawk/src/base/include/ossie/logging/rh_logger.h b/redhawk/src/base/include/ossie/logging/rh_logger.h index a2962893c..8d5edd2be 100644 --- a/redhawk/src/base/include/ossie/logging/rh_logger.h +++ b/redhawk/src/base/include/ossie/logging/rh_logger.h @@ -20,7 +20,7 @@ #ifndef RH_LOGGER_H #define RH_LOGGER_H -#include +#include #include #include #include diff --git a/redhawk/src/base/include/ossie/shm/Heap.h b/redhawk/src/base/include/ossie/shm/Heap.h index cd23f02ac..7ab34bd44 100644 --- a/redhawk/src/base/include/ossie/shm/Heap.h +++ b/redhawk/src/base/include/ossie/shm/Heap.h @@ -52,7 +52,7 @@ namespace redhawk { const std::string& name() const; private: - struct Pool; + class Pool; // Non-copyable, non-assignable Heap(const Heap&); diff --git a/redhawk/src/base/include/ossie/shm/MappedFile.h b/redhawk/src/base/include/ossie/shm/MappedFile.h index a3503e0fe..a5a289199 100644 --- a/redhawk/src/base/include/ossie/shm/MappedFile.h +++ b/redhawk/src/base/include/ossie/shm/MappedFile.h @@ -35,7 +35,7 @@ namespace redhawk { READWRITE }; - static const size_t PAGE_SIZE; + static const size_t SC_PAGE_SIZE; MappedFile(const std::string& name); ~MappedFile(); diff --git a/redhawk/src/base/plugin/Makefile.am b/redhawk/src/base/plugin/Makefile.am index 4c8333e58..a63e13a1b 100644 --- a/redhawk/src/base/plugin/Makefile.am +++ b/redhawk/src/base/plugin/Makefile.am @@ -18,4 +18,4 @@ # along with this program. If not, see http://www.gnu.org/licenses/. # -SUBDIRS = logcfg +SUBDIRS = clustermgr logcfg diff --git a/redhawk/src/base/plugin/clustermgr/EmptyResolver.cpp b/redhawk/src/base/plugin/clustermgr/EmptyResolver.cpp new file mode 100644 index 000000000..509961120 --- /dev/null +++ b/redhawk/src/base/plugin/clustermgr/EmptyResolver.cpp @@ -0,0 +1,31 @@ + +#include "EmptyResolver.h" + +EmptyResolver::EmptyResolver (std::string app_id) : ClusterManagerResolver(app_id) { +} + +void EmptyResolver::openComponentConfigFile(redhawk::PropertyMap execParameters, std::string entryPoint, std::string image) { + return; +} + +void EmptyResolver::closeComponentConfigFile(std::string identifier) {} + +int EmptyResolver::launchComponent(std::string comp_id){ + return 9999; +} + +bool EmptyResolver::pollStatusActive(std::string name) { + return false; +} + +bool EmptyResolver::pollStatusTerminated (std::string name) { + return false; +} + +void EmptyResolver::deleteComponent(std::string name) { +} + +bool EmptyResolver::isTerminated(std::string name) { + return false; +} + diff --git a/redhawk/src/base/plugin/clustermgr/EmptyResolver.h b/redhawk/src/base/plugin/clustermgr/EmptyResolver.h new file mode 100644 index 000000000..e1bfab105 --- /dev/null +++ b/redhawk/src/base/plugin/clustermgr/EmptyResolver.h @@ -0,0 +1,31 @@ +#ifndef DOCKER_RESOLVER +#define DOCKER_RESOLVER + +#include +#include +#include +#include +#include + +#include +#include + +#include "yaml-cpp/yaml.h" + +class EmptyResolver : public ossie::cluster::ClusterManagerResolver { + public: + EmptyResolver (std::string app_id); + virtual ~EmptyResolver(){} + + virtual void openComponentConfigFile(redhawk::PropertyMap execParameters, std::string entryPoint, std::string image); + virtual void closeComponentConfigFile(std::string identifier); + + virtual int launchComponent(std::string comp_id); + virtual void deleteComponent(std::string name); + + virtual bool pollStatusActive(std::string name); + virtual bool pollStatusTerminated (std::string name); + virtual bool isTerminated(std::string name); +}; + +#endif diff --git a/redhawk/src/base/plugin/clustermgr/Makefile.am b/redhawk/src/base/plugin/clustermgr/Makefile.am new file mode 100644 index 000000000..9ed5aed94 --- /dev/null +++ b/redhawk/src/base/plugin/clustermgr/Makefile.am @@ -0,0 +1,35 @@ +# +# This file is protected by Copyright. Please refer to the COPYRIGHT file +# distributed with this source distribution. +# +# This file is part of REDHAWK core. +# +# REDHAWK core is free software: you can redistribute it and/or modify it under +# the terms of the GNU Lesser General Public License as published by the Free +# Software Foundation, either version 3 of the License, or (at your option) any +# later version. +# +# REDHAWK core is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more +# details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# + +AM_CPPFLAGS = -I../../include + +ACLOCAL_AMFLAGS = -I m4 -I${OSSIEHOME}/share/aclocal/ossie +AUTOMAKE_OPTIONS = subdir-objects + +lib_LTLIBRARIES = libossiecluster.la + +distclean-local: + rm -rf m4 + rm -rf .deps/ .libs/ Makefile Makefile.in *m4 autom4te.cache/ config.* configure depcomp install-sh libossiecluster* libtool ltmain.sh missing + +libossiecluster_la_SOURCES = clustermgr.cpp EmptyResolver.cpp +libossiecluster_la_LIBADD = $(REDHAWK_LIBS) -lyaml-cpp +libossiecluster_la_CXXFLAGS = -Wall +libossiecluster_la_CXXFLAGS += $(REDHAWK_CFLAGS) $(BOOST_CPPFLAGS) diff --git a/redhawk/src/base/plugin/clustermgr/clustermgr.cpp b/redhawk/src/base/plugin/clustermgr/clustermgr.cpp new file mode 100644 index 000000000..a838cb9c6 --- /dev/null +++ b/redhawk/src/base/plugin/clustermgr/clustermgr.cpp @@ -0,0 +1,8 @@ +#include +#include +#include + +#include "EmptyResolver.h" +#include "yaml-cpp/yaml.h" + +MAKE_CLUSTER_FACTORY(EmptyResolver); diff --git a/redhawk/src/base/plugin/clustermgr/clustertype/.gitignore b/redhawk/src/base/plugin/clustermgr/clustertype/.gitignore new file mode 100644 index 000000000..28e6741ff --- /dev/null +++ b/redhawk/src/base/plugin/clustermgr/clustertype/.gitignore @@ -0,0 +1,3 @@ +!tempates/Makefile.am +Makefile.am +clustermgr.cpp diff --git a/redhawk/src/base/plugin/clustermgr/clustertype/DockerResolver.cpp b/redhawk/src/base/plugin/clustermgr/clustertype/DockerResolver.cpp new file mode 100644 index 000000000..4ba689927 --- /dev/null +++ b/redhawk/src/base/plugin/clustermgr/clustertype/DockerResolver.cpp @@ -0,0 +1,144 @@ + +#include "DockerResolver.h" +#include "systemCallLib.h" + +DockerResolver::DockerResolver (std::string app_id) : ClusterManagerResolver(app_id) { +} + +void DockerResolver::openComponentConfigFile(redhawk::PropertyMap execParameters, std::string entryPoint, std::string image) { + redhawk::PropertyMap _execParameters = execParameters; + std::string _entryPoint = entryPoint; + std::string _image = image; + + std::transform(_image.begin(), _image.end(), _image.begin(), ::tolower); + + std::string comp_id = _execParameters["COMPONENT_IDENTIFIER"].toString(); + std::string name = comp_id; + name.erase(std::remove(name.begin(), name.end(), ':'), name.end()); + name.erase(std::remove(name.begin(), name.end(), '_'), name.end()); + name.erase(std::remove(name.begin(), name.end(), '.'), name.end()); + validNamesMap.insert(std::pair(comp_id, name)); + + RH_NL_DEBUG("Cluster", "Attempting to Execute " << _entryPoint); + std::string cmd = std::string("docker run --rm -d --network host -P --name " + name + " " + _image + " '/var/redhawk/sdr/dom" + _entryPoint + " NAMING_CONTEXT_IOR " + _execParameters["NAMING_CONTEXT_IOR"].toString() + + " PROFILE_NAME " + _execParameters["PROFILE_NAME"].toString() + " NAME_BINDING " + _execParameters["NAME_BINDING"].toString() + " COMPONENT_IDENTIFIER " + _execParameters["COMPONENT_IDENTIFIER"].toString() + " DEBUG_LEVEL 5" + "'"); + + RH_NL_INFO("Cluster", cmd.c_str()); + + std::string output = GetStdoutFromCommand(cmd.c_str()); + output.erase(std::remove(output.begin(), output.end(), '\n'), output.end()); + RH_NL_INFO("Cluster", output); + + return; +} + +void DockerResolver::closeComponentConfigFile(std::string identifier) {} + +int DockerResolver::launchComponent(std::string comp_id){ + return 9999; +} + +bool DockerResolver::pollStatusActive(std::string name) { + std::map::iterator valuePair; + std::string validName; + if ((valuePair = validNamesMap.find(name)) != validNamesMap.end()) { + validName = validNamesMap.find(name)->second; + } + else { + RH_NL_TRACE("Cluster", "The name "+name+" has not been registered before with docker"); + return false; + } + RH_NL_TRACE("Cluster", "Check active " + validName); + + //docker container ls --filter "name=HardLimit1testalltypes0671422368981" --format '{{json .Status}}' + std::string cmd = std::string("docker container ls --filter \"name=" + validName + "\" --format '{{json .Status}}'"); + double timeout = 30.00; + time_t start; + time_t now; + RH_NL_TRACE("Cluster", "Container " + validName + "is registered: Checking its status"); + start = std::time(NULL); + now = std::time(NULL); + while (now-start <= timeout) { + std::string status = GetStdoutFromCommand(cmd); + RH_NL_TRACE("Cluster", cmd << " resulted in " << status) + if (status.find("Up") != std::string::npos) { + return true; + } + now = std::time(NULL); + } + return false; +} + +bool DockerResolver::pollStatusTerminated (std::string name) { + std::map::iterator valuePair; + std::string validName; + if ((valuePair = validNamesMap.find(name)) != validNamesMap.end()) { + validName = validNamesMap.find(name)->second; + } + else { + RH_NL_TRACE("Cluster", "The name "+name+" has not been registered before with docker"); + return false; + } + RH_NL_TRACE("Cluster", "Check termination " + name + " " + validName); + + std::string cmd = std::string("docker container ls --filter \"name=" + validName + "\" --format '{{json .Status}}'"); + double timeout = 30.00; + time_t start; + time_t now; + RH_NL_TRACE("Cluster", "Pod " + validName + "is registered: Checking its status"); + start = std::time(NULL); + now = std::time(NULL); + while (now-start <= timeout) { + std::string status = GetStdoutFromCommand(cmd); + RH_NL_TRACE("Cluster", cmd << " resulted in " << status) + if (status == "") { + return true; + } + now = std::time(NULL); + } + return false; +} + +void DockerResolver::deleteComponent(std::string name) { + std::map::iterator valuePair; + std::string validName; + if ((valuePair = validNamesMap.find(name)) != validNamesMap.end()) { + validName = validNamesMap.find(name)->second; + } + else { + RH_NL_TRACE("Cluster", "The name "+name+" has not been registered before with docker"); + return; + } + + RH_NL_TRACE("Cluster", "delete component " + name + " " + validName); + + std::string cmd = std::string("docker container rm -f \"" + validName + "\""); + RH_NL_TRACE("Cluster", cmd) + + std::string output = GetStdoutFromCommand(cmd.c_str()); + output.erase(std::remove(output.begin(), output.end(), '\n'), output.end()); + RH_NL_INFO("Cluster", output); +} + +bool DockerResolver::isTerminated(std::string name) { + std::map::iterator valuePair; + std::string validName; + if ((valuePair = validNamesMap.find(name)) != validNamesMap.end()) { + validName = validNamesMap.find(name)->second; + } + else { + RH_NL_TRACE("Cluster", "The name "+name+" has not been registered before with docker"); + return false; + } + RH_NL_TRACE("Cluster", "Check terminated " + name + " " + validName); + + std::string cmd = std::string("docker container ls --filter \"name=" + validName + "\" --format '{{json .Status}}'"); + std::string status = GetStdoutFromCommand(cmd); + + RH_NL_TRACE("Cluster", "Status with an output of \""+status + "\"") + if (status == "") { + return true; + } + return false; +} + diff --git a/redhawk/src/base/plugin/clustermgr/clustertype/DockerResolver.h b/redhawk/src/base/plugin/clustermgr/clustertype/DockerResolver.h new file mode 100644 index 000000000..1e056fbfb --- /dev/null +++ b/redhawk/src/base/plugin/clustermgr/clustertype/DockerResolver.h @@ -0,0 +1,31 @@ +#ifndef DOCKER_RESOLVER +#define DOCKER_RESOLVER + +#include +#include +#include +#include +#include + +#include +#include + +#include "yaml-cpp/yaml.h" + +class DockerResolver : public ossie::cluster::ClusterManagerResolver { + public: + DockerResolver (std::string app_id); + virtual ~DockerResolver(){} + + virtual void openComponentConfigFile(redhawk::PropertyMap execParameters, std::string entryPoint, std::string image); + virtual void closeComponentConfigFile(std::string identifier); + + virtual int launchComponent(std::string comp_id); + virtual void deleteComponent(std::string name); + + virtual bool pollStatusActive(std::string name); + virtual bool pollStatusTerminated (std::string name); + virtual bool isTerminated(std::string name); +}; + +#endif diff --git a/redhawk/src/base/plugin/clustermgr/clustertype/DockerSwarmResolver.cpp b/redhawk/src/base/plugin/clustermgr/clustertype/DockerSwarmResolver.cpp new file mode 100644 index 000000000..5fed42071 --- /dev/null +++ b/redhawk/src/base/plugin/clustermgr/clustertype/DockerSwarmResolver.cpp @@ -0,0 +1,292 @@ +#include "DockerSwarmResolver.h" + +#include +#include + +#include "systemCallLib.h" + +DockerSwarmResolver::DockerSwarmResolver (std::string app_id) : ClusterManagerResolver(app_id) { + char* ossiehome; + ossiehome = getenv("OSSIEHOME"); + if (ossiehome == NULL) { + throw "OSSIEHOME not found"; + } + std::string cluster_file = "/usr/local/redhawk/core/cluster.cfg"; + boost::property_tree::ptree pt; + boost::property_tree::ini_parser::read_ini(cluster_file, pt); + + std::string name = pt.get("CLUSTER.name"); + registry = pt.get(name+".registry"); + tag = pt.get(name+".tag"); + key = pt.get(name+".key"); + user = pt.get(name+".user"); + ip = pt.get(name+".ip"); + docker_login_cmd = pt.get(name+".docker_login_cmd"); + + _longest_name = 0; + timeout = 120.0; + ssh_cmd = "ssh -i " + key + " "+user+"@"+ip; + scp_cmd = "scp -i " + key; + docker_login = ssh_cmd + " " + docker_login_cmd; + + // Run docker_login_cmd on the Manager Node over SSH + std::string output = GetStdoutFromCommand(docker_login.c_str()); + output.erase(std::remove(output.begin(), output.end(), '\n'), output.end()); + RH_NL_INFO("Cluster", output); + + // Begin yaml + yaml << YAML::BeginMap; + + // Version information + yaml << YAML::Key << "version"; + yaml << YAML::SingleQuoted << "3"; + + + yaml << YAML::Key << "networks"; + yaml << YAML::Value << YAML::BeginMap; + yaml << YAML::Key << "outside"; + yaml << YAML::Value << YAML::BeginMap; + yaml << YAML::Key << "external"; + yaml << YAML::Value << YAML::BeginMap; + yaml << YAML::Key << "name"; + yaml << YAML::Value << "host"; + yaml << YAML::EndMap; + yaml << YAML::EndMap; + yaml << YAML::EndMap; + + // Services + yaml << YAML::Key << "services"; + yaml << YAML::Value; + + yaml << YAML::BeginMap; +} + + +void DockerSwarmResolver::openComponentConfigFile(redhawk::PropertyMap execParameters, std::string entryPoint, std::string image) { + + RH_NL_TRACE("Cluster", "Adding to Yaml file") + std::string naming_context_ior = execParameters["NAMING_CONTEXT_IOR"].toString(); + std::string name_binding = execParameters["NAME_BINDING"].toString(); + std::string comp_id = execParameters["COMPONENT_IDENTIFIER"].toString(); + std::string profile_name = execParameters["PROFILE_NAME"].toString(); + + std::string usage = name_binding; + std::transform(usage.begin(), usage.end(), usage.begin(), ::tolower); + usage.erase(std::remove(usage.begin(), usage.end(), ':'), usage.end()); + usage.erase(std::remove(usage.begin(), usage.end(), '_'), usage.end()); + usage.erase(std::remove(usage.begin(), usage.end(), '.'), usage.end()); + + // Update the _stack each time if it is too short + // This way it will be a good length when finally applied + if (usage.length() > _longest_name) { + _longest_name = usage.length(); + } + + yaml << YAML::Key << usage << YAML::Value; + + validNamesMap.insert(std::pair(comp_id, usage)); + //validNames.push_back(usage); + + // Begin Service map + yaml << YAML::BeginMap; + + // Add image info + yaml << YAML::Key << "deploy"; + yaml << YAML::Value << YAML::BeginMap; + yaml << YAML::Key << "placement"; + yaml << YAML::Value << YAML::BeginMap; + yaml << YAML::Key << "constraints"; + yaml << YAML::BeginSeq; + yaml << YAML::Value << "node.role == worker"; + yaml << YAML::EndSeq; + yaml << YAML::EndMap; + yaml << YAML::EndMap; + + if (entryPoint.find("python") != std::string::npos) { + yaml << YAML::Key << "command"; + yaml << YAML::Value; + std::stringstream ss; + yaml << YAML::BeginSeq; + ss << "/var/redhawk/sdr/dom" + entryPoint; + ss << " NAMING_CONTEXT_IOR "; + ss << naming_context_ior; + ss << " PROFILE_NAME "; + ss << profile_name; + ss << " NAME_BINDING "; + ss << name_binding; + ss << " COMPONENT_IDENTIFIER " ; + ss << comp_id; + yaml << ss.str(); + yaml << YAML::EndSeq; + } + else { + yaml << YAML::Key << "entrypoint"; + yaml << YAML::Value; + yaml << YAML::BeginSeq; + yaml << "/var/redhawk/sdr/dom" + entryPoint; + yaml << "NAMING_CONTEXT_IOR"; + yaml << naming_context_ior; + yaml << "PROFILE_NAME"; + yaml << profile_name; + yaml << "NAME_BINDING"; + yaml << name_binding; + yaml << "COMPONENT_IDENTIFIER"; + yaml << comp_id; + yaml << YAML::EndSeq; + } + + yaml << YAML::Key << "image"; + std::string full_image = registry + "/" + image; + yaml << YAML::Value << full_image; + + yaml << YAML::Key << "networks"; + yaml << YAML::Value; + yaml << YAML::BeginSeq; + yaml << "outside"; + yaml << YAML::EndSeq; + + yaml << YAML::EndMap; +} + +void DockerSwarmResolver::closeComponentConfigFile(std::string identifier) { + open_tmp_file(); + + RH_NL_TRACE("Cluster", filename); + yaml << YAML::EndMap; + + // End + yaml << YAML::EndMap; + + std::ofstream swarmFile; + swarmFile.open(filename.c_str()); + swarmFile << yaml.c_str() << std::endl; + swarmFile.close(); +} + +int DockerSwarmResolver::launchComponent(std::string comp_id) { + + + _stack = comp_id; + _stack.erase(std::remove(_stack.begin(), _stack.end(), ':'), _stack.end()); + _stack.erase(std::remove(_stack.begin(), _stack.end(), '_'), _stack.end()); + _stack.erase(std::remove(_stack.begin(), _stack.end(), '.'), _stack.end()); + + int full_stack_name = _longest_name + 1 + _stack.length(); + if (full_stack_name > 63) { + RH_NL_WARN("Cluster", "The name was longer than 63 characters now truncating") + int skip = (full_stack_name - 63); + _stack = _stack.substr(skip); + } + std::string cmd = ""; + if (/*entryPoint.find("python") != std::string::npos*/ false) { //If a python component + RH_NL_DEBUG("Cluster", "Python type component detected"); + /*cmd = std::string(ssh_cmd + " \"docker service create -q --network host --name " + stack + " --with-registry-auth " + image_full + " '/var/redhawk/sdr/dom" + entryPoint + " NAMING_CONTEXT_IOR " + execParameters["NAMING_CONTEXT_IOR"].toString() + + " PROFILE_NAME " + execParameters["PROFILE_NAME"].toString() + " NAME_BINDING " + execParameters["NAME_BINDING"].toString() + " COMPONENT_IDENTIFIER " + execParameters["COMPONENT_IDENTIFIER"].toString() + " DEBUG_LEVEL 5'\"");*/ + } + else { // if a C++ component + cmd = std::string(ssh_cmd + " \"docker stack deploy --compose-file "+filename+" "+ _stack +" --with-registry-auth\""); + } + + std::string copy_file = scp_cmd + " " + filename + " " + user + "@" + ip + ":/tmp/"; + std::string copy_output = GetStdoutFromCommand(copy_file.c_str()); + copy_output.erase(std::remove(copy_output.begin(), copy_output.end(), '\n'), copy_output.end()); + RH_NL_INFO("Cluster", copy_output); + + RH_NL_TRACE("Cluster", cmd) + + std::string output = GetStdoutFromCommand(cmd.c_str()); + output.erase(std::remove(output.begin(), output.end(), '\n'), output.end()); + RH_NL_INFO("Cluster", output); + + // Unable to use return code of system call to track stack status + return 9999; +} + +bool DockerSwarmResolver::pollStatusActive(std::string name) { + std::map::iterator valuePair; + std::string validName; + if ((valuePair = validNamesMap.find(name)) != validNamesMap.end()) { + validName = validNamesMap.find(name)->second; + } + else { + RH_NL_TRACE("Cluster", "The name "+name+" has not been registered before with docker"); + return false; + } + RH_NL_TRACE("Cluster", "Check active " + validName); + + //arguments = SSH_CMD + ' "" $SSH_CMD "docker stack ps -f \"name=${STACK}_$COMPNAME\" $STACK --format '{{.CurrentState}}'" + std::string cmd = ssh_cmd + std::string(" \"docker stack ps -f \"name=" + _stack + "_" + validName + "\" "+ _stack + " --format \'{{.CurrentState}}\'\""); + std::string expected_statuses [] = {"Running"}; + std::string status = ""; + return pollComponent(_stack, expected_statuses, 1, cmd, timeout, status); +} + +bool DockerSwarmResolver::pollStatusTerminated (std::string name) { + std::map::iterator valuePair; + std::string validName; + if ((valuePair = validNamesMap.find(name)) != validNamesMap.end()) { + validName = validNamesMap.find(name)->second; + } + else { + RH_NL_TRACE("Cluster", "The name "+name+" has not been registered before with docker"); + return false; + } + RH_NL_TRACE("Cluster", "Check termination " + validName); + + std::string cmd = ssh_cmd + std::string(" \"docker stack ps -f \"name=" + _stack + "_" + validName + "\" "+ _stack + " --format \'{{.CurrentState}}\'\""); + std::string expected_statuses [] = {"Complete", "Failed", "Rejected", "nothing found", "Shutdown"}; + std::string status = ""; + return pollComponent(_stack, expected_statuses, 5, cmd, timeout, status); +} + +void DockerSwarmResolver::deleteComponent(std::string name) { + std::map::iterator valuePair; + std::string validName; + if ((valuePair = validNamesMap.find(name)) != validNamesMap.end()) { + validName = validNamesMap.find(name)->second; + } + else { + RH_NL_TRACE("Cluster", "The name "+name+" has not been registered before with docker"); + return; + } + RH_NL_TRACE("Cluster", "Delete " + validName); + + // if component is a ClusterType, call kubectl delete pod + RH_NL_TRACE("Cluster", "releaseObject is attempting to delete stack " + _stack); + std::string cmd = ssh_cmd + std::string(" \"docker stack rm " + _stack +"\" &"); + RH_NL_TRACE("Cluster", cmd.c_str()); + + std::string output = GetStdoutFromCommand(cmd.c_str()); + output.erase(std::remove(output.begin(), output.end(), '\n'), output.end()); + RH_NL_INFO("Cluster", output); + + close_tmp_file(); +} + +bool DockerSwarmResolver::isTerminated(std::string name) { + std::map::iterator valuePair; + std::string validName; + if ((valuePair = validNamesMap.find(name)) != validNamesMap.end()) { + validName = validNamesMap.find(name)->second; + } + else { + RH_NL_TRACE("Cluster", "The name "+name+" has not been registered before with docker"); + return false; + } + RH_NL_TRACE("Cluster", "Check is terminated " + validName); + + std::string cmd = ssh_cmd + std::string(" \"docker stack ps -f \"name=" + _stack + "_" + validName + "\" "+ _stack + " --format \'{{.CurrentState}}\'\""); + std::string status = GetStdoutFromCommand(cmd); + status.erase(std::remove(status.begin(), status.end(), '\n'), status.end()); + // Check that the Status is something that indicates it is at least trying to come up + RH_NL_TRACE("Cluster", "Executing "+cmd+" with an output of "+status) + if (status.find("Complete") != std::string::npos || status.find("Rejected") != std::string::npos || status.find("Fail") != std::string::npos || status.find("no such service") != std::string::npos || status.find("nothing found") != std::string::npos) { + RH_NL_DEBUG("Cluster", "Termination reporting 'true'") + return true; + } + else { + RH_NL_DEBUG("Cluster", "Termination reporting 'false'") + return false; + } + +} diff --git a/redhawk/src/base/plugin/clustermgr/clustertype/DockerSwarmResolver.h b/redhawk/src/base/plugin/clustermgr/clustertype/DockerSwarmResolver.h new file mode 100644 index 000000000..b663cb9e1 --- /dev/null +++ b/redhawk/src/base/plugin/clustermgr/clustertype/DockerSwarmResolver.h @@ -0,0 +1,44 @@ +#ifndef DOCKER_SWARM +#define DOCKER_SWARM + +#include +#include +#include +#include + +#include "yaml-cpp/yaml.h" + +class DockerSwarmResolver : public ossie::cluster::ClusterManagerResolver { + public: + DockerSwarmResolver (std::string app_id); + + virtual ~DockerSwarmResolver(){} + + virtual void openComponentConfigFile(redhawk::PropertyMap execParameters, std::string entryPoint, std::string image); + virtual void closeComponentConfigFile(std::string identifier); + + virtual int launchComponent(std::string comp_id); + virtual void deleteComponent(std::string name); + + virtual bool pollStatusActive(std::string name); + virtual bool pollStatusTerminated (std::string name); + + virtual bool isTerminated(std::string name); + private: + std::string _stack; + size_t _longest_name; + + std::string user; + std::string key; + std::string ip; + std::string registry; + std::string tag; + + std::string ssh_cmd; + std::string scp_cmd; + std::string docker_login; + std::string docker_login_cmd; + +}; + +#endif diff --git a/redhawk/src/base/plugin/clustermgr/clustertype/EksKubeResolver.cpp b/redhawk/src/base/plugin/clustermgr/clustertype/EksKubeResolver.cpp new file mode 100644 index 000000000..75c22280c --- /dev/null +++ b/redhawk/src/base/plugin/clustermgr/clustertype/EksKubeResolver.cpp @@ -0,0 +1,300 @@ +#include "EksKubeResolver.h" + +#include "systemCallLib.h" +//#include + +EksKubeResolver::EksKubeResolver (std::string namespace_name) : ClusterManagerResolver(namespace_name) { + timeout = 30.0; + deletedAlready = false; + char* ossiehome; + ossiehome = getenv("OSSIEHOME"); + if (ossiehome == NULL) { + throw "OSSIEHOME not found"; + } + + + //std::string env_output = GetStdoutFromCommand(std::string("env").c_str()); + //std::cout << "Cluster " << env_output << std::endl; + //std::cout << "Cluster " << std::string(ossiehome) << std::endl; + //std::string cluster_file = "/usr/local/redhawk/core/aws/cluster.cfg"; + std::string cluster_file = std::string(ossiehome) + "/cluster.cfg"; + + boost::property_tree::ptree pt; + //std::string cluster_file = "/usr/local/redhawk/core/aws/cluster.cfg"; + boost::property_tree::ini_parser::read_ini(cluster_file, pt); + + registry = pt.get("EksKube.registry"); + tag = pt.get("EksKube.tag"); + dockerconfigjson = pt.get("EksKube.dockerconfigjson"); + + /* + ifstream f(cluster_file.c_str()); + if (f.good()) { + + boost::property_tree::ptree pt; + boost::property_tree::ini_parser::read_ini(cluster_file, pt); + + std::string name = pt.get("CLUSTER.name"); + registry = pt.get(name+".registry"); + tag = pt.get(name+".tag"); + dockerconfigjson = pt.get(name+".dockerconfigjson"); + } + else { + registry = ""; + tag = ""; + dockerconfigjson = "" + }*/ + + std::string user = std::getenv("USER"); + std::string docker_login = "aws --profile="+user+" ecr get-login-password --region us-gov-west-1 | docker login --username AWS --password-stdin " + registry; + + //std::string output = GetStdoutFromCommand(docker_login.c_str()); + //output.erase(std::remove(output.begin(), output.end(), '\n'), output.end()); + //RH_NL_INFO("Cluster", output); + + + /* Start k8s YAML */ + // Configure registry secret + std::string name = "waveform-"; + int full_name = std::string(name).length() + namespace_name.length(); + if (full_name > 63) { + RH_NL_WARN("Cluster", "The name was longer than 63 characters now truncating") + int skip = (full_name - 63); + namespace_name = namespace_name.substr(skip); + } + wave_namespace = name +namespace_name; + std::transform(wave_namespace.begin(), wave_namespace.end(), wave_namespace.begin(), ::tolower); + wave_namespace.erase(std::remove(wave_namespace.begin(), wave_namespace.end(), ':'), wave_namespace.end()); + wave_namespace.erase(std::remove(wave_namespace.begin(), wave_namespace.end(), '_'), wave_namespace.end()); + wave_namespace.erase(std::remove(wave_namespace.begin(), wave_namespace.end(), '.'), wave_namespace.end()); + + configureNamespace(); + configureRegistrySecret(); +} + +void EksKubeResolver::configureRegistrySecret() { + yaml << YAML::BeginMap; + + yaml << YAML::Key << "apiVersion" << YAML::Value << "v1"; + + yaml << YAML::Key << "data"; + yaml << YAML::Value << YAML::BeginMap; + yaml << YAML::Key << ".dockerconfigjson"; + yaml << YAML::Value << dockerconfigjson; + yaml << YAML::EndMap; + + yaml << YAML::Key << "kind" << YAML::Value << "Secret"; + + yaml << YAML::Key << "metadata"; + yaml << YAML::Value << YAML::BeginMap; + yaml << YAML::Key << "name" << YAML::Value << "regcred"; + yaml << YAML::Key << "namespace" << YAML::Value << wave_namespace; + yaml << YAML::EndMap; + + yaml << YAML::Key << "type" << YAML::Value << "kubernetes.io/dockerconfigjson"; + + yaml << YAML::EndMap; + +} + +EksKubeResolver::~EksKubeResolver() { +} + +void EksKubeResolver::configureNamespace() { + yaml << YAML::BeginMap; + + yaml << YAML::Key << "apiVersion" << YAML::Value << "v1"; + + yaml << YAML::Key << "kind" << YAML::Value << "Namespace"; + + yaml << YAML::Key << "metadata"; + yaml << YAML::Value << YAML::BeginMap; + yaml << YAML::Key << "name" << YAML::Value << wave_namespace; + yaml << YAML::Key << "labels" << YAML::BeginMap; + yaml << YAML::Key << "name" << YAML::Value << wave_namespace; + yaml << YAML::EndMap; + yaml << YAML::EndMap; + + yaml << YAML::EndMap; +} + +void EksKubeResolver::openComponentConfigFile(redhawk::PropertyMap execParameters, std::string entryPoint, std::string image) { + + RH_NL_TRACE("Cluster", "Adding to Yaml file") + std::string naming_context_ior = execParameters["NAMING_CONTEXT_IOR"].toString(); + std::string name_binding = execParameters["NAME_BINDING"].toString(); + std::string comp_id = execParameters["COMPONENT_IDENTIFIER"].toString(); + std::string profile_name = execParameters["PROFILE_NAME"].toString(); + + // Begin yaml + yaml << YAML::BeginMap; + + yaml << YAML::Key << "apiVersion" << YAML::Value << "v1"; + yaml << YAML::Key << "kind" << YAML::Value << "Pod"; + + yaml << YAML::Key << "metadata" << YAML::Value; + yaml << YAML::BeginMap; + std::string name = comp_id + "-container"; + std::transform(name.begin(), name.end(), name.begin(), ::tolower); + name.erase(std::remove(name.begin(), name.end(), ':'), name.end()); + name.erase(std::remove(name.begin(), name.end(), '_'), name.end()); + name.erase(std::remove(name.begin(), name.end(), '.'), name.end()); + yaml << YAML::Key << "name" << YAML::Value << name; + yaml << YAML::Key << "namespace" << YAML::Value << wave_namespace; + validNamesMap.insert(std::pair(comp_id, name)); + yaml << YAML::EndMap; + + yaml << YAML::Key << "spec" << YAML::Value; + yaml << YAML::BeginMap; + yaml << YAML::Key << "containers" << YAML::Value; + yaml << YAML::BeginSeq << YAML::BeginMap; + + std::string full_image = registry + "/" + image + ":" + tag; + yaml << YAML::Key << "image" << YAML::Value << full_image; + std::string image_name = name_binding + "-pod"; + std::transform(image_name.begin(), image_name.end(), image_name.begin(), ::tolower); + image_name.erase(std::remove(image_name.begin(), image_name.end(), ':'), image_name.end()); + image_name.erase(std::remove(image_name.begin(), image_name.end(), '_'), image_name.end()); + image_name.erase(std::remove(image_name.begin(), image_name.end(), '.'), image_name.end()); + yaml << YAML::Key << "name" << YAML::Value << image_name; + + if (entryPoint.find("python") != std::string::npos) { + RH_NL_TRACE("Cluster", "Python type component detected") + yaml << YAML::Key << "args" << YAML::Value; + yaml << YAML::BeginSeq; + std::stringstream ss; + std::string full_entry = std::string(std::getenv("SDRROOT")) + "/dom" + entryPoint + " "; + ss << full_entry; + ss << " NAMING_CONTEXT_IOR "; + ss << naming_context_ior; + ss << " PROFILE_NAME "; + ss << profile_name; + ss << " NAME_BINDING "; + ss << name_binding; + ss << " COMPONENT_IDENTIFIER "; + ss << comp_id; + yaml << ss.str(); + yaml << YAML::EndSeq; + } + else { + yaml << YAML::Key << "command" << YAML::Value; + yaml << YAML::BeginSeq; + std::string full_entry = std::string(std::getenv("SDRROOT")) + "/dom" + entryPoint; + yaml << full_entry; + yaml << "NAMING_CONTEXT_IOR"; + yaml << naming_context_ior; + yaml << "PROFILE_NAME"; + yaml << profile_name; + yaml << "NAME_BINDING"; + yaml << name_binding; + yaml << "COMPONENT_IDENTIFIER"; + yaml << comp_id; + yaml << YAML::EndSeq; + } + yaml << YAML::EndMap << YAML::EndSeq; + + yaml << YAML::Key << "imagePullSecrets" << YAML::Value; + yaml << YAML::BeginSeq << YAML::BeginMap; + yaml << YAML::Key << "name" << YAML::Value << "regcred"; + yaml << YAML::EndMap << YAML::EndSeq; + yaml << YAML::EndMap; + + // End yaml + yaml << YAML::EndMap; +} + +void EksKubeResolver::closeComponentConfigFile(std::string identifier) { + RH_NL_TRACE("Cluster", "Closing file"); + yaml << YAML::EndMap; + + open_tmp_file(); + + RH_NL_TRACE("Cluster", filename); + std::ofstream k8sFile; + k8sFile.open(filename.c_str()); + k8sFile << yaml.c_str() << std::endl; + k8sFile.close(); +} + +int EksKubeResolver::launchComponent(std::string identifier) { + std::string cmd = std::string("kubectl apply -f " + filename); + RH_NL_TRACE("Cluster", cmd); + + std::string output = GetStdoutFromCommand(cmd.c_str()); + output.erase(std::remove(output.begin(), output.end(), '\n'), output.end()); + RH_NL_INFO("Cluster", output); + + // Unable to use return code of system call to track pod status; successful kubectl invocation not indicative of pod status + // must call kubectl get pod SOMEHOW. Best option is to have it be triggered by successful CORBA registration. Upon registration, + // make the call and record and set pod status. + return 9999; +} + +bool EksKubeResolver::pollStatusActive(std::string name) { + std::string validName = validNamesMap.find(name)->second; + RH_NL_TRACE("Cluster", "Check active " + validName); + + bool all_active = true; + RH_NL_TRACE("Cluster", "Check activation"); + //std::string cmd = std::string("kubectl get pod " + name + " -o=jsonpath={.status.phase}"); + std::string cmd = std::string("kubectl get pod " + validName + " -n " + wave_namespace + " | grep -v NAME | awk '{ print $3 }'"); + std::string expected_statuses [] = {"Running"}; + std::string status = ""; + if(!pollComponent(validName, expected_statuses, 1, cmd, timeout, status)) { + all_active = false; + } + return all_active; +} + +void EksKubeResolver::deleteComponent(std::string name) { + if (deletedAlready) { + RH_NL_TRACE("Cluster", "This component " + name + " is already being deleted"); + return; + } + // if component is a ClusterType, call kubectl delete pod + RH_NL_TRACE("Cluster", "releaseObject is attempting to delete pod " + filename); + std::string cmd = std::string("kubectl delete --ignore-not-found -f " + filename + " &"); + RH_NL_TRACE("Cluster", cmd.c_str()); + + std::string output = GetStdoutFromCommand(cmd.c_str(), false); + output.erase(std::remove(output.begin(), output.end(), '\n'), output.end()); + RH_NL_INFO("Cluster", output); + deletedAlready = true; + + close_tmp_file(); +} + +bool EksKubeResolver::pollStatusTerminated (std::string name) { + std::string validName = validNamesMap.find(name)->second; + RH_NL_TRACE("Cluster", "Check termination " + validName); + + bool all_terminated = true; + //std::string cmd = std::string("kubectl get pod " + name + " -o=jsonpath={.status.phase}"); + std::string cmd = std::string("kubectl get pod --ignore-not-found " + validName + " -n " + wave_namespace + " | grep -v NAME | awk '{ print $3 }'"); + std::string expected_statuses [] = {"Terminating", "Completed", "CrashLoopBackOff", "not found", ""}; + std::string status = ""; + if(pollComponent(validName, expected_statuses, 5, cmd, timeout, status)) { + all_terminated = false; + } + return all_terminated; +} + +bool EksKubeResolver::isTerminated(std::string name) { + // Check that the Status is something that indicates it is at least trying to come up + std::string validName = validNamesMap.find(name)->second; + RH_NL_TRACE("Cluster", "Status with an output of "+ validName) + std::string cmd = std::string("kubectl get pod --ignore-not-found " + validName + " -n " + wave_namespace + " | grep -v NAME | awk '{ print $3 }'"); + + std::string processStatus = GetStdoutFromCommand(cmd.c_str()); + processStatus.erase(std::remove(processStatus.begin(), processStatus.end(), '\n'), processStatus.end()); + RH_NL_INFO("Cluster", processStatus); + if (processStatus == "Terminating" || processStatus == "Completed" || processStatus == "CrashLoopBackOff" || processStatus.find("not found") != std::string::npos || processStatus.empty()) { + RH_NL_TRACE("Cluster", "Termination reporting 'true'"); + return true; + } + else { + RH_NL_TRACE("Cluster", "Termination reporting 'false'"); + return false; + } + +} diff --git a/redhawk/src/base/plugin/clustermgr/clustertype/EksKubeResolver.h b/redhawk/src/base/plugin/clustermgr/clustertype/EksKubeResolver.h new file mode 100644 index 000000000..7da98051f --- /dev/null +++ b/redhawk/src/base/plugin/clustermgr/clustertype/EksKubeResolver.h @@ -0,0 +1,47 @@ +#ifndef EKS_KUBE +#define EKS_KUBE + +#include +#include +#include + +#include +#include + +#include +#include + +#include "yaml-cpp/yaml.h" + +class EksKubeResolver : public ossie::cluster::ClusterManagerResolver { + public: + EksKubeResolver (std::string app_id); + + virtual ~EksKubeResolver(); + + virtual void openComponentConfigFile(redhawk::PropertyMap execParameters, std::string entryPoint, std::string image); + virtual void closeComponentConfigFile(std::string identifier); + + virtual int launchComponent(std::string identifier); + virtual void deleteComponent(std::string name); + + virtual bool pollStatusActive(std::string name); + virtual bool pollStatusTerminated (std::string name); + + virtual bool isTerminated(std::string name); + + protected: + std::string registry; + std::string tag; + std::string dockerconfigjson; + std::string wave_namespace; + boost::property_tree::ptree pt; + + bool deletedAlready; + + void configureRegistrySecret(); + void configureNamespace(); + +}; + +#endif diff --git a/redhawk/src/base/plugin/clustermgr/clustertype/build.py b/redhawk/src/base/plugin/clustermgr/clustertype/build.py new file mode 100755 index 000000000..a1a2a0a3d --- /dev/null +++ b/redhawk/src/base/plugin/clustermgr/clustertype/build.py @@ -0,0 +1,26 @@ +#!/usr/bin/python + +from jinja2 import Environment, FileSystemLoader +import os +import sys + +cluster = sys.argv[1] + +OSSIEHOME = os.getenv("OSSIEHOME") + +file_loader = FileSystemLoader('templates') +env = Environment(loader=file_loader) + +mgr_template = env.get_template('clustermgr.cpp') + +mgr = mgr_template.render(cluster=cluster) + +with open("clustermgr.cpp", "w") as new_cluster: + new_cluster.write(mgr) + +make_template = env.get_template('Makefile.am') + +make = make_template.render(cluster=cluster) + +with open("Makefile.am", "w") as new_make: + new_make.write(make) diff --git a/redhawk/src/base/plugin/clustermgr/clustertype/configure.ac b/redhawk/src/base/plugin/clustermgr/clustertype/configure.ac new file mode 100644 index 000000000..2a310e374 --- /dev/null +++ b/redhawk/src/base/plugin/clustermgr/clustertype/configure.ac @@ -0,0 +1,29 @@ +AC_INIT(clustermgr, 1.0.0) +AM_INIT_AUTOMAKE([nostdinc foreign]) +AC_CONFIG_MACRO_DIR([m4]) + +AC_PROG_CC +AC_PROG_CXX +AC_PROG_INSTALL +AC_PROG_LIBTOOL + +AC_CORBA_ORB +OSSIE_CHECK_OSSIE +# TODO: Make this an installed macro +OSSIE_SDRROOT_AS_PREFIX +prefix="${OSSIEHOME}" +libdir="${OSSIEHOME}/lib" +AS_IF( [ test `uname -i` == "x86_64" ], [ libdir="$prefix/lib" ], [ libdir="$prefix/lib" ] ) + +m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) + +# Dependencies +PKG_CHECK_MODULES([REDHAWK], [ossie >= 2.0]) +OSSIE_ENABLE_LOG4CXX +AX_BOOST_BASE([1.41]) +AX_BOOST_SYSTEM +AX_BOOST_THREAD +AX_BOOST_REGEX + +AC_CONFIG_FILES([Makefile ]) +AC_OUTPUT diff --git a/redhawk/src/base/plugin/clustermgr/clustertype/reconf b/redhawk/src/base/plugin/clustermgr/clustertype/reconf new file mode 100755 index 000000000..503b5c393 --- /dev/null +++ b/redhawk/src/base/plugin/clustermgr/clustertype/reconf @@ -0,0 +1,5 @@ +#!/bin/sh + +rm -f config.cache +[ -d m4 ] || mkdir m4 +autoreconf -i diff --git a/redhawk/src/base/plugin/clustermgr/clustertype/systemCallLib.h b/redhawk/src/base/plugin/clustermgr/clustertype/systemCallLib.h new file mode 100644 index 000000000..e27b16c64 --- /dev/null +++ b/redhawk/src/base/plugin/clustermgr/clustertype/systemCallLib.h @@ -0,0 +1,78 @@ +/* + * This file is protected by Copyright. Please refer to the COPYRIGHT file + * distributed with this source distribution. + * + * This file is part of REDHAWK core. + * + * REDHAWK core is free software: you can redistribute it and/or modify it + * under the terms of the GNU Lesser General Public License as published by the + * Free Software Foundation, either version 3 of the License, or (at your + * option) any later version. + * + * REDHAWK core is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License + * for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this program. If not, see http://www.gnu.org/licenses/. + */ +#ifndef SYSTEM_CALL_LIB +#define SYSTEM_CALL_LIB + +/* + * + */ +std::string GetStdoutFromCommand(std::string cmd, bool daemon = false) { + + std::string data; + FILE * stream; + const int max_buffer = 256; + char buffer[max_buffer]; + if (daemon) { + cmd.append(" 2>&1 &"); + } + else { + cmd.append(" 2>&1"); + } + + if (daemon) { + stream = popen(cmd.c_str(), "r"); + } + else { + stream = popen(cmd.c_str(), "r"); + RH_NL_TRACE("systemCallLib", "Getting cmd " << cmd) + if (stream) { + while (!feof(stream)) + if (fgets(buffer, max_buffer, stream) != NULL) data.append(buffer); + pclose(stream); + } + } + return data; +} + +/* + * + */ +bool pollComponent(std::string name, std::string *expected_status, int len, std::string cmd, double timeout, std::string& status) { + time_t start; + time_t now; + RH_NL_TRACE("systemCallLib", "Pod " + name + "is registered: Checking its status"); + start = std::time(NULL); + now = std::time(NULL); + while (now-start <= timeout) { + status = GetStdoutFromCommand(cmd); + status.erase(std::remove(status.begin(), status.end(), '\n'), status.end()); + RH_NL_TRACE("systemCallLib", "Pod " + name + " status: " + status); + for (int i = 0; i < len; i++) { + RH_NL_TRACE("systemCallLib", "Checking expected status " + expected_status[i] + " for " + name); + if ((!expected_status[i].empty() && status.find(expected_status[i]) != std::string::npos) || (expected_status[i].empty() && status.empty())) { + return true; + } + } + now = std::time(NULL); + } + return false; +} + +#endif diff --git a/redhawk/src/build.sh b/redhawk/src/build.sh index 5700b3833..e89954ea1 100755 --- a/redhawk/src/build.sh +++ b/redhawk/src/build.sh @@ -22,14 +22,21 @@ config_ac='configure.ac' make_am='Makefile.am' makefile='Makefile' +uname=$(uname) + +set -e if [ "$1" == "clean" ]; then make clean else if [[ $config_ac -nt $makefile || $make_am -nt $makefile ]]; then + set -x ./reconf - ./configure + if [[ $uname = "Darwin" ]]; then + PYTHON=python3.9 CXXFLAGS="-std=c++14 -Wno-deprecated-declarations" ./configure -C -with-expat=/usr/local/Cellar/expat/2.4.1 --disable-log4cxx --without-tests --disable-java --disable-persistence + else + CXXFLAGS=-Wno-deprecated RT_LIB=-lrt UUID_LIB=-luuid ./configure -C --without-tests --disable-java --disable-persistence + fi fi make -j - exit 0 fi diff --git a/redhawk/src/configure.ac b/redhawk/src/configure.ac index 989cbb3f3..6417fe97b 100644 --- a/redhawk/src/configure.ac +++ b/redhawk/src/configure.ac @@ -81,7 +81,7 @@ PKG_CHECK_MODULES([OMNIORB], [omniORB4 >= 4.0.0]) OMNIORB_INCLUDEDIR=`pkg-config --variable=includedir omniORB4` AC_SUBST(OMNIORB_INCLUDEDIR) PKG_CHECK_EXISTS([omniORB4 >= 4.2.0],[AC_DEFINE([OMNIORB4_2],[1],[])]) -PKG_CHECK_MODULES([OMNITHREAD], [omnithread3 >= 4.0.0]) +PKG_CHECK_MODULES([OMNITHREAD], [omnithread3 >= 0.29.2]) PKG_CHECK_MODULES([OMNIDYNAMIC], [omniDynamic4 >= 4.0.0]) dnl Use PKG_CHECK_EXISTS because it won't throw error messages like PKG_CHECK_MODULES will @@ -110,17 +110,18 @@ AC_SUBST(IDLDIR, [$idldir]) dnl Executable is named xsdcxx in Fedora epel repo, REDHAWK dep is named xsd AC_CHECK_PROGS([XSD], [xsdcxx xsd], [no]) if test x"$XSD" = xno ; then - AC_MSG_ERROR([Required program 'xsdcxx' is missing.]) + AC_MSG_ERROR([Required program 'xsdcxx' is missing.]) fi # Get the XSD version AC_MSG_CHECKING([xsd version]) xsd_version=`${XSD} version 2>&1 | head -n 1 | awk '{print $8}'` -oldest_version=`echo -e "${xsd_version}\n3.3.0" | sort -t '.' -k 1,1 -k 2,2 -k 3,3 -k 4,4 -g | head -n 1` -if test "x$oldest_version" != "x3.3.0"; then - AC_MSG_FAILURE([XSD version 3.3.0 required]) -else - AC_MSG_RESULT([$xsd_version]) -fi +AC_MSG_RESULT([$xsd_version]) +### oldest_version=`echo -e "${xsd_version}\n4.0.0" | sort -t '.' -k 1,1 -k 2,2 -k 3,3 -k 4,4 -g | head -n 1` +### if test "x$oldest_version" != "x4.0.0"; then +### AC_MSG_FAILURE([XSD version 4.0.0 required]) +### else +### AC_MSG_RESULT([$xsd_version]) +### fi AC_CHECK_HEADER([xsd/cxx/config.hxx], [], [AC_MSG_ERROR([missing XSD headers])]) AC_CHECK_PROG([XMLCATALOG], [xmlcatalog], [xmlcatalog], [no]) AM_CONDITIONAL(HAVE_XMLCATALOG, test $XMLCATALOG != "no") @@ -198,13 +199,13 @@ fi AC_SUBST([HAVE_JAVASUPPORT], $HAVE_JAVASUPPORT) AM_CONDITIONAL(HAVE_JAVASUPPORT, test $HAVE_JAVASUPPORT = yes) -AM_PATH_PYTHON([2.4]) +AM_PATH_PYTHON([2.7]) AC_CHECK_PYMODULE(logging ,[], [AC_MSG_ERROR([the python logging module is required])]) AC_CHECK_PYMODULE(subprocess, [], [AC_MSG_ERROR([the python subprocess module is required])]) AC_CHECK_PYMODULE(omniORB, [], [AC_MSG_ERROR([the python omniORB module is required])]) -if test -d /usr/lib/omniidl; then # for debian-based systems - export PYTHONPATH=${PYTHONPATH}:/usr/lib/omniidl +if test -d /usr/local/lib/${PYTHON}/site-packages/omniidl; then # for debian-based systems + export PYTHONPATH=/usr/local/lib/${PYTHON}/site-packages:${PYTHONPATH} fi AC_CHECK_PYMODULE(omniidl, [], [AC_MSG_ERROR([the python omniidl module is required])]) @@ -226,7 +227,16 @@ fi # Use libuuid from e2fsprogs to generate UUIDs. AC_CHECK_HEADER([uuid/uuid.h], [], [AC_MSG_ERROR([uuid/uuid.h is required])]) -AC_CHECK_LIB([uuid], [uuid_generate], [], [AC_MSG_ERROR([libuuid is required])]) +#XXX AC_CHECK_LIB([uuid], [uuid_generate], [], [AC_MSG_ERROR([libuuid is required])]) +AC_CHECK_LIB([uuid], [uuid_generate] ) +AC_CHECK_LIB([rt], [shm_open] ) +# NOTE: Only on Linux we need uuid lib and rt lib too! CK +if test "x$ac_cv_lib_uuid_uuid_generate_" = xyes; then : + AC_SUBST(UUID_LIB, '-luuid') +fi +if test "x$ac_cv_lib_rt_shm_open_" = xyes; then : + AC_SUBST(RT_LIB, '-lrt') +fi # Set flags for building against the main C++ library. AC_SUBST(OSSIE_CFLAGS, '-I$(top_srcdir)/base/include') @@ -268,7 +278,7 @@ if test "$HAVE_JAVASUPPORT" = yes; then fi # C++ unit testing support. May want to conditionally enable/disable this. -AM_PATH_CPPUNIT(1.12.1) +#XXX AM_PATH_CPPUNIT(1.12.1) AS_IF([test "x$HAVE_JAVASUPPORT" == "xyes"], [ dnl Use RPM location hard-coded for now AC_SUBST([JUNIT_CLASSPATH], "/usr/share/java/junit4.jar") @@ -311,6 +321,7 @@ AC_CONFIG_FILES(Makefile \ base/parser/Makefile \ base/plugin/Makefile \ base/plugin/logcfg/Makefile \ + base/plugin/clustermgr/Makefile \ idl/Makefile \ xml/Makefile \ tools/Makefile ) diff --git a/redhawk/src/control/framework/Makefile.am b/redhawk/src/control/framework/Makefile.am index eaa94cc10..640ff1639 100644 --- a/redhawk/src/control/framework/Makefile.am +++ b/redhawk/src/control/framework/Makefile.am @@ -18,7 +18,7 @@ # along with this program. If not, see http://www.gnu.org/licenses/. # -AM_CPPFLAGS = -I../include -I$(top_srcdir)/base/include +AM_CPPFLAGS = -I$(top_srcdir)/control/include -I$(top_srcdir)/base/include noinst_LTLIBRARIES = libossiedomain.la libossiedomain_la_SOURCES = CorbaGC.cpp \ @@ -32,12 +32,15 @@ libossiedomain_la_SOURCES = CorbaGC.cpp \ libossiedomain_la_CXXFLAGS = -Wall -I$(OMNIORB_INCLUDEDIR)/omniORB4/internal $(BOOST_CPPFLAGS) $(OMNICOS_CFLAGS) $(OMNIORB_CFLAGS) $(LOG4CXX_FLAGS) $(PERSISTENCE_CFLAGS) libossiedomain_la_LIBADD = $(BOOST_LDFLAGS) $(BOOST_FILESYSTEM_LIB) $(BOOST_SERIALIZATION_LIB) $(BOOST_THREAD_LIB) $(BOOST_SYSTEM_LIB) $(OMNICOS_LIBS) $(OMNIORB_LIBS) $(LOG4CXX_LIBS) $(PERSISTENCE_LIBS) -libossiedomain_la_LDFLAGS = -Wall +libossiedomain_la_LIBADD += $(RT_LIB) $(UUID_LIB) +libossiedomain_la_LDFLAGS = bin_PROGRAMS = nodeBooter nodeBooter_SOURCES = nodebooter.cpp -nodeBooter_CXXFLAGS = $(BOOST_CPPFLAGS) +nodeBooter_CXXFLAGS = $(BOOST_CPPFLAGS) nodeBooter_LDADD = ../parser/libossieparser.la ./libossiedomain.la $(top_builddir)/base/framework/libossiecf.la $(top_builddir)/base/framework/idl/libossieidl.la $(BOOST_LDFLAGS) $(BOOST_FILESYSTEM_LIB) $(BOOST_SYSTEM_LIB) $(BOOST_REGEX_LIB) $(OMNICOS_LIBS) $(OMNIORB_LIBS) +nodeBooter_LDADD += $(RT_LIB) $(UUID_LIB) nodeBooter_LDFLAGS = -static + bin_SCRIPTS = nodeCleanup.py diff --git a/redhawk/src/control/framework/helperFunctions.cpp b/redhawk/src/control/framework/helperFunctions.cpp index 7bcaf3726..59a9a7714 100644 --- a/redhawk/src/control/framework/helperFunctions.cpp +++ b/redhawk/src/control/framework/helperFunctions.cpp @@ -174,7 +174,13 @@ bool ossie::sameHost(CORBA::Object_ptr aobj, CORBA::Object_ptr bobj) std::string ossie::getCurrentDirName() { std::string retval; + +#ifdef __APPLE__ + char* tdir = getcwd(NULL,0); +#else char *tdir = get_current_dir_name(); +#endif + if ( tdir ) { retval = tdir; free(tdir); diff --git a/redhawk/src/control/framework/nodeCleanup.py b/redhawk/src/control/framework/nodeCleanup.py index 84f797ca2..f42b1ca5a 100755 --- a/redhawk/src/control/framework/nodeCleanup.py +++ b/redhawk/src/control/framework/nodeCleanup.py @@ -74,7 +74,7 @@ for entry in das[0]: if entry.assignedDeviceId in devIds: # try: - print "Releasing an application" + print("Releasing an application") das[1].releaseObject() #except: # print "some bad stuff happened while releasing the application" diff --git a/redhawk/src/control/framework/nodebooter.cpp b/redhawk/src/control/framework/nodebooter.cpp index c61fb2cf0..c1b9fdf45 100644 --- a/redhawk/src/control/framework/nodebooter.cpp +++ b/redhawk/src/control/framework/nodebooter.cpp @@ -143,7 +143,7 @@ void loadPRFExecParams (const std::string& prfFile, ExecParams& execParams) prf.load(prfStream); } catch (const ossie::parser_error& ex) { std::string parser_error_line = ossie::retrieveParserErrorLineNumber(ex.what()); - LOG_ERROR(nodebooter, "Failed to parse PRF file " << prfStream<< ". " << parser_error_line << "The XML parser returned the following error: " << ex.what()); + LOG_ERROR(nodebooter, "Failed to parse PRF file " << prfStream.rdbuf() << ". " << parser_error_line << "The XML parser returned the following error: " << ex.what()); exit(EXIT_FAILURE); } prfStream.close(); @@ -364,7 +364,12 @@ static void setOwners(const std::string& user, const std::string& group) gid_t groups[ngroups]; struct passwd *pw; pw = getpwnam(user.c_str()); - if (getgrouplist(user.c_str(), pw->pw_gid, &groups[0], &ngroups) == -1) { +#ifdef __APPLE__ + if (getgrouplist(user.c_str(), pw->pw_gid, (int*) &groups[0], &ngroups) == -1) +#else + if (getgrouplist(user.c_str(), pw->pw_gid, &groups[0], &ngroups) == -1) +#endif + { std::ostringstream err; err << "Cannot retrieve group list for user ID " << uid << ": " << strerror(errno); throw std::runtime_error(err.str()); diff --git a/redhawk/src/control/include/ossie/DomainManagerConfiguration.h b/redhawk/src/control/include/ossie/DomainManagerConfiguration.h index ccedfb60a..9ee7a40ef 100644 --- a/redhawk/src/control/include/ossie/DomainManagerConfiguration.h +++ b/redhawk/src/control/include/ossie/DomainManagerConfiguration.h @@ -53,7 +53,7 @@ namespace ossie { * is a programming error the class uses assert statements (rather than exceptions) * to check that this requirement is held. */ - DomainManagerConfiguration() : _dmd(0) {}; + DomainManagerConfiguration() : _dmd() {}; DomainManagerConfiguration(std::istream& input) throw (ossie::parser_error); @@ -80,7 +80,7 @@ namespace ossie { ////////// // Members protected: - std::auto_ptr _dmd; + std::unique_ptr _dmd; }; } #endif diff --git a/redhawk/src/control/include/ossie/SoftPkg.h b/redhawk/src/control/include/ossie/SoftPkg.h index fdc6be9f8..25b28decc 100644 --- a/redhawk/src/control/include/ossie/SoftPkg.h +++ b/redhawk/src/control/include/ossie/SoftPkg.h @@ -72,7 +72,8 @@ namespace ossie { EXECUTABLE, KERNEL_MODULE, SHARED_LIBRARY, - DRIVER + DRIVER, + CONTAINER }; // Required @@ -301,7 +302,7 @@ namespace ossie { void loadDescriptor(std::istream& file); protected: - std::auto_ptr _spd; + std::unique_ptr _spd; boost::shared_ptr _properties; boost::shared_ptr _descriptor; std::string _spdFile; diff --git a/redhawk/src/control/include/ossie/SoftwareAssembly.h b/redhawk/src/control/include/ossie/SoftwareAssembly.h index b43cbdfe4..47d2e047e 100644 --- a/redhawk/src/control/include/ossie/SoftwareAssembly.h +++ b/redhawk/src/control/include/ossie/SoftwareAssembly.h @@ -211,7 +211,7 @@ namespace ossie { void validateExternalPorts(std::vector& ports); void validateExternalProperties(std::vector& properties); - std::auto_ptr _sad; + std::unique_ptr _sad; }; } #endif diff --git a/redhawk/src/control/include/ossie/ossieparser.h b/redhawk/src/control/include/ossie/ossieparser.h index 91571bd79..2f6ddd59f 100644 --- a/redhawk/src/control/include/ossie/ossieparser.h +++ b/redhawk/src/control/include/ossie/ossieparser.h @@ -56,14 +56,14 @@ namespace ossie { template< typename charT, typename Traits, typename U> friend std::basic_ostream& operator<<(std::basic_ostream &out, const optional_value ov); - optional_value() : _p(0) { + optional_value() : _p() { } - optional_value(const T& v) : _p(0) { + optional_value(const T& v) : _p() { _p.reset(new T(v)); } - optional_value(const T* p) : _p(0) { + optional_value(const T* p) : _p() { if (p != 0) { _p.reset(new T(*p)); } @@ -110,7 +110,7 @@ namespace ossie { } private: - std::auto_ptr _p; + std::unique_ptr _p; }; diff --git a/redhawk/src/control/parser/ComponentDescriptor.cpp b/redhawk/src/control/parser/ComponentDescriptor.cpp index bbe30edd5..f0c0999b8 100644 --- a/redhawk/src/control/parser/ComponentDescriptor.cpp +++ b/redhawk/src/control/parser/ComponentDescriptor.cpp @@ -48,7 +48,7 @@ ComponentDescriptor& ComponentDescriptor::operator=(const ComponentDescriptor &o void ComponentDescriptor::load(std::istream& input) throw(ossie::parser_error) { - std::auto_ptr t = ossie::internalparser::parseSCD(input); + std::unique_ptr t = ossie::internalparser::parseSCD(input); _scd.reset(t.release()); } diff --git a/redhawk/src/control/parser/DomainManagerConfiguration.cpp b/redhawk/src/control/parser/DomainManagerConfiguration.cpp index b351c4fc9..99d023983 100644 --- a/redhawk/src/control/parser/DomainManagerConfiguration.cpp +++ b/redhawk/src/control/parser/DomainManagerConfiguration.cpp @@ -28,7 +28,7 @@ using namespace ossie; // When the XSD changes you will need to update these functions. PREPARE_CF_LOGGING(DomainManagerConfiguration) -DomainManagerConfiguration::DomainManagerConfiguration(std::istream& input) throw (ossie::parser_error) : _dmd(0) { +DomainManagerConfiguration::DomainManagerConfiguration(std::istream& input) throw (ossie::parser_error) : _dmd() { this->load(input); } @@ -38,7 +38,7 @@ DomainManagerConfiguration::~DomainManagerConfiguration() { DomainManagerConfiguration& DomainManagerConfiguration::operator=(DomainManagerConfiguration other) { // Pass ownership - this->_dmd = other._dmd; + this->_dmd = std::move(other._dmd); return *this; } diff --git a/redhawk/src/control/parser/Makefile.am b/redhawk/src/control/parser/Makefile.am index e36b3aa09..a07d702ac 100644 --- a/redhawk/src/control/parser/Makefile.am +++ b/redhawk/src/control/parser/Makefile.am @@ -84,8 +84,8 @@ XSDFLAGS = --hxx-suffix .h --cxx-suffix .cpp --xml-parser expat --output-dir int # from the generated parser's validation (this is what the sed command is for). internal/%-pskel.cpp: $(top_srcdir)/xml/xsd/%.xsd internal/%.map $(AM_V_GEN)$(XSD) cxx-parser --type-map internal/$*.map $(XSDFLAGS) $< - $(AM_V_at)$(SED) -i 's/ns == "urn:mil:jpeojtrs:sca:$*"/ns.empty()/g' $@ - $(AM_V_at)$(SED) -i 's/"urn:mil:jpeojtrs:sca:$*"/""/g' $@ + $(AM_V_at)$(SED) -i.bak 's/ns == "urn:mil:jpeojtrs:sca:$*"/ns.empty()/g' $@ + $(AM_V_at)$(SED) -i.bak 's/"urn:mil:jpeojtrs:sca:$*"/""/g' $@ # The DPD and profile parsers aren't used by the framework internal/dpd-pskel.cpp: $(top_srcdir)/xml/xsd/dpd.xsd diff --git a/redhawk/src/control/parser/Properties.cpp b/redhawk/src/control/parser/Properties.cpp index 2f333b06f..4038bf50d 100644 --- a/redhawk/src/control/parser/Properties.cpp +++ b/redhawk/src/control/parser/Properties.cpp @@ -89,13 +89,13 @@ Properties::~Properties() } void Properties::load(std::istream& input) throw (ossie::parser_error) { - std::auto_ptr t = ossie::internalparser::parsePRF(input); + std::unique_ptr t = ossie::internalparser::parsePRF(input); _prf.reset(t.release()); } void Properties::join(std::istream& input) throw (ossie::parser_error) { LOG_TRACE(Properties, "Loading property set") - std::auto_ptr _joinedprf = ossie::internalparser::parsePRF(input); + std::unique_ptr _joinedprf = ossie::internalparser::parsePRF(input); if (_prf.get() == 0) { LOG_TRACE(Properties, "No initial load, using join set for properties") _prf.reset(_joinedprf.release()); diff --git a/redhawk/src/control/parser/SoftPkg.cpp b/redhawk/src/control/parser/SoftPkg.cpp index d1946ef30..4878ffd26 100644 --- a/redhawk/src/control/parser/SoftPkg.cpp +++ b/redhawk/src/control/parser/SoftPkg.cpp @@ -32,7 +32,7 @@ using namespace ossie; SoftPkg::SoftPkg() : - _spd(0), + _spd(), _spdFile() { } @@ -111,6 +111,9 @@ std::ostream& ossie::operator<<(std::ostream& out, SPD::Code::CodeType type) case SPD::Code::DRIVER: out << "Driver"; break; + case SPD::Code::CONTAINER: + out << "Container"; + break; default: break; } diff --git a/redhawk/src/control/parser/SoftwareAssembly.cpp b/redhawk/src/control/parser/SoftwareAssembly.cpp index 6d6ec5cca..7e0e26b81 100644 --- a/redhawk/src/control/parser/SoftwareAssembly.cpp +++ b/redhawk/src/control/parser/SoftwareAssembly.cpp @@ -37,12 +37,12 @@ const ComponentInstantiation* SoftwareAssembly::HostCollocation::getInstantiatio } SoftwareAssembly::SoftwareAssembly() : - _sad(0) + _sad() { } SoftwareAssembly::SoftwareAssembly(std::istream& input) throw (ossie::parser_error) : - _sad(0) + _sad() { this->load(input); } diff --git a/redhawk/src/control/parser/internal/dcd-parser.cpp b/redhawk/src/control/parser/internal/dcd-parser.cpp index 5b136a79a..fd44724e8 100644 --- a/redhawk/src/control/parser/internal/dcd-parser.cpp +++ b/redhawk/src/control/parser/internal/dcd-parser.cpp @@ -23,7 +23,7 @@ #include "dcd-parser.h" #include "dcd-pimpl.h" -std::auto_ptr +std::unique_ptr ossie::internalparser::parseDCD(std::istream& input) throw (ossie::parser_error) { try { diff --git a/redhawk/src/control/parser/internal/dcd-parser.h b/redhawk/src/control/parser/internal/dcd-parser.h index b7a775a7c..6a9a2efab 100644 --- a/redhawk/src/control/parser/internal/dcd-parser.h +++ b/redhawk/src/control/parser/internal/dcd-parser.h @@ -28,7 +28,7 @@ namespace ossie { namespace internalparser { - std::auto_ptr parseDCD(std::istream& input) throw (ossie::parser_error); + std::unique_ptr parseDCD(std::istream& input) throw (ossie::parser_error); } } diff --git a/redhawk/src/control/parser/internal/dcd-pimpl.cpp b/redhawk/src/control/parser/internal/dcd-pimpl.cpp index 3b5adc8e1..556b6a1e9 100644 --- a/redhawk/src/control/parser/internal/dcd-pimpl.cpp +++ b/redhawk/src/control/parser/internal/dcd-pimpl.cpp @@ -110,11 +110,11 @@ namespace dcd } } - ::std::auto_ptr deviceconfiguration_pimpl:: + ::std::unique_ptr deviceconfiguration_pimpl:: post_deviceconfiguration () { RH_TRACE(dcd::parserLog, "post deviceconfiguration") - return _dcd; + return std::move(_dcd); } // devicemanagersoftpkg_pimpl @@ -726,13 +726,13 @@ const ::ossie::ComponentInstantiation& componentinstantiation_pimpl:: void structref_pimpl:: simpleref (const ossie::SimplePropertyRef& simpleref) { - structref._values.insert(simpleref._id,std::auto_ptr(simpleref.clone()) ); + structref._values.insert(simpleref._id,std::unique_ptr(simpleref.clone()) ); } void structref_pimpl:: simplesequenceref (const ossie::SimpleSequencePropertyRef& simplesequenceref) { - structref._values.insert(simplesequenceref._id,std::auto_ptr(simplesequenceref.clone()) ); + structref._values.insert(simplesequenceref._id,std::unique_ptr(simplesequenceref.clone()) ); } void structref_pimpl:: @@ -787,13 +787,13 @@ const ossie::StructSequencePropertyRef& structsequenceref_pimpl:: void structvalue_pimpl:: simpleref (const ossie::SimplePropertyRef& simpleref) { - values.insert(simpleref._id,std::auto_ptr(simpleref.clone()) ); + values.insert(simpleref._id,std::unique_ptr(simpleref.clone()) ); } void structvalue_pimpl:: simplesequenceref (const ossie::SimpleSequencePropertyRef& simplesequenceref) { - values.insert(simplesequenceref._id,std::auto_ptr(simplesequenceref.clone()) ); + values.insert(simplesequenceref._id,std::unique_ptr(simplesequenceref.clone()) ); } const ossie::ComponentPropertyMap& structvalue_pimpl:: diff --git a/redhawk/src/control/parser/internal/dcd-pimpl.h b/redhawk/src/control/parser/internal/dcd-pimpl.h index 82047c58a..62b7923ae 100644 --- a/redhawk/src/control/parser/internal/dcd-pimpl.h +++ b/redhawk/src/control/parser/internal/dcd-pimpl.h @@ -67,11 +67,11 @@ namespace dcd virtual void name (const ::std::string&); - virtual ::std::auto_ptr + virtual ::std::unique_ptr post_deviceconfiguration (); private: - std::auto_ptr _dcd; + std::unique_ptr _dcd; }; class devicemanagersoftpkg_pimpl: public virtual devicemanagersoftpkg_pskel @@ -185,7 +185,7 @@ namespace dcd post_componentplacement (); private: - //std::auto_ptr componentPlacement; + //std::unique_ptr componentPlacement; ossie::DevicePlacement componentPlacement; }; @@ -593,7 +593,7 @@ namespace dcd post_findby (); private: - std::auto_ptr findby; + std::unique_ptr findby; }; class namingservice_pimpl: public virtual namingservice_pskel @@ -701,7 +701,7 @@ namespace dcd post_connectinterface (); private: - std::auto_ptr connection; + std::unique_ptr connection; }; class usesport_pimpl: public virtual usesport_pskel @@ -729,7 +729,7 @@ namespace dcd post_usesport (); private: - std::auto_ptr usesPort; + std::unique_ptr usesPort; }; class providesport_pimpl: public virtual providesport_pskel @@ -757,7 +757,7 @@ namespace dcd post_providesport (); private: - std::auto_ptr provPort; + std::unique_ptr provPort; }; class componentsupportedinterface_pimpl: public virtual componentsupportedinterface_pskel @@ -779,7 +779,7 @@ namespace dcd post_componentsupportedinterface (); private: - std::auto_ptr ciface; + std::unique_ptr ciface; }; } diff --git a/redhawk/src/control/parser/internal/dcd.map b/redhawk/src/control/parser/internal/dcd.map index 8d7ed6b1f..9d6a17807 100644 --- a/redhawk/src/control/parser/internal/dcd.map +++ b/redhawk/src/control/parser/internal/dcd.map @@ -22,7 +22,7 @@ namespace urn:mil:jpeojtrs:sca:dcd { include "memory"; include "map"; include "../include/ossie/DeviceManagerConfiguration.h"; - deviceconfiguration "::std::auto_ptr"; + deviceconfiguration "::std::unique_ptr"; componentfiles "const ::std::vector&" "const ::std::vector&"; componentfile "const ::ossie::ComponentFile&" "const ::ossie::ComponentFile&"; componentplacement "const ::ossie::DevicePlacement&" "const ::ossie::DevicePlacement&"; diff --git a/redhawk/src/control/parser/internal/dmd-parser.cpp b/redhawk/src/control/parser/internal/dmd-parser.cpp index 84550ee1a..572866095 100644 --- a/redhawk/src/control/parser/internal/dmd-parser.cpp +++ b/redhawk/src/control/parser/internal/dmd-parser.cpp @@ -23,7 +23,7 @@ #include "dmd-parser.h" #include "dmd-pimpl.h" -std::auto_ptr +std::unique_ptr ossie::internalparser::parseDMD(std::istream& input) throw (ossie::parser_error) { using namespace dmd; diff --git a/redhawk/src/control/parser/internal/dmd-parser.h b/redhawk/src/control/parser/internal/dmd-parser.h index 638762430..40ec9a451 100644 --- a/redhawk/src/control/parser/internal/dmd-parser.h +++ b/redhawk/src/control/parser/internal/dmd-parser.h @@ -28,7 +28,7 @@ namespace ossie { namespace internalparser { - std::auto_ptr parseDMD(std::istream& input) throw (ossie::parser_error); + std::unique_ptr parseDMD(std::istream& input) throw (ossie::parser_error); } } diff --git a/redhawk/src/control/parser/internal/dmd-pimpl.cpp b/redhawk/src/control/parser/internal/dmd-pimpl.cpp index f0019377e..5c5a3f79d 100644 --- a/redhawk/src/control/parser/internal/dmd-pimpl.cpp +++ b/redhawk/src/control/parser/internal/dmd-pimpl.cpp @@ -71,11 +71,11 @@ namespace dmd _data->name = name; } - std::auto_ptr domainmanagerconfiguration_pimpl:: + std::unique_ptr domainmanagerconfiguration_pimpl:: post_domainmanagerconfiguration () { RH_TRACE(dmd::parserLog, "domainmanagerconfiguration post"); - return _data; + return std::move(_data); } // domainmanagersoftpkg_pimpl diff --git a/redhawk/src/control/parser/internal/dmd-pimpl.h b/redhawk/src/control/parser/internal/dmd-pimpl.h index 8bd30c75e..250a7ddaf 100644 --- a/redhawk/src/control/parser/internal/dmd-pimpl.h +++ b/redhawk/src/control/parser/internal/dmd-pimpl.h @@ -55,11 +55,11 @@ namespace dmd virtual void name (const ::std::string&); - virtual std::auto_ptr + virtual std::unique_ptr post_domainmanagerconfiguration (); private: - std::auto_ptr _data; + std::unique_ptr _data; }; diff --git a/redhawk/src/control/parser/internal/dmd.map b/redhawk/src/control/parser/internal/dmd.map index 5bd22ff9e..b41c0ce09 100644 --- a/redhawk/src/control/parser/internal/dmd.map +++ b/redhawk/src/control/parser/internal/dmd.map @@ -21,7 +21,7 @@ namespace urn:mil:jpeojtrs:sca:dmd { include "memory"; include "../include/ossie/DomainManagerConfiguration.h"; - domainmanagerconfiguration "::std::auto_ptr"; + domainmanagerconfiguration "::std::unique_ptr"; domainmanagersoftpkg "::std::string"; localfile "::std::string"; } diff --git a/redhawk/src/control/parser/internal/prf-parser.cpp b/redhawk/src/control/parser/internal/prf-parser.cpp index 6cab4018f..d5fc77096 100644 --- a/redhawk/src/control/parser/internal/prf-parser.cpp +++ b/redhawk/src/control/parser/internal/prf-parser.cpp @@ -23,7 +23,7 @@ #include "prf-parser.h" #include "prf-pimpl.h" -std::auto_ptr ossie::internalparser::parsePRF(std::istream& input) throw (ossie::parser_error) +std::unique_ptr ossie::internalparser::parsePRF(std::istream& input) throw (ossie::parser_error) { using namespace prf; diff --git a/redhawk/src/control/parser/internal/prf-parser.h b/redhawk/src/control/parser/internal/prf-parser.h index ff7492163..514d99d30 100644 --- a/redhawk/src/control/parser/internal/prf-parser.h +++ b/redhawk/src/control/parser/internal/prf-parser.h @@ -28,7 +28,7 @@ namespace ossie { namespace internalparser { - std::auto_ptr parsePRF(std::istream& input) throw (ossie::parser_error); + std::unique_ptr parsePRF(std::istream& input) throw (ossie::parser_error); } } #endif diff --git a/redhawk/src/control/parser/internal/prf-pimpl.cpp b/redhawk/src/control/parser/internal/prf-pimpl.cpp index 0b275753d..a7bd371a2 100644 --- a/redhawk/src/control/parser/internal/prf-pimpl.cpp +++ b/redhawk/src/control/parser/internal/prf-pimpl.cpp @@ -376,11 +376,11 @@ structsequence (ossie::StructSequenceProperty* structsequence) _prf->addProperty(structsequence); } -std::auto_ptr properties_pimpl:: +std::unique_ptr properties_pimpl:: post_properties () { RH_TRACE(prf::parserLog, "properties post") - return _prf; + return std::move(_prf); } // PropertyValueType_pimpl @@ -472,7 +472,7 @@ void simple_pimpl:: value (const ::std::string& value) { RH_TRACE(prf::parserLog, "simple_pimpl value " << value) - _value = std::auto_ptr(new std::string(value)); + _value = std::unique_ptr(new std::string(value)); } void simple_pimpl:: @@ -885,13 +885,13 @@ pre () void structValue_pimpl:: simpleref (const ossie::SimplePropertyRef& simpleref) { - _values.insert(simpleref._id,std::auto_ptr(simpleref.clone()) ); + _values.insert(simpleref._id,std::unique_ptr(simpleref.clone()) ); } void structValue_pimpl:: simplesequenceref (const ossie::SimpleSequencePropertyRef& simplesequenceref) { - _values.insert(simplesequenceref._id,std::auto_ptr(simplesequenceref.clone()) ); + _values.insert(simplesequenceref._id,std::unique_ptr(simplesequenceref.clone()) ); } const ossie::ComponentPropertyMap& structValue_pimpl:: diff --git a/redhawk/src/control/parser/internal/prf-pimpl.h b/redhawk/src/control/parser/internal/prf-pimpl.h index 760f85b30..c90596468 100644 --- a/redhawk/src/control/parser/internal/prf-pimpl.h +++ b/redhawk/src/control/parser/internal/prf-pimpl.h @@ -236,11 +236,11 @@ namespace prf virtual void structsequence (ossie::StructSequenceProperty*); - virtual std::auto_ptr + virtual std::unique_ptr post_properties (); public: - std::auto_ptr _prf; + std::unique_ptr _prf; }; class PropertyValueType_pimpl: public virtual PropertyValueType_pskel, @@ -348,7 +348,7 @@ namespace prf bool _commandline; bool _optional; ossie::Property::Kinds _kinds; - std::auto_ptr _value; + std::unique_ptr _value; }; class simpleRef_pimpl: public virtual simpleRef_pskel @@ -519,7 +519,7 @@ namespace prf std::string _name; ossie::Property::AccessType _mode; ossie::Property::Kinds _kinds; - std::auto_ptr _struct; + std::unique_ptr _struct; std::vector _values; }; diff --git a/redhawk/src/control/parser/internal/prf.map b/redhawk/src/control/parser/internal/prf.map index 64e2c9921..078eadf7c 100644 --- a/redhawk/src/control/parser/internal/prf.map +++ b/redhawk/src/control/parser/internal/prf.map @@ -25,7 +25,7 @@ namespace urn:mil:jpeojtrs:sca:prf { include "../../include/ossie/Properties.h"; include "../../include/ossie/componentProfile.h"; - properties "std::auto_ptr"; + properties "std::unique_ptr"; simple "ossie::SimpleProperty*"; simpleSequence "ossie::SimpleSequenceProperty*"; struct "ossie::StructProperty*"; diff --git a/redhawk/src/control/parser/internal/sad-parser.cpp b/redhawk/src/control/parser/internal/sad-parser.cpp index 0e65aef98..742fada9d 100644 --- a/redhawk/src/control/parser/internal/sad-parser.cpp +++ b/redhawk/src/control/parser/internal/sad-parser.cpp @@ -23,7 +23,7 @@ #include "sad-parser.h" #include "sad-pimpl.h" -std::auto_ptr +std::unique_ptr ossie::internalparser::parseSAD(std::istream& input) throw (ossie::parser_error) { try { diff --git a/redhawk/src/control/parser/internal/sad-parser.h b/redhawk/src/control/parser/internal/sad-parser.h index 563242e18..c1be8d718 100644 --- a/redhawk/src/control/parser/internal/sad-parser.h +++ b/redhawk/src/control/parser/internal/sad-parser.h @@ -29,7 +29,7 @@ namespace ossie { namespace internalparser { - std::auto_ptr parseSAD(std::istream& input) throw (ossie::parser_error); + std::unique_ptr parseSAD(std::istream& input) throw (ossie::parser_error); } } diff --git a/redhawk/src/control/parser/internal/sad-pimpl.cpp b/redhawk/src/control/parser/internal/sad-pimpl.cpp index 1523e3830..2b0445287 100644 --- a/redhawk/src/control/parser/internal/sad-pimpl.cpp +++ b/redhawk/src/control/parser/internal/sad-pimpl.cpp @@ -111,10 +111,10 @@ namespace sad _sad->name = name; } - ::std::auto_ptr softwareassembly_pimpl:: + ::std::unique_ptr softwareassembly_pimpl:: post_softwareassembly () { - return _sad; + return std::move(_sad); } // componentfiles_pimpl @@ -727,13 +727,13 @@ namespace sad void structref_pimpl:: simpleref (const ossie::SimplePropertyRef& simpleref) { - structref._values.insert(simpleref._id,std::auto_ptr(simpleref.clone()) ); + structref._values.insert(simpleref._id,std::unique_ptr(simpleref.clone()) ); } void structref_pimpl:: simplesequenceref (const ossie::SimpleSequencePropertyRef& simplesequenceref) { - structref._values.insert(simplesequenceref._id,std::auto_ptr(simplesequenceref.clone()) ); + structref._values.insert(simplesequenceref._id,std::unique_ptr(simplesequenceref.clone()) ); } void structref_pimpl:: @@ -788,13 +788,13 @@ namespace sad void structvalue_pimpl:: simpleref (const ossie::SimplePropertyRef& simpleref) { - values.insert(simpleref._id,std::auto_ptr(simpleref.clone()) ); + values.insert(simpleref._id,std::unique_ptr(simpleref.clone()) ); } void structvalue_pimpl:: simplesequenceref (const ossie::SimpleSequencePropertyRef& simplesequenceref) { - values.insert(simplesequenceref._id,std::auto_ptr(simplesequenceref.clone()) ); + values.insert(simplesequenceref._id,std::unique_ptr(simplesequenceref.clone()) ); } const ossie::ComponentPropertyMap& structvalue_pimpl:: diff --git a/redhawk/src/control/parser/internal/sad-pimpl.h b/redhawk/src/control/parser/internal/sad-pimpl.h index 3e7207c79..30fabdfbb 100644 --- a/redhawk/src/control/parser/internal/sad-pimpl.h +++ b/redhawk/src/control/parser/internal/sad-pimpl.h @@ -73,11 +73,11 @@ namespace sad virtual void name (const ::std::string&); - virtual ::std::auto_ptr + virtual ::std::unique_ptr post_softwareassembly (); private: - std::auto_ptr _sad; + std::unique_ptr _sad; }; class componentfiles_pimpl: public virtual componentfiles_pskel @@ -115,7 +115,7 @@ namespace sad post_componentfile (); private: - std::auto_ptr componentFile; + std::unique_ptr componentFile; }; class localfile_pimpl: public virtual localfile_pskel @@ -150,7 +150,7 @@ namespace sad post_partitioning (); private: - std::auto_ptr partitioning; + std::unique_ptr partitioning; }; class componentplacement_pimpl: public virtual componentplacement_pskel @@ -589,7 +589,7 @@ namespace sad post_findby (); private: - std::auto_ptr findby; + std::unique_ptr findby; }; class namingservice_pimpl: public virtual namingservice_pskel @@ -653,7 +653,7 @@ namespace sad post_hostcollocation (); private: - std::auto_ptr hostcollocation; + std::unique_ptr hostcollocation; }; class usesdeviceref_pimpl: public virtual usesdeviceref_pskel @@ -750,7 +750,7 @@ namespace sad post_connectinterface (); private: - std::auto_ptr connection; + std::unique_ptr connection; }; class usesport_pimpl: public virtual usesport_pskel @@ -781,7 +781,7 @@ namespace sad post_usesport (); private: - std::auto_ptr usesPort; + std::unique_ptr usesPort; }; class providesport_pimpl: public virtual providesport_pskel @@ -812,7 +812,7 @@ namespace sad post_providesport (); private: - std::auto_ptr provPort; + std::unique_ptr provPort; }; class componentsupportedinterface_pimpl: public virtual componentsupportedinterface_pskel @@ -843,7 +843,7 @@ namespace sad post_componentsupportedinterface (); private: - std::auto_ptr ciface; + std::unique_ptr ciface; }; class externalports_pimpl: public virtual externalports_pskel @@ -890,7 +890,7 @@ namespace sad post_port (); private: - std::auto_ptr port; + std::unique_ptr port; }; class externalproperties_pimpl: public virtual externalproperties_pskel @@ -928,7 +928,7 @@ namespace sad post_property (); private: - std::auto_ptr property; + std::unique_ptr property; }; class options_pimpl: public virtual options_pskel @@ -963,7 +963,7 @@ namespace sad post_option (); private: - std::auto_ptr option; + std::unique_ptr option; }; class usesdevicedependencies_pimpl: public virtual usesdevicedependencies_pskel @@ -1013,7 +1013,7 @@ namespace sad post_usesdevice (); private: - std::auto_ptr uses; + std::unique_ptr uses; }; class propertyref_pimpl: public virtual propertyref_pskel @@ -1032,7 +1032,7 @@ namespace sad post_propertyref (); private: - std::auto_ptr propRef; + std::unique_ptr propRef; }; } diff --git a/redhawk/src/control/parser/internal/sad.map b/redhawk/src/control/parser/internal/sad.map index c26934912..5b018f48e 100644 --- a/redhawk/src/control/parser/internal/sad.map +++ b/redhawk/src/control/parser/internal/sad.map @@ -22,7 +22,7 @@ namespace urn:mil:jpeojtrs:sca:sad { include "map"; include "memory"; include "../include/ossie/SoftwareAssembly.h"; - softwareassembly "::std::auto_ptr"; + softwareassembly "::std::unique_ptr"; componentfiles "::std::vector &"; componentfile "::ossie::ComponentFile"; componentplacement "const ::ossie::ComponentPlacement&" "const ::ossie::ComponentPlacement&"; diff --git a/redhawk/src/control/parser/internal/scd-parser.cpp b/redhawk/src/control/parser/internal/scd-parser.cpp index 5cbd5e699..b1659ecaf 100644 --- a/redhawk/src/control/parser/internal/scd-parser.cpp +++ b/redhawk/src/control/parser/internal/scd-parser.cpp @@ -23,7 +23,7 @@ #include "scd-parser.h" #include "scd-pimpl.h" -std::auto_ptr +std::unique_ptr ossie::internalparser::parseSCD(std::istream& input) throw (ossie::parser_error) { using namespace scd; diff --git a/redhawk/src/control/parser/internal/scd-parser.h b/redhawk/src/control/parser/internal/scd-parser.h index 6fc4d0354..010c114cf 100644 --- a/redhawk/src/control/parser/internal/scd-parser.h +++ b/redhawk/src/control/parser/internal/scd-parser.h @@ -28,7 +28,7 @@ namespace ossie { namespace internalparser { - std::auto_ptr parseSCD(std::istream& input) throw (ossie::parser_error); + std::unique_ptr parseSCD(std::istream& input) throw (ossie::parser_error); } } #endif diff --git a/redhawk/src/control/parser/internal/scd-pimpl.cpp b/redhawk/src/control/parser/internal/scd-pimpl.cpp index 0397c1bd5..6635eeea0 100644 --- a/redhawk/src/control/parser/internal/scd-pimpl.cpp +++ b/redhawk/src/control/parser/internal/scd-pimpl.cpp @@ -69,10 +69,10 @@ propertyfile () { } -std::auto_ptr softwarecomponent_pimpl:: +std::unique_ptr softwarecomponent_pimpl:: post_softwarecomponent () { - return _data; + return std::move(_data); } // propertyFile_pimpl diff --git a/redhawk/src/control/parser/internal/scd-pimpl.h b/redhawk/src/control/parser/internal/scd-pimpl.h index eaad09ed2..495a6aaca 100644 --- a/redhawk/src/control/parser/internal/scd-pimpl.h +++ b/redhawk/src/control/parser/internal/scd-pimpl.h @@ -56,11 +56,11 @@ namespace scd { virtual void propertyfile (); - virtual std::auto_ptr + virtual std::unique_ptr post_softwarecomponent (); private: - std::auto_ptr _data; + std::unique_ptr _data; }; class propertyFile_pimpl: public virtual propertyFile_pskel diff --git a/redhawk/src/control/parser/internal/scd.map b/redhawk/src/control/parser/internal/scd.map index bbd0e8783..706bd2575 100644 --- a/redhawk/src/control/parser/internal/scd.map +++ b/redhawk/src/control/parser/internal/scd.map @@ -21,5 +21,5 @@ namespace urn:mil:jpeojtrs:sca:scd { include "memory"; include "../../include/ossie/ComponentDescriptor.h"; - softwarecomponent "std::auto_ptr"; + softwarecomponent "std::unique_ptr"; } diff --git a/redhawk/src/control/parser/internal/spd-parser.cpp b/redhawk/src/control/parser/internal/spd-parser.cpp index 6b93c3610..4454b6604 100644 --- a/redhawk/src/control/parser/internal/spd-parser.cpp +++ b/redhawk/src/control/parser/internal/spd-parser.cpp @@ -23,7 +23,7 @@ #include "spd-parser.h" #include "spd-pimpl.h" -std::auto_ptr ossie::internalparser::parseSPD(std::istream& input) throw (ossie::parser_error) +std::unique_ptr ossie::internalparser::parseSPD(std::istream& input) throw (ossie::parser_error) { try { // Instantiate individual parsers. diff --git a/redhawk/src/control/parser/internal/spd-parser.h b/redhawk/src/control/parser/internal/spd-parser.h index 3559b1fc1..650a4c4e3 100644 --- a/redhawk/src/control/parser/internal/spd-parser.h +++ b/redhawk/src/control/parser/internal/spd-parser.h @@ -27,7 +27,7 @@ namespace ossie { namespace internalparser { - std::auto_ptr parseSPD(std::istream& input) throw (ossie::parser_error); + std::unique_ptr parseSPD(std::istream& input) throw (ossie::parser_error); } } #endif diff --git a/redhawk/src/control/parser/internal/spd-pimpl.cpp b/redhawk/src/control/parser/internal/spd-pimpl.cpp index 925b98b76..e58191c51 100644 --- a/redhawk/src/control/parser/internal/spd-pimpl.cpp +++ b/redhawk/src/control/parser/internal/spd-pimpl.cpp @@ -111,11 +111,11 @@ version (const ::std::string& version) _spd->version = version; } -std::auto_ptr softPkg_pimpl:: +std::unique_ptr softPkg_pimpl:: post_softPkg () { RH_TRACE(spd::parserLog, "softpkg post") - return _spd; + return std::move(_spd); } // localFile_pimpl @@ -771,6 +771,8 @@ post_codeFileType () return ossie::SPD::Code::KERNEL_MODULE; } else if (type == "Driver") { return ossie::SPD::Code::DRIVER; + } else if (type == "Container") { + return ossie::SPD::Code::CONTAINER; } else { RH_WARN(spd::parserLog, "Invalid code type '" << type << "'"); return ossie::SPD::Code::NONE; @@ -845,13 +847,13 @@ pre () void structref_pimpl:: simpleref (const ossie::SimplePropertyRef& simpleref) { - structref._values.insert(simpleref._id,std::auto_ptr(simpleref.clone()) ); + structref._values.insert(simpleref._id,std::unique_ptr(simpleref.clone()) ); } void structref_pimpl:: simplesequenceref (const ossie::SimpleSequencePropertyRef& simplesequenceref) { - structref._values.insert(simplesequenceref._id,std::auto_ptr(simplesequenceref.clone()) ); + structref._values.insert(simplesequenceref._id,std::unique_ptr(simplesequenceref.clone()) ); } void structref_pimpl:: @@ -907,13 +909,13 @@ pre () void structvalue_pimpl:: simpleref (const ossie::SimplePropertyRef& simpleref) { - values.insert(simpleref._id,std::auto_ptr(simpleref.clone()) ); + values.insert(simpleref._id,std::unique_ptr(simpleref.clone()) ); } void structvalue_pimpl:: simplesequenceref (const ossie::SimpleSequencePropertyRef& simplesequenceref) { - values.insert(simplesequenceref._id,std::auto_ptr(simplesequenceref.clone()) ); + values.insert(simplesequenceref._id,std::unique_ptr(simplesequenceref.clone()) ); } const ossie::ComponentPropertyMap& structvalue_pimpl:: diff --git a/redhawk/src/control/parser/internal/spd-pimpl.h b/redhawk/src/control/parser/internal/spd-pimpl.h index 0a0e78951..3aa131d66 100644 --- a/redhawk/src/control/parser/internal/spd-pimpl.h +++ b/redhawk/src/control/parser/internal/spd-pimpl.h @@ -73,11 +73,11 @@ namespace spd virtual void version (const ::std::string&); - virtual std::auto_ptr + virtual std::unique_ptr post_softPkg (); private: - std::auto_ptr _spd; + std::unique_ptr _spd; }; class localFile_pimpl: public virtual localFile_pskel @@ -134,7 +134,7 @@ namespace spd post_author (); private: - std::auto_ptr author; + std::unique_ptr author; }; class descriptor_pimpl: public virtual descriptor_pskel @@ -205,7 +205,7 @@ namespace spd post_implementation (); private: - std::auto_ptr implementation; + std::unique_ptr implementation; }; class code_pimpl: public virtual code_pskel @@ -233,7 +233,7 @@ namespace spd post_code (); private: - std::auto_ptr code; + std::unique_ptr code; }; class compiler_pimpl: public virtual compiler_pskel @@ -350,7 +350,7 @@ namespace spd post_dependency (); private: - std::auto_ptr _ref; + std::unique_ptr _ref; }; class runtime_pimpl: public virtual runtime_pskel @@ -459,7 +459,7 @@ namespace spd post_usesDevice (); private: - std::auto_ptr _uses; + std::unique_ptr _uses; }; class aepcompliance_pimpl: public virtual aepcompliance_pskel, diff --git a/redhawk/src/control/parser/internal/spd.map b/redhawk/src/control/parser/internal/spd.map index 2045621da..ca9a769ac 100644 --- a/redhawk/src/control/parser/internal/spd.map +++ b/redhawk/src/control/parser/internal/spd.map @@ -28,7 +28,7 @@ include "../../include/ossie/componentProfile.h"; scaComplianceType "::std::string"; localFile "::std::string"; -softPkg "std::auto_ptr"; +softPkg "std::unique_ptr"; propertyFile "::std::string"; descriptor "::std::string"; author "ossie::SPD::Author"; diff --git a/redhawk/src/control/sdr/ComponentHost/ComponentHost.cpp b/redhawk/src/control/sdr/ComponentHost/ComponentHost.cpp index ee32665da..d2ecc75ec 100644 --- a/redhawk/src/control/sdr/ComponentHost/ComponentHost.cpp +++ b/redhawk/src/control/sdr/ComponentHost/ComponentHost.cpp @@ -20,6 +20,7 @@ #include #include +#include #include "ComponentHost.h" @@ -150,8 +151,11 @@ std::string ComponentHost::getRealPath(const std::string& path) // given by the launching device (or the Sandbox) fs::path realpath = fs::path(getDeploymentRoot()) / path; if (!fs::exists(realpath)) { - std::string message = "File " + path + " does not exist"; - throw CF::InvalidFileName(CF::CF_EEXIST, message.c_str()); + realpath = fs::path("/var/redhawk/sdr/dom") / path; + if (!fs::exists(realpath)) { + std::string message = "File " + path + " does not exist"; + throw CF::InvalidFileName(CF::CF_EEXIST, message.c_str()); + } } return realpath.string(); } diff --git a/redhawk/src/control/sdr/ComponentHost/ComponentHost.h b/redhawk/src/control/sdr/ComponentHost/ComponentHost.h index f1e399b7f..aa609acba 100644 --- a/redhawk/src/control/sdr/ComponentHost/ComponentHost.h +++ b/redhawk/src/control/sdr/ComponentHost/ComponentHost.h @@ -27,7 +27,7 @@ #include "ModuleLoader.h" namespace redhawk { - class ComponentEntry; + struct ComponentEntry; class ComponentHost : public Component, public virtual POA_CF::ExecutableDevice { diff --git a/redhawk/src/control/sdr/ComponentHost/ComponentHost.spd.xml b/redhawk/src/control/sdr/ComponentHost/ComponentHost.spd.xml index 6c5d5f57e..a6b38ddd6 100644 --- a/redhawk/src/control/sdr/ComponentHost/ComponentHost.spd.xml +++ b/redhawk/src/control/sdr/ComponentHost/ComponentHost.spd.xml @@ -43,4 +43,19 @@ with this program. If not, see http://www.gnu.org/licenses/. + diff --git a/redhawk/src/control/sdr/ComponentHost/Makefile.am b/redhawk/src/control/sdr/ComponentHost/Makefile.am index 91bd9a689..091573521 100644 --- a/redhawk/src/control/sdr/ComponentHost/Makefile.am +++ b/redhawk/src/control/sdr/ComponentHost/Makefile.am @@ -27,7 +27,7 @@ dist_xml_DATA = ComponentHost.scd.xml ComponentHost.prf.xml ComponentHost.spd.xm ComponentHost_SOURCES = ComponentHost.cpp ModuleLoader.cpp main.cpp ComponentHost_LDADD = $(top_builddir)/base/framework/libossiecf.la $(top_builddir)/base/framework/idl/libossieidl.la -ComponentHost_LDADD += $(BOOST_LDFLAGS) $(BOOST_THREAD_LIB) $(BOOST_REGEX_LIB) $(BOOST_SYSTEM_LIB) +ComponentHost_LDADD += $(BOOST_LDFLAGS) $(BOOST_THREAD_LIB) $(BOOST_REGEX_LIB) $(BOOST_SYSTEM_LIB) $(BOOST_FILESYSTEM_LIB) $(OMNIORB_LIBS) -ldl ComponentHost_CPPFLAGS = -I$(top_srcdir)/base/include $(BOOST_CPPFLAGS) ComponentHost_CXXFLAGS = -Wall diff --git a/redhawk/src/control/sdr/ComponentHost/ModuleLoader.cpp b/redhawk/src/control/sdr/ComponentHost/ModuleLoader.cpp index 60fa9ae94..652b140a7 100644 --- a/redhawk/src/control/sdr/ComponentHost/ModuleLoader.cpp +++ b/redhawk/src/control/sdr/ComponentHost/ModuleLoader.cpp @@ -23,7 +23,14 @@ #include #include +#ifdef __linux__ #include +#else +#define EI_NIDENT (16) +#define ELFMAG "\177ELF" +#define SELFMAG 4 +#endif + #include #include #include diff --git a/redhawk/src/control/sdr/devmgr/DeviceManager_DeployerSupport.cpp b/redhawk/src/control/sdr/devmgr/DeviceManager_DeployerSupport.cpp index 285df88ab..9dbbfa014 100644 --- a/redhawk/src/control/sdr/devmgr/DeviceManager_DeployerSupport.cpp +++ b/redhawk/src/control/sdr/devmgr/DeviceManager_DeployerSupport.cpp @@ -18,6 +18,7 @@ * along with this program. If not, see http://www.gnu.org/licenses/. */ +#include #include #include #include diff --git a/redhawk/src/control/sdr/devmgr/DeviceManager_impl.cpp b/redhawk/src/control/sdr/devmgr/DeviceManager_impl.cpp index 01aa408cb..b865d9e1d 100644 --- a/redhawk/src/control/sdr/devmgr/DeviceManager_impl.cpp +++ b/redhawk/src/control/sdr/devmgr/DeviceManager_impl.cpp @@ -18,6 +18,7 @@ * along with this program. If not, see http://www.gnu.org/licenses/. */ +#include #include #include #include diff --git a/redhawk/src/control/sdr/devmgr/main.cpp b/redhawk/src/control/sdr/devmgr/main.cpp index 03db0462e..85c5bb758 100644 --- a/redhawk/src/control/sdr/devmgr/main.cpp +++ b/redhawk/src/control/sdr/devmgr/main.cpp @@ -28,7 +28,10 @@ #include #include #include + +#ifdef __linux__ #include +#endif #include #include @@ -119,6 +122,7 @@ static void raise_limit(int resource, const char* name, const rlim_t DEFAULT_MAX */ +#ifdef __linux__ int sigprocessor(void ) { // Check if any children died.... @@ -181,6 +185,7 @@ int sigprocessor(void ) { return retval; } +#endif int main(int argc, char* argv[]) @@ -384,6 +389,7 @@ int main(int argc, char* argv[]) exit(EXIT_FAILURE); } +#ifdef __linux__ // We must block the signals in order for signalfd to receive them err = sigprocmask(SIG_BLOCK, &sigset, NULL); // Create the signalfd @@ -392,6 +398,7 @@ int main(int argc, char* argv[]) RH_NL_ERROR(logname, "signalfd failed: " << strerror(errno)); exit(EXIT_FAILURE); } +#endif // Start CORBA. Persistence is not currently supported in the DeviceManager. CORBA::ORB_ptr orb = ossie::corba::OrbInit(argc, argv, false); @@ -459,7 +466,10 @@ int main(int argc, char* argv[]) RH_NL_DEBUG(logname, "DevMgr cache set to " << devMgrCache); RH_NL_DEBUG(logname, "Domain Name set to " << domainName); +#ifdef __linux__ SimpleThread sigthread( sigprocessor ); +#endif + int pstage=-1; try { try { @@ -480,7 +490,9 @@ int main(int argc, char* argv[]) pstage=0; // start signal catching thread +#ifdef __linux__ sigthread.start(); +#endif // Activate the DeviceManager servant into its own POA, giving the POA responsibility // for its deletion. @@ -532,7 +544,9 @@ int main(int argc, char* argv[]) } } +#ifdef __linux__ sigthread.stop(); +#endif if ( pstage > 0 ) { int refcnt= DeviceManager_servant->_refcount_value(); diff --git a/redhawk/src/control/sdr/devmgr/spdSupport.cpp b/redhawk/src/control/sdr/devmgr/spdSupport.cpp index 645836e80..e91bb87d0 100644 --- a/redhawk/src/control/sdr/devmgr/spdSupport.cpp +++ b/redhawk/src/control/sdr/devmgr/spdSupport.cpp @@ -100,7 +100,7 @@ ImplementationInfo *ImplementationInfo::BuildImplementationInfo(CF::FileSystem_p const SPD::Implementation& spdImpl, CF::FileSystem_ptr depFileSys ) { - std::auto_ptr impl(new ImplementationInfo(spdImpl)); + std::unique_ptr impl(new ImplementationInfo(spdImpl)); // Handle allocation property dependencies RH_TRACE(ossie::SpdSupport::spdSupportLog, "Loading component implementation softpkg dependencies") @@ -108,7 +108,7 @@ ImplementationInfo *ImplementationInfo::BuildImplementationInfo(CF::FileSystem_p std::vector::const_iterator jj; for (jj = softpkgDependencies.begin(); jj != softpkgDependencies.end(); ++jj) { RH_TRACE(ossie::SpdSupport::spdSupportLog, "Loading component implementation softpkg dependency '" << *jj); - std::auto_ptr softpkg(SoftpkgInfo::BuildSoftpkgInfo(depFileSys, jj->localfile.c_str(),depFileSys)); + std::unique_ptr softpkg(SoftpkgInfo::BuildSoftpkgInfo(depFileSys, jj->localfile.c_str(),depFileSys)); impl->addSoftPkgDependency(softpkg.release()); } @@ -207,6 +207,8 @@ void ImplementationInfo::setCodeType(const SPD::Code::CodeType _type) case SPD::Code::DRIVER: codeType = CF::LoadableDevice::DRIVER; break; + case SPD::Code::CONTAINER: + codeType = CF::LoadableDevice::CONTAINER; default: RH_WARN(spdSupportLog, "Bad code type " << _type); } @@ -326,7 +328,7 @@ SoftpkgInfo *SoftpkgInfo::BuildSoftpkgInfo(CF::FileSystem_ptr fileSys, const cha { RH_TRACE(spdSupportLog, "Building soft package info from file " << spdFileName); - std::auto_ptr softpkg(new SoftpkgInfo(spdFileName)); + std::unique_ptr softpkg(new SoftpkgInfo(spdFileName)); if (!softpkg->parseProfile(fileSys,depFileSys)) { return 0; @@ -422,10 +424,10 @@ ImplementationInfo *SoftpkgInfo::selectedImplementation() const PREPARE_CF_LOGGING(ProgramProfile); -std::auto_ptr ProgramProfile::LoadProgramProfile(CF::FileSystem_ptr fileSys, +std::unique_ptr ProgramProfile::LoadProgramProfile(CF::FileSystem_ptr fileSys, const char* spdFileName, CF::FileSystem_ptr depFileSys ) { - std::auto_ptr ret( LoadProfile( fileSys, spdFileName, depFileSys ) ); + std::unique_ptr ret( LoadProfile( fileSys, spdFileName, depFileSys ) ); return ret; } @@ -435,7 +437,7 @@ ProgramProfile *ProgramProfile::LoadProfile(CF::FileSystem_ptr fileSys, RH_TRACE(spdSupportLog, "Building component info from file " << spdFileName); - std::auto_ptr newComponent(new ProgramProfile(spdFileName)); + std::unique_ptr newComponent(new ProgramProfile(spdFileName)); newComponent->load(fileSys, depFileSys ); diff --git a/redhawk/src/control/sdr/devmgr/spdSupport.h b/redhawk/src/control/sdr/devmgr/spdSupport.h index f7d1ecd51..6b4b56d0c 100644 --- a/redhawk/src/control/sdr/devmgr/spdSupport.h +++ b/redhawk/src/control/sdr/devmgr/spdSupport.h @@ -258,7 +258,7 @@ namespace ossie const char* _SPDFile, CF::FileSystem_ptr depFileSys ); - static std::auto_ptr LoadProgramProfile(CF::FileSystem_ptr fileSystem, + static std::unique_ptr LoadProgramProfile(CF::FileSystem_ptr fileSystem, const char* _SPDFile, CF::FileSystem_ptr depFileSys ); diff --git a/redhawk/src/control/sdr/dommgr/ApplicationComponent.cpp b/redhawk/src/control/sdr/dommgr/ApplicationComponent.cpp index aaf1e4d4a..2dc41b033 100644 --- a/redhawk/src/control/sdr/dommgr/ApplicationComponent.cpp +++ b/redhawk/src/control/sdr/dommgr/ApplicationComponent.cpp @@ -26,6 +26,7 @@ #include "Application_impl.h" using redhawk::ApplicationComponent; +using redhawk::componentProcess; // TODO: Should probably use its own logger; using Application_impl's for // consistency with old code @@ -35,8 +36,9 @@ ApplicationComponent::ApplicationComponent(const std::string& identifier) : _identifier(identifier), _name(identifier), _isVisible(true), - _processId(0), - _componentHost(0) + _processId(0, ""), + _componentHost(0), + _isCluster(false) { } @@ -113,6 +115,16 @@ void ApplicationComponent::setComponentHost(ApplicationComponent* componentHost) } } +void ApplicationComponent::setIsCluster(bool isCluster) +{ + _isCluster = isCluster; +} + +bool ApplicationComponent::getIsCluster() +{ + return _isCluster; +} + const std::vector& ApplicationComponent::getChildren() const { return _children; @@ -120,15 +132,32 @@ const std::vector& ApplicationComponent::getChildren() co unsigned long ApplicationComponent::getProcessId() const { - if (_componentHost) { + if (_componentHost && _componentHost->getIsCluster()) { + return 505; + } + else if (_componentHost) { + RH_TRACE(_appComponentLog, "ComponentHost component detected"); return _componentHost->getProcessId(); } - return _processId; + else if (_isCluster) { + // map output status to a fake pid to return + + if (!_clusterMgr->isTerminated(_identifier)) { + return 0; //fake pid DANGER + } else { + RH_WARN(_appComponentLog, "Component pod " + _identifier + " has a status other than Running"); + return 0; + } + + } + + RH_TRACE(_appComponentLog, "Not a cluster therefore get the pid for id " << _identifier); + return _processId.getProcessId(); } void ApplicationComponent::setProcessId(unsigned long processId) { - _processId = processId; + _processId.setProcessId(processId); } bool ApplicationComponent::isResource() const @@ -138,7 +167,16 @@ bool ApplicationComponent::isResource() const bool ApplicationComponent::isTerminated() const { - return (getProcessId() == 0); + if (_isCluster) { + + RH_TRACE(_appComponentLog, "Component is of cluster type and using cluster logic"); + return _clusterMgr->isTerminated(_identifier); + } + else { + int pid = getProcessId(); + RH_TRACE(_appComponentLog, "ProcessId reported for " << _identifier << " is " << pid); + return (pid == 0); + } } bool ApplicationComponent::isRegistered() const @@ -249,6 +287,13 @@ void ApplicationComponent::releaseObject() unsigned long timeout = 3; // seconds; omniORB::setClientCallTimeout(_resource, timeout * 1000); _resource->releaseObject(); + + if (_isCluster) { + _clusterMgr->deleteComponent(_identifier); + if(!_clusterMgr->pollStatusTerminated(_identifier)) { + RH_ERROR(_appComponentLog, "Failed to terminate component with name " << _identifier << " after polling it"); + } + } } catch (const CORBA::SystemException& exc) { if (!isTerminated()) { RH_ERROR(_appComponentLog, "Failed to release component '" << _identifier << "'; " @@ -262,6 +307,22 @@ void ApplicationComponent::releaseObject() void ApplicationComponent::terminate() { + if (_isCluster) { + try { + RH_TRACE(_appComponentLog, "terminate is attempting to delete pod " + _identifier); + + if (isTerminated()) { + RH_TRACE(_appComponentLog, "DEBUG pod " << _identifier << " already deleted"); + return; + } + _clusterMgr->deleteComponent(_identifier); + } catch (...) { + RH_ERROR(_appComponentLog, "ERROR Attempt to terminate pod " + _identifier + " has failed"); + } + + return; + } + // If the process already terminated, or the component is running inside of // a ComponentHost instance, skip termination if (isTerminated() || _componentHost) { @@ -277,7 +338,7 @@ void ApplicationComponent::terminate() << "' on device '" << _assignedDevice->label << "' (" << _assignedDevice->identifier << ")"); try { - _assignedDevice->executableDevice->terminate(_processId); + _assignedDevice->executableDevice->terminate(_processId.getProcessId()); } catch (const CF::ExecutableDevice::InvalidProcess& ip) { RH_ERROR(_appComponentLog, "Failed to terminate process for component '" << _identifier << "': invalid process"); @@ -311,3 +372,24 @@ void ApplicationComponent::unloadFiles() } CATCH_RH_WARN(_appComponentLog, "Unable to unload file " << file); } } + +componentProcess::componentProcess() { + _processId = 0; + _processName = ""; + +} + +componentProcess::componentProcess(int pid, std::string pname){ + _processId = pid; + _processName = pname; +} + +componentProcess::~componentProcess() {} + +unsigned long componentProcess::getProcessId() const{ + return _processId; +} + +void componentProcess::setProcessId(unsigned long pid){ + _processId = pid; +} diff --git a/redhawk/src/control/sdr/dommgr/ApplicationComponent.h b/redhawk/src/control/sdr/dommgr/ApplicationComponent.h index 705a0d0fe..f95274ea5 100644 --- a/redhawk/src/control/sdr/dommgr/ApplicationComponent.h +++ b/redhawk/src/control/sdr/dommgr/ApplicationComponent.h @@ -28,9 +28,28 @@ #include #include "PersistenceStore.h" +#include "Application_impl.h" #define DEFAULT_STOP_TIMEOUT 3 +namespace redhawk { + class componentProcess { + + public: + componentProcess(); + componentProcess(int pid, std::string pname); + virtual ~componentProcess(); + + unsigned long getProcessId() const; + void setProcessId(unsigned long pid); + + private: + unsigned long _processId; + std::string _processName; + // Change to enum of psssible pod statuses + }; +} + namespace redhawk { class ApplicationComponent { @@ -59,10 +78,13 @@ namespace redhawk { ApplicationComponent* getComponentHost(); void setComponentHost(ApplicationComponent* componentHost); + void setIsCluster(bool isCluster); + bool getIsCluster(); unsigned long getProcessId() const; void setProcessId(unsigned long processId); + bool isResource() const; bool isTerminated() const; bool isRegistered() const; @@ -94,7 +116,17 @@ namespace redhawk { _appComponentLog = log; }; + void setClusterManager(ossie::cluster::ClusterManagerResolverPtr clusterMgr) { + _clusterMgr = clusterMgr; + } + + ossie::cluster::ClusterManagerResolverPtr getClusterManager () { + return _clusterMgr; + } + private: + ossie::cluster::ClusterManagerResolverPtr _clusterMgr; + std::string _identifier; std::string _name; std::string _softwareProfile; @@ -102,13 +134,15 @@ namespace redhawk { std::string _implementationId; bool _isVisible; std::vector _loadedFiles; - unsigned long _processId; + //unsigned long _processId; + redhawk::componentProcess _processId; CORBA::Object_var _componentObject; CF::Resource_var _resource; boost::shared_ptr _assignedDevice; std::string _assignedDeviceId; ApplicationComponent* _componentHost; + bool _isCluster; std::vector _children; rh_logger::LoggerPtr _appComponentLog; }; diff --git a/redhawk/src/control/sdr/dommgr/ApplicationDeployment.cpp b/redhawk/src/control/sdr/dommgr/ApplicationDeployment.cpp index c9d18f806..7e2e48085 100644 --- a/redhawk/src/control/sdr/dommgr/ApplicationDeployment.cpp +++ b/redhawk/src/control/sdr/dommgr/ApplicationDeployment.cpp @@ -19,6 +19,7 @@ */ #include +#include #include #include @@ -33,6 +34,13 @@ using namespace ossie; PREPARE_CF_LOGGING(ApplicationDeployment); +ComponentDeployment::ComponentDeployment(const ossie::SoftPkg* softpkg, + const ossie::ComponentInstantiation* instantiation, + const std::string& identifier) : + GeneralDeployment(softpkg, instantiation, identifier) +{ +} + ContainerDeployment::ContainerDeployment(const ossie::SoftPkg* softpkg, ossie::ComponentInstantiation* instantiation, const std::string& identifier) : @@ -41,6 +49,7 @@ ContainerDeployment::ContainerDeployment(const ossie::SoftPkg* softpkg, { } + ApplicationDeployment::ApplicationDeployment(const SoftwareAssembly& sad, const std::string& instanceName, const CF::Properties& initConfiguration) : @@ -51,20 +60,18 @@ ApplicationDeployment::ApplicationDeployment(const SoftwareAssembly& sad, // (e.g. "Application_1"). identifier(sad.getID() + ":" + instanceName), instanceName(instanceName), - initConfiguration(initConfiguration), - ac(0) + initConfiguration(initConfiguration) { } ApplicationDeployment::~ApplicationDeployment() { - ac=NULL; - BOOST_FOREACH(ComponentDeployment* component, components) { + /*BOOST_FOREACH(boost::shared_ptr component, components) { delete component; } - BOOST_FOREACH(ContainerDeployment* container, containers) { + BOOST_FOREACH(boost::shared_ptr container, containers) { delete container; - } + }*/ } @@ -73,20 +80,30 @@ const std::string& ApplicationDeployment::getIdentifier() const return identifier; } -ComponentDeployment* ApplicationDeployment::getAssemblyController() +boost::shared_ptr ApplicationDeployment::getAssemblyController() { - BOOST_FOREACH(ComponentDeployment* deployment, components) { + BOOST_FOREACH(boost::shared_ptr deployment, components) { + if (deployment->isAssemblyController()) { + return deployment; + } + } + BOOST_FOREACH(boost::shared_ptr deployment, cluster) { if (deployment->isAssemblyController()) { return deployment; } } - return 0; + return boost::shared_ptr(); } redhawk::PropertyMap ApplicationDeployment::getAllocationContext() const { redhawk::PropertyMap properties; - BOOST_FOREACH(ComponentDeployment* deployment, components) { + BOOST_FOREACH(boost::shared_ptr deployment, components) { + if (deployment->isAssemblyController()) { + properties = deployment->getAllocationContext(); + } + } + BOOST_FOREACH(boost::shared_ptr deployment, cluster) { if (deployment->isAssemblyController()) { properties = deployment->getAllocationContext(); } @@ -94,7 +111,15 @@ redhawk::PropertyMap ApplicationDeployment::getAllocationContext() const return properties; } -ComponentDeployment* ApplicationDeployment::createComponentDeployment(const SoftPkg* softpkg, +void ApplicationDeployment::addDeploymentToCluster(boost::shared_ptr deployment) { + cluster.push_back(boost::move(deployment)); +} + +void ApplicationDeployment::addDeploymentToComponent(boost::shared_ptr deployment) { + components.push_back(boost::move(deployment)); +} + +boost::shared_ptr ApplicationDeployment::createComponentDeployment(const SoftPkg* softpkg, const ComponentInstantiation* instantiation) { // Create a unique identifier for this component instance by appending the @@ -112,8 +137,8 @@ ComponentDeployment* ApplicationDeployment::createComponentDeployment(const Soft return ac; } - ComponentDeployment* deployment = new ComponentDeployment(softpkg, instantiation, component_id); - components.push_back(deployment); + boost::shared_ptr deployment; + deployment = boost::make_shared(ComponentDeployment(softpkg, instantiation, component_id)); // Override properties from initial configuration if (instantiation->getID() == sad.getAssemblyControllerRefId()) { @@ -128,10 +153,11 @@ ComponentDeployment* ApplicationDeployment::createComponentDeployment(const Soft return deployment; } -ContainerDeployment* ApplicationDeployment::createContainer(redhawk::ProfileCache& cache, - const boost::shared_ptr& device) +boost::shared_ptr ApplicationDeployment::createContainer(redhawk::ProfileCache& cache, + const std::string& deviceId, const std::string& deviceLabel) { - ContainerDeployment* container = getContainer(device->identifier); + boost::shared_ptr container; + container = getContainer(deviceId); if (container) { RH_DEBUG(_appDeploymentLog, "Using existing container " << container->getIdentifier()); return container; @@ -139,19 +165,28 @@ ContainerDeployment* ApplicationDeployment::createContainer(redhawk::ProfileCach const ossie::SoftPkg* softpkg = cache.loadSoftPkg("/mgr/rh/ComponentHost/ComponentHost.spd.xml"); + bool isCluster = false; + if (softpkg->getImplementations()[0].getCodeType() == SPD::Code::CONTAINER) { + //set flag + RH_TRACE(_appDeploymentLog, "Setting container to be a cluster type") + isCluster = true; + } + // Create an instantiation with the ID and naming service name based on the // device label; the deployment will own this object ossie::ComponentInstantiation* instantiation = new ossie::ComponentInstantiation; - instantiation->instantiationId = "ComponentHost_" + device->label; + instantiation->instantiationId = "ComponentHost_" + deviceLabel; instantiation->namingservicename = instantiation->instantiationId; // Use the same pattern as components to generate the unique runtime ID RH_DEBUG(_appDeploymentLog, "Creating component host " << instantiation->getID()); std::string container_id = instantiation->getID() + ":" + instanceName; - container = new ContainerDeployment(softpkg, instantiation, container_id); - containers.push_back(container); - return container; + boost::shared_ptr deployment ( new ContainerDeployment(softpkg, instantiation, container_id)); + deployment->setIsCluster(isCluster); + containers.push_back(deployment); + + return deployment; } const ApplicationDeployment::ComponentList& ApplicationDeployment::getComponentDeployments() @@ -164,31 +199,46 @@ const ApplicationDeployment::ContainerList& ApplicationDeployment::getContainerD return containers; } -ComponentDeployment* ApplicationDeployment::getComponentDeployment(const std::string& instantiationId) +const ApplicationDeployment::ClusterList& ApplicationDeployment::getClusterDeployments() +{ + return cluster; +} + +boost::shared_ptr ApplicationDeployment::getComponentDeployment(const std::string& instantiationId) { for (ComponentList::iterator comp = components.begin(); comp != components.end(); ++comp) { if (instantiationId == (*comp)->getInstantiation()->getID()) { return *comp; } } + for (ClusterList::iterator comp = cluster.begin(); comp != cluster.end(); ++comp) { + if (instantiationId == (*comp)->getInstantiation()->getID()) { + return *comp; + } + } - return 0; + return boost::shared_ptr(); } -ComponentDeployment* ApplicationDeployment::getComponentDeploymentByUniqueId(const std::string& identifier) +boost::shared_ptr ApplicationDeployment::getComponentDeploymentByUniqueId(const std::string& identifier) { - BOOST_FOREACH(ComponentDeployment* deployment, components) { + BOOST_FOREACH(boost::shared_ptr deployment, components) { + if (identifier == deployment->getIdentifier()) { + return deployment; + } + } + BOOST_FOREACH(boost::shared_ptr deployment, cluster) { if (identifier == deployment->getIdentifier()) { return deployment; } } - return 0; + return boost::shared_ptr(); } void ApplicationDeployment::applyCpuReservations(const CpuReservations& reservations) { - BOOST_FOREACH(ComponentDeployment* deployment, components) { + BOOST_FOREACH(boost::shared_ptr deployment, components) { CpuReservations::const_iterator reserved = reservations.find(deployment->getIdentifier()); if (reserved == reservations.end()) { // NB: Check for the usage name for consistency with 2.0, although @@ -205,7 +255,7 @@ void ApplicationDeployment::applyCpuReservations(const CpuReservations& reservat } } -void ApplicationDeployment::overrideAssemblyControllerProperties(ComponentDeployment* deployment) +void ApplicationDeployment::overrideAssemblyControllerProperties(boost::shared_ptr deployment) { BOOST_FOREACH(const redhawk::PropertyType& override, initConfiguration) { const std::string propid = override.getId(); @@ -223,7 +273,7 @@ void ApplicationDeployment::overrideAssemblyControllerProperties(ComponentDeploy } } -void ApplicationDeployment::overrideExternalProperties(ComponentDeployment* deployment) +void ApplicationDeployment::overrideExternalProperties(boost::shared_ptr deployment) { const std::string& instantiation_id = deployment->getInstantiation()->getID(); BOOST_FOREACH(const SoftwareAssembly::Property& property, sad.getExternalProperties()) { @@ -242,7 +292,7 @@ void ApplicationDeployment::overrideExternalProperties(ComponentDeployment* depl } } -void ApplicationDeployment::overrideImpliedProperties(ComponentDeployment* deployment) { +void ApplicationDeployment::overrideImpliedProperties(boost::shared_ptr deployment) { BOOST_FOREACH(const redhawk::PropertyType& override, initConfiguration) { const std::string propid = override.getId(); if (propid == "LOGGING_CONFIG_URI") { @@ -251,19 +301,19 @@ void ApplicationDeployment::overrideImpliedProperties(ComponentDeployment* deplo } } -ContainerDeployment* ApplicationDeployment::getContainer(const std::string& deviceId) +boost::shared_ptr ApplicationDeployment::getContainer(const std::string& deviceId) { - BOOST_FOREACH(ContainerDeployment* container, containers) { + BOOST_FOREACH(boost::shared_ptr container, containers) { if (container->getAssignedDevice() && container->getAssignedDevice()->identifier == deviceId) { return container; } } - return 0; + return boost::shared_ptr(); } CF::Resource_ptr ApplicationDeployment::lookupComponentByInstantiationId(const std::string& identifier) { - ComponentDeployment* deployment = getComponentDeployment(identifier); + boost::shared_ptr deployment = getComponentDeployment(identifier); if (deployment) { return deployment->getResourcePtr(); } @@ -274,7 +324,7 @@ CF::Device_ptr ApplicationDeployment::lookupDeviceThatLoadedComponentInstantiati { RH_TRACE(_appDeploymentLog, "[DeviceLookup] Lookup device that loaded component " << componentId); - ComponentDeployment* deployment = getComponentDeployment(componentId); + boost::shared_ptr deployment = getComponentDeployment(componentId); if (!deployment) { throw ossie::LookupError("component '" + componentId + "' not found"); } @@ -293,7 +343,7 @@ CF::Device_ptr ApplicationDeployment::lookupDeviceUsedByComponentInstantiationId { RH_TRACE(_appDeploymentLog, "[DeviceLookup] Lookup device used by component " << componentId); - ComponentDeployment* deployment = getComponentDeployment(componentId); + boost::shared_ptr deployment = getComponentDeployment(componentId); if (!deployment) { throw ossie::LookupError("component '" + componentId + "' not found"); } diff --git a/redhawk/src/control/sdr/dommgr/ApplicationDeployment.h b/redhawk/src/control/sdr/dommgr/ApplicationDeployment.h index 3b68ac870..452370f54 100644 --- a/redhawk/src/control/sdr/dommgr/ApplicationDeployment.h +++ b/redhawk/src/control/sdr/dommgr/ApplicationDeployment.h @@ -31,6 +31,9 @@ #include #include +#include +#include + #include "connectionSupport.h" #include "Deployment.h" @@ -38,6 +41,14 @@ namespace redhawk { class ProfileCache; + class ComponentDeployment : public GeneralDeployment + { + public: + ComponentDeployment( const ossie::SoftPkg* softpkg, + const ossie::ComponentInstantiation* instantiation, + const std::string& identifier); + }; + class ContainerDeployment : public ComponentDeployment { public: @@ -45,6 +56,7 @@ namespace redhawk { ossie::ComponentInstantiation* instantiation, const std::string& identifier); + protected: // The instantiation does not appear in a SAD; take ownership here boost::scoped_ptr instance; @@ -55,8 +67,9 @@ namespace redhawk { ENABLE_LOGGING; public: - typedef std::vector ComponentList; - typedef std::vector ContainerList; + typedef std::vector< boost::shared_ptr< GeneralDeployment> > ComponentList; + typedef std::vector< boost::shared_ptr< GeneralDeployment> > ContainerList; + typedef std::vector< boost::shared_ptr< GeneralDeployment> > ClusterList; typedef std::map CpuReservations; ApplicationDeployment(const ossie::SoftwareAssembly& sad, @@ -72,20 +85,24 @@ namespace redhawk { */ redhawk::PropertyMap getAllocationContext() const; - ComponentDeployment* getAssemblyController(); + boost::shared_ptr getAssemblyController(); - ComponentDeployment* createComponentDeployment(const ossie::SoftPkg* softpkg, + boost::shared_ptr createComponentDeployment(const ossie::SoftPkg* softpkg, const ossie::ComponentInstantiation* instantiation); + void addDeploymentToCluster(boost::shared_ptr deployment); + void addDeploymentToComponent(boost::shared_ptr deployment); + const ComponentList& getComponentDeployments(); - ComponentDeployment* getComponentDeployment(const std::string& instantiationId); - ComponentDeployment* getComponentDeploymentByUniqueId(const std::string& identifier); + boost::shared_ptr getComponentDeployment(const std::string& instantiationId); + boost::shared_ptr getComponentDeploymentByUniqueId(const std::string& identifier); void applyCpuReservations(const CpuReservations& reservations); const ContainerList& getContainerDeployments(); - ContainerDeployment* createContainer(redhawk::ProfileCache& cache, - const boost::shared_ptr& device); + const ClusterList& getClusterDeployments(); + boost::shared_ptr createContainer(redhawk::ProfileCache& cache, + const std::string& deviceId, const std::string& deviceLabel); // Adapt interfaces for component and device search to support // ConnectionManager @@ -100,22 +117,32 @@ namespace redhawk { void setLogger(rh_logger::LoggerPtr log) { _appDeploymentLog = log; - }; + } + + void setClusterManager(std::string app_id) { + clusterMgr = ossie::cluster::GetClusterManagerResolver(app_id); + } + + ossie::cluster::ClusterManagerResolverPtr getClusterManager() { + return clusterMgr; + } protected: - void overrideAssemblyControllerProperties(ComponentDeployment* deployment); - void overrideExternalProperties(ComponentDeployment* deployment); - void overrideImpliedProperties(ComponentDeployment* deployment); + ossie::cluster::ClusterManagerResolverPtr clusterMgr; + void overrideAssemblyControllerProperties(boost::shared_ptr deployment); + void overrideExternalProperties(boost::shared_ptr deployment); + void overrideImpliedProperties(boost::shared_ptr deployment); - ContainerDeployment* getContainer(const std::string& deviceId); + boost::shared_ptr getContainer(const std::string& deviceId); const ossie::SoftwareAssembly& sad; const std::string identifier; const std::string instanceName; redhawk::PropertyMap initConfiguration; + ClusterList cluster; ComponentList components; ContainerList containers; - ComponentDeployment *ac; + boost::shared_ptr ac; rh_logger::LoggerPtr _appDeploymentLog; }; } diff --git a/redhawk/src/control/sdr/dommgr/ApplicationFactory_impl.cpp b/redhawk/src/control/sdr/dommgr/ApplicationFactory_impl.cpp index a19c6b0f7..d596e54e0 100644 --- a/redhawk/src/control/sdr/dommgr/ApplicationFactory_impl.cpp +++ b/redhawk/src/control/sdr/dommgr/ApplicationFactory_impl.cpp @@ -29,10 +29,17 @@ #include #include #include +#include +#include +#include +#include +#include #include #include #include +#include +#include #include #include @@ -49,6 +56,7 @@ #include "ApplicationValidator.h" #include "DeploymentExceptions.h" + namespace fs = boost::filesystem; using namespace ossie; using namespace std; @@ -277,7 +285,9 @@ void createHelper::assignPlacementsToDevices(redhawk::ApplicationDeployment& app // Place the remaining components one-by-one BOOST_FOREACH(const ComponentPlacement& placement, _appFact._sadParser.getComponentPlacements()) { const SoftPkg* softpkg = _profileCache.loadProfile(placement.filename); + BOOST_FOREACH(const ComponentInstantiation& instantiation, placement.getInstantiations()) { + boost::shared_ptr deployment; // Even though the XML supports more than one instantiation per // component placement, the tooling doesn't support that, so this // loop may be strictly academic @@ -286,18 +296,27 @@ void createHelper::assignPlacementsToDevices(redhawk::ApplicationDeployment& app if (device != devices.end()) { assigned_device = device->second; RH_TRACE(_createHelperLog, "Component " << instantiation.getID() - << " is assigned to device " << assigned_device); + << " is assigned to device " << assigned_device); } - redhawk::ComponentDeployment* deployment = appDeployment.createComponentDeployment(softpkg, &instantiation); + + deployment = appDeployment.createComponentDeployment(softpkg, &instantiation); + allocateComponent(appDeployment, deployment, assigned_device, specialized_reservations); // For components that run as shared libraries, create or reuse a // matching container deployment if (deployment->getImplementation()->getCodeType() == SPD::Code::SHARED_LIBRARY) { RH_DEBUG(_createHelperLog, "Component " << deployment->getInstantiation()->getID() - << "' implementation " << deployment->getImplementation()->getID() - << " is a shared library"); - redhawk::ContainerDeployment* container = appDeployment.createContainer(_profileCache, deployment->getAssignedDevice()); + << "' implementation " << deployment->getImplementation()->getID() + << " is a shared library"); + boost::shared_ptr container; + std::string deviceId = "test"; + std::string deviceLabel = "test"; + if (deployment->getAssignedDevice()) { + deviceId = deployment->getAssignedDevice()->identifier; + deviceLabel = deployment->getAssignedDevice()->label; + } + container = appDeployment.createContainer(_profileCache, deviceId, deviceLabel); if (!container->getAssignedDevice()) { const redhawk::PropertyMap& devReqs = deployment->getDeviceRequires(); @@ -305,11 +324,25 @@ void createHelper::assignPlacementsToDevices(redhawk::ApplicationDeployment& app // Use whether the device is assigned as a sentinel to check // whether the container was already created, and if not, // allocate it to the device - allocateComponent(appDeployment, container, deployment->getAssignedDevice()->identifier, specialized_reservations); + allocateComponent(appDeployment, container, deviceId, specialized_reservations); + // can only run this once the implementation is set in the above function + if (container->getCodeType() == CF::LoadableDevice::CONTAINER) { + appDeployment.addDeploymentToCluster(deployment); + } + else { + appDeployment.addDeploymentToComponent(deployment); + } } deployment->setContainer(container); } - + else { + if (deployment->getCodeType() == CF::LoadableDevice::CONTAINER) { + appDeployment.addDeploymentToCluster(deployment); + } + else { + appDeployment.addDeploymentToComponent(deployment); + } + } } } } @@ -357,7 +390,7 @@ bool createHelper::placeHostCollocation(redhawk::ApplicationDeployment& appDeplo // Try all of the implementations from the current component for matches // with the processor and OS dependencies - redhawk::ComponentDeployment* deployment = *current; + boost::shared_ptr deployment = *current; const SPD::Implementations& comp_impls = deployment->getSoftPkg()->getImplementations(); RH_TRACE(_createHelperLog, "Finding collocation-compatible implementations for component " << deployment->getInstantiation()->getID()); @@ -445,7 +478,7 @@ bool createHelper::allocateHostCollocation(redhawk::ApplicationDeployment& appDe for (DeploymentList::const_iterator depl = components.begin(); depl != components.end(); ++depl) { // Reset any dependencies that may have been resolved in a prior attempt (*depl)->clearDependencies(); - if (!resolveSoftpkgDependencies(appDeployment, *depl, *node)) { + if (!resolveSoftpkgDependencies(appDeployment, (*depl).get(), *node)) { RH_TRACE(_createHelperLog, "Unable to resolve softpackage dependencies for component " << (*depl)->getIdentifier() << " implementation " << (*depl)->getImplementation()->getID()); @@ -456,7 +489,7 @@ bool createHelper::allocateHostCollocation(redhawk::ApplicationDeployment& appDe const std::string component_id = (*depl)->getIdentifier(); if (nicAllocations.count(component_id)) { const std::string& alloc_id = nicAllocations[component_id]; - _applyNicAllocation((*depl), alloc_id, node->device); + _applyNicAllocation(*depl, alloc_id, node->device); } } @@ -478,7 +511,7 @@ redhawk::PropertyMap createHelper::_consolidateAllocations(const DeploymentList& { redhawk::PropertyMap allocs; for (DeploymentList::const_iterator depl = deployments.begin(); depl != deployments.end(); ++depl) { - redhawk::PropertyMap allocationProperties = _getComponentAllocations(*depl); + redhawk::PropertyMap allocationProperties = _getComponentAllocations((*depl)); std::string nic_alloc_id = _getNicAllocationId(allocationProperties); if (!nic_alloc_id.empty()) { @@ -490,7 +523,7 @@ redhawk::PropertyMap createHelper::_consolidateAllocations(const DeploymentList& return allocs; } -redhawk::PropertyMap createHelper::_getComponentAllocations(const redhawk::ComponentDeployment* deployment) +redhawk::PropertyMap createHelper::_getComponentAllocations(const boost::shared_ptr deployment) { const ossie::SPD::Implementation* implementation = deployment->getImplementation(); const std::vector& prop_refs = implementation->getDependencies(); @@ -537,10 +570,13 @@ void createHelper::_placeHostCollocation(redhawk::ApplicationDeployment& appDepl BOOST_FOREACH(const ComponentPlacement& placement, collocation.getComponents()) { const SoftPkg* softpkg = _profileCache.loadProfile(placement.filename); BOOST_FOREACH(const ComponentInstantiation& instantiation, placement.getInstantiations()) { + const SPD::Code::CodeType type = softpkg->getImplementations()[0].getCodeType(); + RH_TRACE(_createHelperLog, "The code type is " << type) // Even though the XML supports more than one instantiation per // component placement, the tooling doesn't support that, so this // loop may be strictly academic - redhawk::ComponentDeployment* deployment = appDeployment.createComponentDeployment(softpkg, &instantiation); + boost::shared_ptr deployment; + deployment = appDeployment.createComponentDeployment(softpkg, &instantiation); deployments.push_back(deployment); DeviceAssignmentMap::const_iterator device = devices.find(instantiation.getID()); @@ -647,14 +683,22 @@ void createHelper::_placeHostCollocation(redhawk::ApplicationDeployment& appDepl RH_DEBUG(_createHelperLog, "Component " << (*deployment)->getInstantiation()->getID() << "' implementation " << (*deployment)->getImplementation()->getID() << " is a shared library"); - redhawk::ContainerDeployment* container = appDeployment.createContainer(_profileCache, (*deployment)->getAssignedDevice()); + boost::shared_ptr container; + std::string deviceId = "test"; + std::string deviceLabel = "test"; + if ((*deployment)->getAssignedDevice()) { + deviceId = (*deployment)->getAssignedDevice()->identifier; + deviceLabel = (*deployment)->getAssignedDevice()->label; + } + + container = appDeployment.createContainer(_profileCache, deviceId, deviceLabel); if (!container->getAssignedDevice()) { const redhawk::PropertyMap& devReqs = (*deployment)->getDeviceRequires(); if ( devReqs.size() ) container->setDeviceRequires(devReqs); // Use whether the device is assigned as a sentinel to check // whether the container was already created, and if not, // allocate it to the device - allocateComponent(appDeployment, container, (*deployment)->getAssignedDevice()->identifier, specialized_reservations); + allocateComponent(appDeployment, container, deviceId, specialized_reservations); } (*deployment)->setContainer(container); } @@ -796,7 +840,7 @@ void createHelper::setUpExternalPorts(redhawk::ApplicationDeployment& appDeploym << "' identifier '" << port.identifier << "'"); // Get the component from the instantiation identifier. - redhawk::ComponentDeployment* deployment = appDeployment.getComponentDeployment(port.componentrefid); + boost::shared_ptr deployment = appDeployment.getComponentDeployment(port.componentrefid); if (!deployment) { // The SAD parser should have rejected invalid component references throw std::logic_error("component not found for external port '" + port.getExternalName() + "'"); @@ -844,7 +888,7 @@ void createHelper::setUpExternalProperties(redhawk::ApplicationDeployment& appDe RH_TRACE(_createHelperLog, "Property component: " << prop->comprefid << " Property identifier: " << prop->propid); // Get the component from the compref identifier. - redhawk::ComponentDeployment* deployment = appDeployment.getComponentDeployment(prop->comprefid); + boost::shared_ptr deployment = appDeployment.getComponentDeployment(prop->comprefid); if (!deployment) { // The SAD parser should have rejected invalid component references throw std::logic_error("component not found for external property '" + prop->getExternalID() + "'"); @@ -1023,14 +1067,15 @@ CF::Application_ptr createHelper::create ( _registeredDevices = _appFact._domainManager->getRegisteredDevices(); _executableDevices.clear(); for (DeviceList::iterator iter = _registeredDevices.begin(); iter != _registeredDevices.end(); ++iter) { - if ((*iter)->isExecutable()) { + if ((*iter) && (*iter)->isExecutable()) { _executableDevices.push_back(*iter); } } // Fail immediately if there are no available devices to execute components + bool executableDevicesPresent = true; if (_executableDevices.empty()) { - throw redhawk::NoExecutableDevices(); + executableDevicesPresent = false; } const std::string lastExecutableDevice = _appFact._domainManager->getLastDeviceUsedForDeployment(); @@ -1067,11 +1112,19 @@ CF::Application_ptr createHelper::create ( // Assign all components to devices assignPlacementsToDevices(app_deployment, deviceAssignments, specialized_reservations); + // Fail immediately if there are no available devices to execute components + if ( !executableDevicesPresent && + (!app_deployment.getComponentDeployments().empty() || + (!app_deployment.getContainerDeployments().empty() && + !app_deployment.getContainerDeployments()[0]->getIsCluster()))) { + throw redhawk::NoExecutableDevices(); + } + + app_deployment.setClusterManager(app_deployment.getIdentifier()); + // Assign CPU reservations to components app_deployment.applyCpuReservations(specialized_reservations); - //////////////////////////////////////////////// - // Create the Application servant _application = new Application_impl(app_deployment.getIdentifier(), name, _appFact._softwareProfile, @@ -1087,15 +1140,26 @@ CF::Application_ptr createHelper::create ( PortableServer::ObjectId_var oid = Application_impl::Activate(_application); CF::ApplicationRegistrar_var app_reg = _application->appReg(); - loadAndExecuteContainers(app_deployment.getContainerDeployments(), app_reg); + + loadAndExecuteContainers(app_deployment.getContainerDeployments(), app_reg, app_deployment.getClusterManager()); + + // run before executables so that component host is ready if it is a cluster type + loadAndExecuteCluster(app_deployment.getClusterDeployments(), app_reg, app_deployment.getClusterManager(), app_deployment.getIdentifier()); + + waitForClusterRegistration(app_deployment); waitForContainerRegistration(app_deployment); loadAndExecuteComponents(app_deployment.getComponentDeployments(), app_reg); waitForComponentRegistration(app_deployment); + //Can only execute a shared library component once the ComponentHost is up + loadAndExecuteShared(app_deployment.getComponentDeployments(), app_deployment.getClusterDeployments(), app_deployment.getClusterManager(), app_reg); + waitForSharedRegistration(app_deployment); + + // Check that the assembly controller is valid RH_TRACE(_createHelperLog, "Checking assembly controller"); - redhawk::ComponentDeployment* ac_deployment = app_deployment.getAssemblyController(); + boost::shared_ptr ac_deployment = app_deployment.getAssemblyController(); if (!ac_deployment) { // This condition should have been prevented by parser validation throw std::logic_error("Assembly controller has not been assigned"); @@ -1109,10 +1173,12 @@ CF::Application_ptr createHelper::create ( _application->setAssemblyController(ac_deployment->getIdentifier()); initializeComponents(app_deployment.getComponentDeployments()); + initializeComponents(app_deployment.getClusterDeployments()); std::vector connections; connectComponents(app_deployment, connections, _baseNamingContext); configureComponents(app_deployment.getComponentDeployments()); + configureComponents(app_deployment.getClusterDeployments()); setUpExternalPorts(app_deployment, _application); setUpExternalProperties(app_deployment, _application); @@ -1143,11 +1209,13 @@ CF::Application_ptr createHelper::create ( ossie::corba::push_back(app_devices, assignment); } - const DeploymentList& deployments = app_deployment.getComponentDeployments(); - for (DeploymentList::const_iterator dep = deployments.begin(); dep != deployments.end(); ++dep) { + const ComponentList& deployments = app_deployment.getComponentDeployments(); + for (ComponentList::const_iterator dep = deployments.begin(); dep != deployments.end(); ++dep) { CF::DeviceAssignmentType comp_assignment; comp_assignment.componentId = (*dep)->getIdentifier().c_str(); - comp_assignment.assignedDeviceId = (*dep)->getAssignedDevice()->identifier.c_str(); + if (((*dep) && !(*dep)->getIsCluster() && (*dep)->getAssignedDevice()) || ((*dep)->getContainer() && !(*dep)->getContainer()->getIsCluster() && (*dep)->getAssignedDevice())) { + comp_assignment.assignedDeviceId = (*dep)->getAssignedDevice()->identifier.c_str(); + } ossie::corba::push_back(app_devices, comp_assignment); const UsesList& dep_uses = (*dep)->getUsesDeviceAssignments(); @@ -1164,8 +1232,29 @@ CF::Application_ptr createHelper::create ( } } - std::vector start_order = getStartOrder(app_deployment.getComponentDeployments()); - _application->setStartOrder(start_order); + /*const ClusterList& cluster_deployments = app_deployment.getClusterDeployments(); + for (ClusterList::const_iterator dep = cluster_deployments.begin(); dep != cluster_deployments.end(); ++dep) { + CF::DeviceAssignmentType comp_assignment; + comp_assignment.componentId = (*dep)->getIdentifier().c_str(); + ossie::corba::push_back(app_devices, comp_assignment); + + const UsesList& dep_uses = (*dep)->getUsesDeviceAssignments(); + for (UsesList::const_iterator uses = dep_uses.begin(); uses != dep_uses.end(); ++uses) { + CF::DeviceAssignmentType assignment; + assignment.componentId = (*dep)->getIdentifier().c_str(); + std::string deviceId; + try { + deviceId = ossie::corba::returnString((*uses)->getAssignedDevice()->identifier()); + } catch (...) { + } + assignment.assignedDeviceId = deviceId.c_str(); + ossie::corba::push_back(app_devices, assignment); + } + }*/ + std::vector start_order_comp = getStartOrder(app_deployment.getComponentDeployments()); + std::vector start_order_cluster = getStartOrder(app_deployment.getClusterDeployments()); + start_order_comp.insert (start_order_comp.begin(),start_order_cluster.begin(),start_order_cluster.end()); + _application->setStartOrder(start_order_comp); _application->populateApplication(app_devices, connections, @@ -1185,8 +1274,10 @@ CF::Application_ptr createHelper::create ( // After all components have been deployed, we know that the first // executable device in the list was used for the last deployment, // so update the domain manager - _appFact._domainManager->setLastDeviceUsedForDeployment(_executableDevices.front()->identifier); - + if (executableDevicesPresent) { + _appFact._domainManager->setLastDeviceUsedForDeployment(_executableDevices.front()->identifier); + } + _appFact._domainManager->sendAddEvent(_appFact._identifier, app_deployment.getIdentifier(), name, @@ -1261,7 +1352,15 @@ void createHelper::verifyNoCpuSpecializationCollisions(const ossie::SoftwareAsse std::vector createHelper::getComponentUsageNames(redhawk::ApplicationDeployment& appDeployment) { std::vector retval; - BOOST_FOREACH(const redhawk::ComponentDeployment* compdep, appDeployment.getComponentDeployments()) { + BOOST_FOREACH(const boost::shared_ptr compdep, appDeployment.getComponentDeployments()) { + retval.push_back(compdep->getInstantiation()->usageName); + } + return retval; +} + +std::vector createHelper::getClusterUsageNames(redhawk::ApplicationDeployment& appDeployment) { + std::vector retval; + BOOST_FOREACH(const boost::shared_ptr compdep, appDeployment.getClusterDeployments()) { retval.push_back(compdep->getInstantiation()->usageName); } return retval; @@ -1286,12 +1385,14 @@ void createHelper::_resolveAssemblyController( redhawk::ApplicationDeployment& const ComponentPlacement *asm_placement = _appFact._sadParser.getAssemblyControllerPlacement(); if ( asm_placement && asm_refid != "" and asm_refid.size() > 0 ) { const SoftPkg* softpkg = _profileCache.loadProfile(asm_placement->filename); + const ComponentInstantiation *asm_inst = asm_placement->getInstantiation(asm_refid); if ( asm_inst ) { std::string inst_id = asm_inst->getID(); RH_DEBUG(_createHelperLog, "Resolved ASSEMBLY CONTROLLER: " << asm_refid ); - redhawk::ComponentDeployment *cp __attribute__((unused)); + boost::shared_ptr cp __attribute__((unused)); cp = appDeployment.createComponentDeployment(softpkg, asm_inst); + return; } } @@ -1301,7 +1402,7 @@ CF::AllocationManager::AllocationResponseSequence* createHelper::allocateUsesDev { CF::AllocationManager::AllocationRequestSequence request; request.length(usesDevices.size()); - + for (unsigned int usesdev_idx=0; usesdev_idx< usesDevices.size(); usesdev_idx++) { const std::string requestid = usesDevices[usesdev_idx].getID(); request[usesdev_idx].requestID = requestid.c_str(); @@ -1310,13 +1411,13 @@ CF::AllocationManager::AllocationResponseSequence* createHelper::allocateUsesDev CF::Properties& allocationProperties = request[usesdev_idx].allocationProperties; const std::vector&prop_refs = usesDevices[usesdev_idx].getDependencies(); this->_castRequestProperties(allocationProperties, prop_refs); - + this->_evaluateMATHinRequest(allocationProperties, configureProperties); } - + return this->_allocationMgr->allocate(request); } - + /* Check all allocation dependencies for a particular component and assign it to a device. * - Check component's overall usesdevice dependencies * - Allocate capacity on usesdevice(s) @@ -1324,19 +1425,19 @@ CF::AllocationManager::AllocationResponseSequence* createHelper::allocateUsesDev * - Allocate the component to a particular device */ void createHelper::allocateComponent(redhawk::ApplicationDeployment& appDeployment, - redhawk::ComponentDeployment* deployment, + boost::shared_ptr deployment, const std::string& assignedDeviceId, const std::map& specialized_reservations) { redhawk::PropertyMap alloc_context = deployment->getAllocationContext(); - + // Find the devices that allocate the SPD's minimum required usesdevices properties const std::vector& usesDevices = deployment->getSoftPkg()->getUsesDevices(); redhawk::UsesDeviceDeployment assignedDevices; if (!allocateUsesDevices(usesDevices, alloc_context, assignedDevices, this->_allocations)) { // There were unsatisfied usesdevices for the component std::vector failed_ids = _getFailedUsesDevices(usesDevices, assignedDevices); - throw redhawk::UsesDeviceFailure(deployment, failed_ids); + throw redhawk::UsesDeviceFailure(deployment.get(), failed_ids); } // now attempt to find an implementation that can have it's allocation requirements met @@ -1350,7 +1451,7 @@ void createHelper::allocateComponent(redhawk::ApplicationDeployment& appDeployme redhawk::UsesDeviceDeployment implAssignedDevices; ScopedAllocations implAllocations(*this->_allocationMgr); const std::vector& implUsesDevVec = implementation->getUsesDevices(); - + if (!allocateUsesDevices(implUsesDevVec, alloc_context, implAssignedDevices, implAllocations)) { RH_DEBUG(_createHelperLog, "Unable to satisfy 'usesdevice' dependencies for component " << deployment->getIdentifier() << " implementation " << implementation->getID()); @@ -1359,55 +1460,81 @@ void createHelper::allocateComponent(redhawk::ApplicationDeployment& appDeployme deployment->setImplementation(implementation); - // Transfer ownership of the uses device assigments to the deployment - assignedDevices.transferUsesDeviceAssignments(*deployment); - - // Found an implementation which has its 'usesdevice' dependencies - // satisfied, now perform assignment/allocation of component to device - RH_DEBUG(_createHelperLog, "Trying to find the device"); - ossie::AllocationResult response = allocateComponentToDevice(deployment, assignedDeviceId, - appDeployment.getIdentifier(), - specialized_reservations); - - if (response.first.empty()) { - RH_DEBUG(_createHelperLog, "Unable to allocate device for component " - << deployment->getIdentifier() << " implementation " << implementation->getID()); - continue; + if (deployment->getCodeType() == CF::LoadableDevice::CONTAINER) { + deployment->setIsCluster(true); } - - // Track successful deployment allocation - implAllocations.push_back(response.first); - - // Convert from response back into a device node - deployment->setAssignedDevice(response.second); - DeviceNode& node = *(response.second); - const std::string& deviceId = node.identifier; - - if (!resolveSoftpkgDependencies(appDeployment, deployment, node)) { - RH_DEBUG(_createHelperLog, "Unable to resolve softpackage dependencies for component " - << deployment->getIdentifier() << " implementation " << implementation->getID()); - continue; + else if (deployment->getCodeType() == CF::LoadableDevice::SHARED_LIBRARY) { + // This does not effect speed because the loaded spd gets cached + const ossie::SoftPkg* softpkg = _profileCache.loadSoftPkg("/mgr/rh/ComponentHost/ComponentHost.spd.xml"); + if (softpkg->getImplementations()[0].getCodeType() == SPD::Code::CONTAINER) { + deployment->setIsCluster(true); + } + else { + deployment->setIsCluster(false); + } + } + else { + deployment->setIsCluster(false); } - - // Allocation to a device succeeded - RH_DEBUG(_createHelperLog, "Assigned component " << deployment->getInstantiation()->getID() - << " implementation " << implementation->getID() << " to device " << deviceId); - // Move the device to the front of the list - rotateDeviceList(_executableDevices, deviceId); - - // Store the implementation-specific usesdevice allocations and - // device assignments - implAllocations.transfer(this->_allocations); + // Transfer ownership of the uses device assigments to the deployment + assignedDevices.transferUsesDeviceAssignments(*deployment); + + //RH_DEBUG(_createHelperLog, "TEST1 " << (!deployment->getIsCluster() || (deployment->getContainer() && !deployment->getContainer()->getIsCluster()))) + //RH_DEBUG(_createHelperLog, "TEST1 " << deployment->getIsCluster()) + //RH_DEBUG(_createHelperLog, "TEST1 " << (deployment->getContainer() && !deployment->getContainer()->getIsCluster())) + if (!_executableDevices.empty() && (!deployment->getIsCluster())) { + //RH_DEBUG(_createHelperLog, "TEST2") + // Found an implementation which has its 'usesdevice' dependencies + // satisfied, now perform assignment/allocation of component to device + RH_DEBUG(_createHelperLog, "Trying to find the device"); + ossie::AllocationResult response = allocateComponentToDevice(deployment, assignedDeviceId, + appDeployment.getIdentifier(), + specialized_reservations); + + if (response.first.empty()) { + RH_DEBUG(_createHelperLog, "Unable to allocate device for component " + << deployment->getIdentifier() << " implementation " << implementation->getID()); + continue; + } + + // Track successful deployment allocation + implAllocations.push_back(response.first); + + // Convert from response back into a device node + deployment->setAssignedDevice(response.second); + DeviceNode& node = *(response.second); + const std::string& deviceId = node.identifier; + + if (!resolveSoftpkgDependencies(appDeployment, (deployment).get(), node)) { + RH_DEBUG(_createHelperLog, "Unable to resolve softpackage dependencies for component " + << deployment->getIdentifier() << " implementation " << implementation->getID()); + continue; + } + + // Allocation to a device succeeded + RH_DEBUG(_createHelperLog, "Assigned component " << deployment->getInstantiation()->getID() + << " implementation " << implementation->getID() << " to device " << deviceId); + + // Move the device to the front of the list + rotateDeviceList(_executableDevices, deviceId); + + // Store the implementation-specific usesdevice allocations and + // device assignments + implAllocations.transfer(this->_allocations); + + implAssignedDevices.transferUsesDeviceAssignments(*deployment); + } - implAssignedDevices.transferUsesDeviceAssignments(*deployment); - return; } + //RH_DEBUG(_createHelperLog, "TEST3") // Report failure, checking if the problem was that all executable devices // were busy if (_allDevicesBusy(_executableDevices)) { + + //RH_DEBUG(_createHelperLog, "TEST4") throw redhawk::PlacementFailure(deployment->getInstantiation(), "all executable devices (GPPs) in the Domain are busy"); } throw redhawk::PlacementFailure(deployment->getInstantiation(), "failed to satisfy device dependencies"); @@ -1587,12 +1714,12 @@ void createHelper::_evaluateMATHinRequest(CF::Properties &request, const CF::Pro } /* Perform allocation/assignment of a particular component to the device. - * - Check if deployment has required device properties.. + * - Check if deployment has required device properties.. * - next, do allocation/assignment based on user provided DAS * - If not specified in DAS, then iterate through devices looking for a device that satisfies * the allocation properties */ -ossie::AllocationResult createHelper::allocateComponentToDevice(redhawk::ComponentDeployment* deployment, +ossie::AllocationResult createHelper::allocateComponentToDevice(boost::shared_ptr deployment, const std::string& assignedDeviceId, const std::string& appIdentifier, const std::map& specialized_reservations) @@ -1652,13 +1779,13 @@ ossie::AllocationResult createHelper::allocateComponentToDevice(redhawk::Compone const std::string requestid = ossie::generateUUID(); redhawk::PropertyMap allocationProperties = _getComponentAllocations(deployment); - + RH_TRACE(_createHelperLog, "alloc prop size " << allocationProperties.size() ); redhawk::PropertyMap::iterator iter=allocationProperties.begin(); for( ; iter != allocationProperties.end(); iter++){ RH_TRACE(_createHelperLog, "alloc prop: " << iter->id <<" value:" << ossie::any_to_string(iter->value) ); } - + std::string nic_alloc_id = _getNicAllocationId(allocationProperties); if ( specialized_reservations.size() > 0 ) { @@ -1695,7 +1822,7 @@ ossie::AllocationResult createHelper::allocateComponentToDevice(redhawk::Compone return response; } -void createHelper::_applyNicAllocation(redhawk::ComponentDeployment* deployment, +void createHelper::_applyNicAllocation(boost::shared_ptr deployment, const std::string& allocId, CF::Device_ptr device) { @@ -1881,78 +2008,236 @@ string ApplicationFactory_impl::getBaseWaveformContext(string waveform_context) return base_naming_context; } +void createHelper::loadAndExecuteCluster(const ClusterList& cluster, + CF::ApplicationRegistrar_ptr _appReg, + ossie::cluster::ClusterManagerResolverPtr clusterMgr, + const std::string & identifier) { + + RH_TRACE(_createHelperLog, "Loading and Executing " << cluster.size() << " cluster"); + // apply application affinity options to required components + //applyApplicationAffinityOptions(cluster); + + BOOST_FOREACH(boost::shared_ptr deployment, cluster) { + if (deployment->getCodeType() == CF::LoadableDevice::SHARED_LIBRARY) { + continue; + } + const std::string& component_id = deployment->getIdentifier(); + RH_TRACE(_createHelperLog, "Loading and executing component '" << component_id << "'"); + + RH_INFO(_createHelperLog, "Application '" << _waveformContextName << "' component '" + << component_id << "' assigned to device "); + + // Let the application know to expect the given component + redhawk::ApplicationComponent* app_component; + app_component = _application->addCluster(deployment); + app_component->setIsCluster(true); + + const ossie::ComponentInstantiation* instantiation = deployment->getInstantiation(); + if (instantiation->isNamingService()) { + app_component->setNamingContext(_baseNamingContext + "/" + instantiation->getFindByNamingServiceName()); + } + if (deployment->getContainer()) { + app_component->setComponentHost(deployment->getContainer()->getApplicationComponent()); + } + app_component->setClusterManager(clusterMgr); + deployment->setApplicationComponent(app_component); + + // get the code.localfile + RH_TRACE(_createHelperLog, "Host is cluster Local file name is " + << deployment->getLocalFile()); + + // Get file name, load if it is not empty + std::string codeLocalFile = deployment->getLocalFile(); + if (codeLocalFile.empty()) { + // This should be caught by validation, but just in case + throw redhawk::ComponentError(deployment.get(), "empty localfile"); + } + + if (deployment->isExecutable()) { + attemptClusterExecution(_appReg, deployment); + } + } + + clusterMgr->closeComponentConfigFile(identifier); + + CF::ExecutableDevice::ProcessID_Type pid = clusterMgr->launchComponent(identifier); + + if (pid < 0) { + throw "Pid was negative for the cluster"; + } +} + void createHelper::loadAndExecuteContainers(const ContainerList& containers, - CF::ApplicationRegistrar_ptr _appReg) + CF::ApplicationRegistrar_ptr _appReg, const ossie::cluster::ClusterManagerResolverPtr clusterMgr) { RH_TRACE(_createHelperLog, "Loading and Executing " << containers.size() << " containers"); // TODO: Promote contained component affinity values - BOOST_FOREACH(redhawk::ContainerDeployment* container, containers) { + BOOST_FOREACH(boost::shared_ptr container, containers) { boost::shared_ptr device = container->getAssignedDevice(); - if (!device) { + if (!device && !container->getIsCluster()) { std::ostringstream message; - message << "component " << container->getIdentifier() << " was not assigned to a device"; + message << "1component " << container->getIdentifier() << " was not assigned to a device"; throw std::logic_error(message.str()); } - // Let the application know to expect the given component + std::string deviceLabel = "cluster"; + if (device) { + deviceLabel = device->label; + } + redhawk::ApplicationComponent* app_container = _application->addContainer(container); + const ossie::ComponentInstantiation* instantiation = container->getInstantiation(); if (instantiation->isNamingService()) { app_container->setNamingContext(_baseNamingContext + "/" + instantiation->getFindByNamingServiceName()); } + app_container->setClusterManager(clusterMgr); container->setApplicationComponent(app_container); // get the code.localfile - RH_TRACE(_createHelperLog, "Host is " << device->label << " Local file name is " + RH_TRACE(_createHelperLog, "Host is " << deviceLabel << " Local file name is " << container->getLocalFile()); // Get file name, load if it is not empty std::string codeLocalFile = container->getLocalFile(); if (codeLocalFile.empty()) { // This should be caught by validation, but just in case - throw redhawk::ComponentError(container, "empty localfile"); + throw redhawk::ComponentError(container.get(), "empty localfile"); + } + + if (!container->getIsCluster()) { + // Check for LoadableDevice interface + if (!device->isLoadable()) { + std::ostringstream message; + message << "container " << container->getIdentifier() << " was assigned to non-loadable device " + << device->identifier; + RH_ERROR(_createHelperLog, message.str()); + throw std::logic_error(message.str()); + } + + RH_TRACE(_createHelperLog, "Loading " << codeLocalFile << " and dependencies on device " + << device->label); + try { + container->load(_appFact._fileMgr, device->loadableDevice); + } catch (const std::exception& exc) { + throw redhawk::ComponentError(container.get(), exc.what()); + } + } + + if (container->getCodeType() == CF::LoadableDevice::CONTAINER) { + attemptClusterExecution(_appReg, container); + } + else { + attemptComponentExecution(_appReg, container); + } + } +} + +/* Perform 'load' and 'execute' operations to launch component on the assigned device + * - Actually loads and executes the component on the given device + */ +void createHelper::loadAndExecuteComponents(const ComponentList& deployments, + CF::ApplicationRegistrar_ptr _appReg) +{ + RH_TRACE(_createHelperLog, "Loading and Executing " << deployments.size() << " components"); + // apply application affinity options to required components + applyApplicationAffinityOptions(deployments); + + BOOST_FOREACH(boost::shared_ptr deployment, deployments) { + if (deployment->getCodeType() == CF::LoadableDevice::SHARED_LIBRARY) { + continue; + } + const std::string& component_id = deployment->getIdentifier(); + RH_TRACE(_createHelperLog, "Loading and executing component '" << component_id << "'"); + + boost::shared_ptr device = deployment->getAssignedDevice(); + if (!device) { + std::ostringstream message; + message << "2component " << component_id << " was not assigned to a device"; + throw std::logic_error(message.str()); + } + + RH_INFO(_createHelperLog, "Application '" << _waveformContextName << "' component '" + << component_id << "' assigned to device '" << device->label + << "' (" << device->identifier << ")"); + + // Let the application know to expect the given component + redhawk::ApplicationComponent* app_component; + if (deployment->getCodeType() == CF::LoadableDevice::CONTAINER) { + RH_ERROR(_createHelperLog, "THIS IS WRONG Added a component to the cluster") + //app_component = _application->addCluster(deployment); + //app_component->setIsCluster(true); + app_component = _application->addComponent(deployment); + } + else { + app_component = _application->addComponent(deployment); + } + const ossie::ComponentInstantiation* instantiation = deployment->getInstantiation(); + if (instantiation->isNamingService()) { + app_component->setNamingContext(_baseNamingContext + "/" + instantiation->getFindByNamingServiceName()); + } + if (deployment->getContainer()) { + app_component->setComponentHost(deployment->getContainer()->getApplicationComponent()); + } + //app_component->setClusterManager(clusterMgr); + deployment->setApplicationComponent(app_component); + + // get the code.localfile + RH_TRACE(_createHelperLog, "Host is " << device->label << " Local file name is " + << deployment->getLocalFile()); + + // Get file name, load if it is not empty + std::string codeLocalFile = deployment->getLocalFile(); + if (codeLocalFile.empty()) { + // This should be caught by validation, but just in case + throw redhawk::ComponentError(deployment.get(), "empty localfile"); } // Check for LoadableDevice interface if (!device->isLoadable()) { std::ostringstream message; - message << "container " << container->getIdentifier() << " was assigned to non-loadable device " + message << "component " << component_id << " was assigned to non-loadable device " << device->identifier; - RH_ERROR(_createHelperLog, message); + RH_ERROR(_createHelperLog, message.str()); throw std::logic_error(message.str()); } RH_TRACE(_createHelperLog, "Loading " << codeLocalFile << " and dependencies on device " << device->label); try { - container->load(_appFact._fileMgr, device->loadableDevice); + deployment->load(_appFact._fileMgr, device->loadableDevice); } catch (const std::exception& exc) { - throw redhawk::ComponentError(container, exc.what()); + throw redhawk::ComponentError(deployment.get(), exc.what()); + } + + if (deployment->isExecutable()) { + attemptComponentExecution(_appReg, deployment); } - - attemptComponentExecution(_appReg, container); } } /* Perform 'load' and 'execute' operations to launch component on the assigned device * - Actually loads and executes the component on the given device */ -void createHelper::loadAndExecuteComponents(const DeploymentList& deployments, +void createHelper::loadAndExecuteShared(const ComponentList& deployments, const ClusterList& cluster, const ossie::cluster::ClusterManagerResolverPtr clusterMgr, CF::ApplicationRegistrar_ptr _appReg) { RH_TRACE(_createHelperLog, "Loading and Executing " << deployments.size() << " components"); // apply application affinity options to required components applyApplicationAffinityOptions(deployments); - BOOST_FOREACH(redhawk::ComponentDeployment* deployment, deployments) { + BOOST_FOREACH(boost::shared_ptr deployment, deployments) { + if (deployment->getCodeType() != CF::LoadableDevice::SHARED_LIBRARY) { + continue; + } const std::string& component_id = deployment->getIdentifier(); RH_TRACE(_createHelperLog, "Loading and executing component '" << component_id << "'"); boost::shared_ptr device = deployment->getAssignedDevice(); if (!device) { std::ostringstream message; - message << "component " << component_id << " was not assigned to a device"; + message << "3component " << component_id << " was not assigned to a device"; throw std::logic_error(message.str()); } @@ -1961,7 +2246,16 @@ void createHelper::loadAndExecuteComponents(const DeploymentList& deployments, << "' (" << device->identifier << ")"); // Let the application know to expect the given component - redhawk::ApplicationComponent* app_component = _application->addComponent(deployment); + redhawk::ApplicationComponent* app_component; + if (deployment->getCodeType() == CF::LoadableDevice::CONTAINER) { + RH_ERROR(_createHelperLog, "THIS IS WRONG Added a component to the cluster") + //app_component = _application->addCluster(deployment); + //app_component->setIsCluster(true); + app_component = _application->addComponent(deployment); + } + else { + app_component = _application->addComponent(deployment); + } const ossie::ComponentInstantiation* instantiation = deployment->getInstantiation(); if (instantiation->isNamingService()) { app_component->setNamingContext(_baseNamingContext + "/" + instantiation->getFindByNamingServiceName()); @@ -1969,6 +2263,7 @@ void createHelper::loadAndExecuteComponents(const DeploymentList& deployments, if (deployment->getContainer()) { app_component->setComponentHost(deployment->getContainer()->getApplicationComponent()); } + //app_component->setClusterManager(clusterMgr); deployment->setApplicationComponent(app_component); // get the code.localfile @@ -1979,7 +2274,7 @@ void createHelper::loadAndExecuteComponents(const DeploymentList& deployments, std::string codeLocalFile = deployment->getLocalFile(); if (codeLocalFile.empty()) { // This should be caught by validation, but just in case - throw redhawk::ComponentError(deployment, "empty localfile"); + throw redhawk::ComponentError(deployment.get(), "empty localfile"); } // Check for LoadableDevice interface @@ -1987,7 +2282,7 @@ void createHelper::loadAndExecuteComponents(const DeploymentList& deployments, std::ostringstream message; message << "component " << component_id << " was assigned to non-loadable device " << device->identifier; - RH_ERROR(_createHelperLog, message); + RH_ERROR(_createHelperLog, message.str()); throw std::logic_error(message.str()); } @@ -1996,13 +2291,53 @@ void createHelper::loadAndExecuteComponents(const DeploymentList& deployments, try { deployment->load(_appFact._fileMgr, device->loadableDevice); } catch (const std::exception& exc) { - throw redhawk::ComponentError(deployment, exc.what()); + throw redhawk::ComponentError(deployment.get(), exc.what()); } - + if (deployment->isExecutable()) { attemptComponentExecution(_appReg, deployment); } } + + BOOST_FOREACH(boost::shared_ptr deployment, cluster) { + if (deployment->getCodeType() != CF::LoadableDevice::SHARED_LIBRARY) { + continue; + } + const std::string& component_id = deployment->getIdentifier(); + RH_TRACE(_createHelperLog, "Loading and executing component '" << component_id << "'"); + + RH_INFO(_createHelperLog, "Application '" << _waveformContextName << "' component '" + << component_id << "' assigned to device "); + + // Let the application know to expect the given component + redhawk::ApplicationComponent* app_component; + app_component = _application->addCluster(deployment); + app_component->setIsCluster(true); + + const ossie::ComponentInstantiation* instantiation = deployment->getInstantiation(); + if (instantiation->isNamingService()) { + app_component->setNamingContext(_baseNamingContext + "/" + instantiation->getFindByNamingServiceName()); + } + if (deployment->getContainer()) { + app_component->setComponentHost(deployment->getContainer()->getApplicationComponent()); + } + app_component->setClusterManager(clusterMgr); + deployment->setApplicationComponent(app_component); + + // get the code.localfile + RH_TRACE(_createHelperLog, "Host is cluster Local file name is " << deployment->getLocalFile()); + + // Get file name, load if it is not empty + std::string codeLocalFile = deployment->getLocalFile(); + if (codeLocalFile.empty()) { + // This should be caught by validation, but just in case + throw redhawk::ComponentError(deployment.get(), "empty localfile"); + } + + if (deployment->isExecutable()) { + attemptClusterExecution(_appReg, deployment); + } + } } int createHelper::resolveDebugLevel( const std::string &level_in ) { @@ -2012,7 +2347,7 @@ int createHelper::resolveDebugLevel( const std::string &level_in ) { debug_level = ossie::logging::ConvertRHLevelToDebug( rhlevel ); if ( dlevel.at(0) != 'I' and debug_level == 3 ) debug_level=-1; - // test if number was provided. + // test if number was provided. if ( debug_level == -1 ){ char *p=NULL; int dl=strtol(dlevel.c_str(), &p, 10 ); @@ -2022,11 +2357,11 @@ int createHelper::resolveDebugLevel( const std::string &level_in ) { debug_level = ossie::logging::ConvertRHLevelToDebug( rhlevel ); } } - - return debug_level; + + return debug_level; } -void createHelper::resolveLoggingConfiguration(redhawk::ComponentDeployment* deployment, redhawk::PropertyMap &execParams ) +void createHelper::resolveLoggingConfiguration(boost::shared_ptr deployment, redhawk::PropertyMap &execParams ) { std::string logging_uri(""); @@ -2116,7 +2451,7 @@ void createHelper::resolveLoggingConfiguration(redhawk::ComponentDeployment* dep } void createHelper::attemptComponentExecution (CF::ApplicationRegistrar_ptr registrar, - redhawk::ComponentDeployment* deployment) + boost::shared_ptr deployment) { // Get executable device reference boost::shared_ptr device = deployment->getAssignedDevice(); @@ -2129,6 +2464,9 @@ void createHelper::attemptComponentExecution (CF::ApplicationRegistrar_ptr regis // Build up the list of command line parameters redhawk::PropertyMap execParameters = deployment->getCommandLineParameters(); + for (redhawk::PropertyMap::iterator i = execParameters.begin(); i != execParameters.end(); i++) { + RH_TRACE(_createHelperLog, i->getId() << " " << i->getValue()) + } const std::string& nic = deployment->getNicAssignment(); if (!nic.empty()) { execParameters["NIC"] = nic; @@ -2138,10 +2476,10 @@ void createHelper::attemptComponentExecution (CF::ApplicationRegistrar_ptr regis if (deployment->hasCpuReservation()) { execParameters["RH::GPP::MODIFIED_CPU_RESERVATION_VALUE"] = deployment->getCpuReservation(); } - // Add the required parameters specified in SR:163 // Naming Context IOR, Name Binding, and component identifier execParameters["COMPONENT_IDENTIFIER"] = deployment->getIdentifier(); + if (deployment->getInstantiation()->isNamingService()) { execParameters["NAME_BINDING"] = deployment->getInstantiation()->getFindByNamingServiceName(); } @@ -2165,16 +2503,22 @@ void createHelper::attemptComponentExecution (CF::ApplicationRegistrar_ptr regis CF::StringSequence dep_seq; dep_seq.length(resolved_softpkg_deps.size()); for (unsigned int p=0;p!=dep_seq.length();p++) { - dep_seq[p]=CORBA::string_dup(resolved_softpkg_deps[p].c_str()); + dep_seq[p]=CORBA::string_dup((resolved_softpkg_deps[p]).c_str()); } // Attempt to execute the component CF::ExecutableDevice_var execdev; if (deployment->getContainer()) { - RH_TRACE(_createHelperLog, "Executing " << entryPoint << " via container on device " << device->label); - redhawk::ComponentDeployment* container = deployment->getContainer(); + entryPoint = entryPoint; + //execParameters["PROFILE_NAME"] = deployment->getSoftPkg()->getSPDFile(); + RH_TRACE(_createHelperLog, "Executing " << entryPoint << " via container on device " << device->label << " " << device->identifier); + boost::shared_ptr container; + container = deployment->getContainer(); CF::Resource_var resource = container->getResourcePtr(); execdev = CF::ExecutableDevice::_narrow(resource); + } else if (deployment->getImplementation()->getCodeType() == SPD::Code::CONTAINER) { + RH_ERROR(_createHelperLog, "CONTAINER type found but this is the component with entry point " << entryPoint) + throw std::logic_error("CONTAINER type found but this is the component"); } else { RH_TRACE(_createHelperLog, "Executing " << entryPoint << " on device " << device->label); execdev = CF::ExecutableDevice::_duplicate(device->executableDevice); @@ -2184,7 +2528,7 @@ void createHelper::attemptComponentExecution (CF::ApplicationRegistrar_ptr regis } // Get options list - redhawk::PropertyMap options = deployment->getOptions(); + redhawk::PropertyMap options = deployment->getOptions(); for (redhawk::PropertyMap::iterator opt = options.begin(); opt != options.end(); ++opt) { RH_TRACE(_createHelperLog, " RESOURCE OPTION: " << opt->getId() << " " << opt->getValue().toString()); @@ -2195,61 +2539,184 @@ void createHelper::attemptComponentExecution (CF::ApplicationRegistrar_ptr regis // call 'execute' on the ExecutableDevice to execute the component pid = execdev->executeLinked(entryPoint.c_str(), options, execParameters, dep_seq); } catch (const CF::InvalidFileName& exc) { - throw redhawk::ExecuteError(deployment, "invalid filename " + std::string(exc.msg)); + throw redhawk::ExecuteError(deployment.get(), "invalid filename " + std::string(exc.msg)); } catch (const CF::Device::InvalidState& exc) { std::string message = "invalid device state " + std::string(exc.msg); - throw redhawk::ExecuteError(deployment, message); + throw redhawk::ExecuteError(deployment.get(), message); } catch (const CF::ExecutableDevice::InvalidParameters& exc) { std::string message = "invalid parameters " + redhawk::PropertyMap::cast(exc.invalidParms).toString(); - throw redhawk::ExecuteError(deployment, message); + throw redhawk::ExecuteError(deployment.get(), message); } catch (const CF::ExecutableDevice::InvalidOptions& exc) { std::string message = "invalid options " + redhawk::PropertyMap::cast(exc.invalidOpts).toString(); - throw redhawk::ExecuteError(deployment, message); + throw redhawk::ExecuteError(deployment.get(), message); } catch (const CF::ExecutableDevice::ExecuteFail& exc) { std::string message = "execute failure " + std::string(exc.msg); - throw redhawk::ExecuteError(deployment, message); + throw redhawk::ExecuteError(deployment.get(), message); } catch (const CORBA::SystemException& exc) { - throw redhawk::ExecuteError(deployment, ossie::corba::describeException(exc)); + throw redhawk::ExecuteError(deployment.get(), ossie::corba::describeException(exc)); } catch (...) { // Should never happen, but turn anything else into an ExecuteError // just in case - throw redhawk::ExecuteError(deployment, "unexpected error"); + throw redhawk::ExecuteError(deployment.get(), "unexpected error"); } // handle pid output if (pid < 0) { - throw redhawk::ExecuteError(deployment, "execute returned invalid process ID"); + throw redhawk::ExecuteError(deployment.get(), "execute returned invalid process ID"); } else { redhawk::ApplicationComponent* app_component = deployment->getApplicationComponent(); app_component->setProcessId(pid); } } +void createHelper::attemptClusterExecution (CF::ApplicationRegistrar_ptr registrar, + boost::shared_ptr deployment) +{ + // Build up the list of command line parameters + redhawk::PropertyMap execParameters = deployment->getCommandLineParameters(); + const std::string& nic = deployment->getNicAssignment(); + if (!nic.empty()) { + execParameters["NIC"] = nic; + } + + // Add specialized CPU reservation if given + if (deployment->hasCpuReservation()) { + execParameters["RH::GPP::MODIFIED_CPU_RESERVATION_VALUE"] = deployment->getCpuReservation(); + } + + // Add the required parameters specified in SR:163 + // Naming Context IOR, Name Binding, and component identifier + execParameters["COMPONENT_IDENTIFIER"] = deployment->getIdentifier(); + if (deployment->getInstantiation()->isNamingService()) { + execParameters["NAME_BINDING"] = deployment->getInstantiation()->getFindByNamingServiceName(); + } + execParameters["PROFILE_NAME"] = deployment->getSoftPkg()->getSPDFile(); + + execParameters["DOM_PATH"] = _baseNamingContext; + //resolveLoggingConfiguration(deployment, execParameters); + + // Add the Naming Context IOR last to make it easier to parse the command line + execParameters["NAMING_CONTEXT_IOR"] = ossie::corba::objectToString(registrar); + + // Get entry point + std::string entryPoint_image = deployment->getEntryPoint(); + std::string delimiter = "::"; + size_t pos = entryPoint_image.find(delimiter); + std::string entryPoint; + std::string image; + if (pos == std::string::npos) { + RH_WARN(_createHelperLog, "There was no image found. For containers the entrypoint must be in the format ::"); + entryPoint = entryPoint_image; + } + else { + std::string token; + entryPoint = entryPoint_image.substr(0, pos); + entryPoint_image.erase(0, pos + delimiter.length()); + image = entryPoint_image; + } + + if (entryPoint.empty()) { + RH_WARN(_createHelperLog, "executing using code file as entry point; this is non-SCA compliant behavior; entrypoint must be set"); + entryPoint = deployment->getLocalFile(); + } + + // Get entry point + deployment->getApplicationComponent()->getClusterManager()->openComponentConfigFile(execParameters, entryPoint, image); + + // Get the complete list of dependencies to include in executeLinked + std::vector resolved_softpkg_deps = deployment->getDependencyLocalFiles(); + CF::StringSequence dep_seq; + dep_seq.length(resolved_softpkg_deps.size()); + for (unsigned int p=0;p!=dep_seq.length();p++) { + dep_seq[p]=CORBA::string_dup((resolved_softpkg_deps[p]).c_str()); + } + + // Attempt to execute the component + CF::ExecutableDevice_var execdev; + if (deployment->getContainer()) { + + RH_TRACE(_createHelperLog, "Executing " << entryPoint << " via container on device cluster"); + boost::shared_ptr container; + container = deployment->getContainer(); + CF::Resource_var resource = container->getResourcePtr(); + execdev = CF::ExecutableDevice::_narrow(resource); + for (redhawk::PropertyMap::iterator prop = execParameters.begin(); prop != execParameters.end(); ++prop) { + RH_ERROR(_createHelperLog, " exec param " << prop->getId() << " " << prop->getValue().toString()); + } + + // Get options list + redhawk::PropertyMap options = deployment->getOptions(); + for (redhawk::PropertyMap::iterator opt = options.begin(); opt != options.end(); ++opt) { + RH_TRACE(_createHelperLog, " RESOURCE OPTION: " << opt->getId() + << " " << opt->getValue().toString()); + } + + CF::ExecutableDevice::ProcessID_Type pid = -1; + try { + // call 'execute' on the ExecutableDevice to execute the component + pid = execdev->executeLinked(entryPoint.c_str(), options, execParameters, dep_seq); + } catch (const CF::InvalidFileName& exc) { + throw redhawk::ExecuteError(deployment.get(), "invalid filename " + std::string(exc.msg)); + } catch (const CF::Device::InvalidState& exc) { + std::string message = "invalid device state " + std::string(exc.msg); + throw redhawk::ExecuteError(deployment.get(), message); + } catch (const CF::ExecutableDevice::InvalidParameters& exc) { + std::string message = "invalid parameters " + redhawk::PropertyMap::cast(exc.invalidParms).toString(); + throw redhawk::ExecuteError(deployment.get(), message); + } catch (const CF::ExecutableDevice::InvalidOptions& exc) { + std::string message = "invalid options " + redhawk::PropertyMap::cast(exc.invalidOpts).toString(); + throw redhawk::ExecuteError(deployment.get(), message); + } catch (const CF::ExecutableDevice::ExecuteFail& exc) { + std::string message = "execute failure " + std::string(exc.msg); + throw redhawk::ExecuteError(deployment.get(), message); + } catch (const CORBA::SystemException& exc) { + throw redhawk::ExecuteError(deployment.get(), ossie::corba::describeException(exc)); + } catch (...) { + // Should never happen, but turn anything else into an ExecuteError + // just in case + throw redhawk::ExecuteError(deployment.get(), "unexpected error"); + } + + // handle pid output + if (pid < 0) { + throw redhawk::ExecuteError(deployment.get(), "execute returned invalid process ID"); + } else { + redhawk::ApplicationComponent* app_component = deployment->getApplicationComponent(); + app_component->setProcessId(pid); + } + } else if (deployment->getImplementation()->getCodeType() == SPD::Code::CONTAINER) { + RH_INFO(_createHelperLog, "NOT Executing a cluster yet"); + return; + } else { + throw "Got a container and expected a cluster"; + } +} + -void createHelper::applyApplicationAffinityOptions(const DeploymentList& deployments) +void createHelper::applyApplicationAffinityOptions(const ComponentList& deployments) { // RESOLVE - need SAD file directive to control this behavior.. i.e if promote_nic_to_affinity==true... // for now add nic assignment as application affinity to all components deployed by this device redhawk::PropertyMap app_affinity; - for (DeploymentList::const_iterator dep = deployments.begin(); dep != deployments.end(); ++dep) { + for (ComponentList::const_iterator dep = deployments.begin(); dep != deployments.end(); ++dep) { if ((*dep)->hasNicAssignment()) { app_affinity = (*dep)->getAffinityOptionsWithAssignment(); } } if (!app_affinity.empty()) { - // log deployments with application affinity + // log deployments with application affinity for ( uint32_t i=0; i < app_affinity.length(); i++ ) { CF::DataType dt = app_affinity[i]; RH_INFO(_createHelperLog, " Applying Application Affinity: directive id:" << dt.id << "/" << ossie::any_to_string( dt.value )) ; } - + // // Promote NIC affinity for all components deployed on the same device // boost::shared_ptr deploy_on_device; for (unsigned int rc_idx = 0; rc_idx < deployments.size(); rc_idx++) { - redhawk::ComponentDeployment* deployment = deployments[rc_idx]; + boost::shared_ptr deployment = deployments[rc_idx]; if (!(deployment->getNicAssignment().empty())) { deploy_on_device = deployment->getAssignedDevice(); } @@ -2257,7 +2724,7 @@ void createHelper::applyApplicationAffinityOptions(const DeploymentList& deploym if (deploy_on_device) { for (unsigned int rc_idx = 0; rc_idx < deployments.size (); rc_idx++) { - redhawk::ComponentDeployment* deployment = deployments[rc_idx]; + boost::shared_ptr deployment = deployments[rc_idx]; boost::shared_ptr dev = deployment->getAssignedDevice(); // for matching device deployments then apply nic affinity settings if (dev->identifier == deploy_on_device->identifier) { @@ -2268,6 +2735,96 @@ void createHelper::applyApplicationAffinityOptions(const DeploymentList& deploym } } +void createHelper::waitForClusterRegistration(redhawk::ApplicationDeployment& appDeployment) { + // Wait for all components to be registered before continuing + int componentBindingTimeout = _appFact._domainManager->getComponentBindingTimeout(); + RH_TRACE(_createHelperLog, "Waiting " << componentBindingTimeout << "s for all components to register"); + + // Track only SCA-compliant components; non-compliant components will never + // register with the application, nor do they need to be initialized + std::set expected_components; + const ClusterList& deployments = appDeployment.getClusterDeployments(); + for (ClusterList::const_iterator dep = deployments.begin(); dep != deployments.end(); ++dep) { + if ((*dep)->getCodeType() == CF::LoadableDevice::SHARED_LIBRARY) { + continue; + } + if ((*dep)->getSoftPkg()->isScaCompliant()) { + expected_components.insert((*dep)->getIdentifier()); + } + } + + // Record current time, to measure elapsed time in the event of a failure + time_t start = time(NULL); + + // Wait for all required components to register, adding additional context + // to any termination exceptions that may be raised + bool complete; + try { + complete = _application->waitForCluster(expected_components, componentBindingTimeout); + } catch (const redhawk::ComponentTerminated& exc) { + boost::shared_ptr deployment = appDeployment.getComponentDeploymentByUniqueId(exc.identifier()); + if (!deployment) { + // The deployment should always be found, but in the event that it + // isn't, rethrow the original exception just in case; the outer + // create() exception handler will turn it into a CF exception + throw; + } + std::string message = "component terminated before registering with application"; + message += ::getVersionMismatchMessage(deployment->getSoftPkg()); + throw redhawk::ExecuteError(deployment.get(), message); + } + + // For reference, determine much time has really elapsed. + time_t elapsed = time(NULL)-start; + if (!complete) { + RH_ERROR(_createHelperLog, "Timed out waiting for components to register (" << elapsed << "s elapsed)"); + } else { + RH_DEBUG(_createHelperLog, "Component registration completed in " << elapsed << "s"); + } + + // Fetch the objects, finding any components that did not register + BOOST_FOREACH(boost::shared_ptr deployment, deployments) { + if (deployment->getCodeType() == CF::LoadableDevice::SHARED_LIBRARY) { + continue; + } + const SoftPkg* softpkg = deployment->getSoftPkg(); + if (softpkg->isScaCompliant()) { + // Check that the component registered with the application; it + // should have a valid CORBA reference + CORBA::Object_var objref = deployment->getApplicationComponent()->getComponentObject(); + if (CORBA::is_nil(objref)) { + std::string message = "component did not register with application"; + message += ::getVersionMismatchMessage(softpkg); + throw redhawk::ExecuteError(deployment.get(), message); + } + + // Occasionally, omniORB may have a cached connection where the + // other end has terminated (this is particularly a problem with + // Java, because the Sun ORB never closes connections on shutdown). + // If the new component just happens to have the same TCP/IP + // address and port, the first time we try to reach the component, + // it will get a CORBA.COMM_FAILURE exception even though the + // reference is valid. In this case, a call to _non_existent() + // should cause omniORB to clean up the stale socket, and any + // subsequent calls behave normally. + try { + objref->_non_existent(); + } catch (...) { + RH_DEBUG(_createHelperLog, "Component object did not respond to initial ping"); + } + + // Convert to a CF::Resource object + if (deployment->isResource()) { + CF::Resource_var resource = ossie::corba::_narrowSafe(objref); + if (CORBA::is_nil(resource)) { + throw redhawk::ComponentError(deployment.get(), "component object is not a CF::Resource"); + } + + deployment->setResourcePtr(resource); + } + } + } +} void createHelper::waitForContainerRegistration(redhawk::ApplicationDeployment& appDeployment) { @@ -2275,8 +2832,11 @@ void createHelper::waitForContainerRegistration(redhawk::ApplicationDeployment& int timeout = _appFact._domainManager->getComponentBindingTimeout(); RH_TRACE(_createHelperLog, "Waiting " << timeout << "s for containers to register"); std::set expected_components; - BOOST_FOREACH(redhawk::ContainerDeployment* container, appDeployment.getContainerDeployments()) { - expected_components.insert(container->getIdentifier()); + BOOST_FOREACH(boost::shared_ptr container, appDeployment.getContainerDeployments()) { + //if (container->getCodeType() != CF::LoadableDevice::CONTAINER) { + expected_components.insert(container->getIdentifier()); + RH_TRACE(_createHelperLog, "Container (ComponentHost) " << container->getIdentifier() << " added to expected_components set"); + //} } // Record current time, to measure elapsed time in the event of a failure @@ -2296,24 +2856,115 @@ void createHelper::waitForContainerRegistration(redhawk::ApplicationDeployment& } // Fetch the objects, finding any components that did not register - BOOST_FOREACH(redhawk::ContainerDeployment* container, appDeployment.getContainerDeployments()) { - // Check that the component host registered with the application; it - // should have a valid CORBA reference - CORBA::Object_var objref = container->getApplicationComponent()->getComponentObject(); - if (CORBA::is_nil(objref)) { - throw redhawk::ExecuteError(container, "container did not register with application"); + BOOST_FOREACH(boost::shared_ptr container, appDeployment.getContainerDeployments()) { + //if (container->getCodeType() != CF::LoadableDevice::CONTAINER) { + // Check that the component host registered with the application; it + // should have a valid CORBA reference + CORBA::Object_var objref = container->getApplicationComponent()->getComponentObject(); + if (CORBA::is_nil(objref)) { + throw redhawk::ExecuteError(container.get(), "container did not register with application"); + } + + CF::Resource_var resource = ossie::corba::_narrowSafe(objref); + if (CORBA::is_nil(resource)) { + throw redhawk::ComponentError(container.get(), "component object is not a CF::Resource"); + } + + container->setResourcePtr(resource); + //} + } +} + +void createHelper::waitForComponentRegistration(redhawk::ApplicationDeployment& appDeployment) +{ + // Wait for all components to be registered before continuing + int componentBindingTimeout = _appFact._domainManager->getComponentBindingTimeout(); + RH_TRACE(_createHelperLog, "Waiting " << componentBindingTimeout << "s for all components to register"); + + // Track only SCA-compliant components; non-compliant components will never + // register with the application, nor do they need to be initialized + std::set expected_components; + const ComponentList& deployments = appDeployment.getComponentDeployments(); + for (ComponentList::const_iterator dep = deployments.begin(); dep != deployments.end(); ++dep) { + if ((*dep)->getSoftPkg()->isScaCompliant()) { + expected_components.insert((*dep)->getIdentifier()); } + } + + // Record current time, to measure elapsed time in the event of a failure + time_t start = time(NULL); - CF::Resource_var resource = ossie::corba::_narrowSafe(objref); - if (CORBA::is_nil(resource)) { - throw redhawk::ComponentError(container, "component object is not a CF::Resource"); + // Wait for all required components to register, adding additional context + // to any termination exceptions that may be raised + bool complete; + try { + complete = _application->waitForComponents(expected_components, componentBindingTimeout); + } catch (const redhawk::ComponentTerminated& exc) { + boost::shared_ptr deployment = appDeployment.getComponentDeploymentByUniqueId(exc.identifier()); + if (!deployment) { + // The deployment should always be found, but in the event that it + // isn't, rethrow the original exception just in case; the outer + // create() exception handler will turn it into a CF exception + throw; } + std::string message = "component terminated before registering with application"; + message += ::getVersionMismatchMessage(deployment->getSoftPkg()); + throw redhawk::ExecuteError(deployment.get(), message); + } - container->setResourcePtr(resource); + // For reference, determine much time has really elapsed. + time_t elapsed = time(NULL)-start; + if (!complete) { + RH_ERROR(_createHelperLog, "Timed out waiting for components to register (" << elapsed << "s elapsed)"); + } else { + RH_DEBUG(_createHelperLog, "Component registration completed in " << elapsed << "s"); + } + + // Fetch the objects, finding any components that did not register + BOOST_FOREACH(boost::shared_ptr deployment, deployments) { + if (deployment->getCodeType() == CF::LoadableDevice::SHARED_LIBRARY) { + continue; + } + const SoftPkg* softpkg = deployment->getSoftPkg(); + if (softpkg->isScaCompliant()) { + // Check that the component registered with the application; it + // should have a valid CORBA reference + CORBA::Object_var objref = deployment->getApplicationComponent()->getComponentObject(); + if (CORBA::is_nil(objref)) { + std::string message = "component did not register with application"; + message += ::getVersionMismatchMessage(softpkg); + throw redhawk::ExecuteError(deployment.get(), message); + } + + // Occasionally, omniORB may have a cached connection where the + // other end has terminated (this is particularly a problem with + // Java, because the Sun ORB never closes connections on shutdown). + // If the new component just happens to have the same TCP/IP + // address and port, the first time we try to reach the component, + // it will get a CORBA.COMM_FAILURE exception even though the + // reference is valid. In this case, a call to _non_existent() + // should cause omniORB to clean up the stale socket, and any + // subsequent calls behave normally. + try { + objref->_non_existent(); + } catch (...) { + RH_DEBUG(_createHelperLog, "Component object did not respond to initial ping"); + } + + // Convert to a CF::Resource object + if (deployment->isResource()) { + CF::Resource_var resource = ossie::corba::_narrowSafe(objref); + if (CORBA::is_nil(resource)) { + throw redhawk::ComponentError(deployment.get(), "component object is not a CF::Resource"); + } + + deployment->setResourcePtr(resource); + } + } } } -void createHelper::waitForComponentRegistration(redhawk::ApplicationDeployment& appDeployment) +void createHelper::waitForSharedRegistration(redhawk::ApplicationDeployment& appDeployment) { // Wait for all components to be registered before continuing int componentBindingTimeout = _appFact._domainManager->getComponentBindingTimeout(); @@ -2322,12 +2973,24 @@ void createHelper::waitForComponentRegistration(redhawk::ApplicationDeployment& // Track only SCA-compliant components; non-compliant components will never // register with the application, nor do they need to be initialized std::set expected_components; - const DeploymentList& deployments = appDeployment.getComponentDeployments(); - for (DeploymentList::const_iterator dep = deployments.begin(); dep != deployments.end(); ++dep) { + const ComponentList& deployments = appDeployment.getComponentDeployments(); + for (ComponentList::const_iterator dep = deployments.begin(); dep != deployments.end(); ++dep) { + if ((*dep)->getCodeType() == CF::LoadableDevice::SHARED_LIBRARY) { + continue; + } if ((*dep)->getSoftPkg()->isScaCompliant()) { expected_components.insert((*dep)->getIdentifier()); } } + const ClusterList& cluster = appDeployment.getClusterDeployments(); + for (ClusterList::const_iterator dep1 = cluster.begin(); dep1 != cluster.end(); ++dep1) { + if ((*dep1)->getCodeType() == CF::LoadableDevice::SHARED_LIBRARY) { + continue; + } + if ((*dep1)->getSoftPkg()->isScaCompliant()) { + expected_components.insert((*dep1)->getIdentifier()); + } + } // Record current time, to measure elapsed time in the event of a failure time_t start = time(NULL); @@ -2338,7 +3001,7 @@ void createHelper::waitForComponentRegistration(redhawk::ApplicationDeployment& try { complete = _application->waitForComponents(expected_components, componentBindingTimeout); } catch (const redhawk::ComponentTerminated& exc) { - redhawk::ComponentDeployment* deployment = appDeployment.getComponentDeploymentByUniqueId(exc.identifier()); + boost::shared_ptr deployment = appDeployment.getComponentDeploymentByUniqueId(exc.identifier()); if (!deployment) { // The deployment should always be found, but in the event that it // isn't, rethrow the original exception just in case; the outer @@ -2347,7 +3010,7 @@ void createHelper::waitForComponentRegistration(redhawk::ApplicationDeployment& } std::string message = "component terminated before registering with application"; message += ::getVersionMismatchMessage(deployment->getSoftPkg()); - throw redhawk::ExecuteError(deployment, message); + throw redhawk::ExecuteError(deployment.get(), message); } // For reference, determine much time has really elapsed. @@ -2359,7 +3022,10 @@ void createHelper::waitForComponentRegistration(redhawk::ApplicationDeployment& } // Fetch the objects, finding any components that did not register - BOOST_FOREACH(redhawk::ComponentDeployment* deployment, deployments) { + BOOST_FOREACH(boost::shared_ptr deployment, deployments) { + if (deployment->getCodeType() != CF::LoadableDevice::SHARED_LIBRARY) { + continue; + } const SoftPkg* softpkg = deployment->getSoftPkg(); if (softpkg->isScaCompliant()) { // Check that the component registered with the application; it @@ -2368,7 +3034,7 @@ void createHelper::waitForComponentRegistration(redhawk::ApplicationDeployment& if (CORBA::is_nil(objref)) { std::string message = "component did not register with application"; message += ::getVersionMismatchMessage(softpkg); - throw redhawk::ExecuteError(deployment, message); + throw redhawk::ExecuteError(deployment.get(), message); } // Occasionally, omniORB may have a cached connection where the @@ -2390,7 +3056,50 @@ void createHelper::waitForComponentRegistration(redhawk::ApplicationDeployment& if (deployment->isResource()) { CF::Resource_var resource = ossie::corba::_narrowSafe(objref); if (CORBA::is_nil(resource)) { - throw redhawk::ComponentError(deployment, "component object is not a CF::Resource"); + throw redhawk::ComponentError(deployment.get(), "component object is not a CF::Resource"); + } + + deployment->setResourcePtr(resource); + } + } + } + + // Fetch the objects, finding any components that did not register + BOOST_FOREACH(boost::shared_ptr deployment, cluster) { + if (deployment->getCodeType() != CF::LoadableDevice::SHARED_LIBRARY) { + continue; + } + const SoftPkg* softpkg = deployment->getSoftPkg(); + if (softpkg->isScaCompliant()) { + // Check that the component registered with the application; it + // should have a valid CORBA reference + CORBA::Object_var objref = deployment->getApplicationComponent()->getComponentObject(); + if (CORBA::is_nil(objref)) { + std::string message = "component did not register with application"; + message += ::getVersionMismatchMessage(softpkg); + throw redhawk::ExecuteError(deployment.get(), message); + } + + // Occasionally, omniORB may have a cached connection where the + // other end has terminated (this is particularly a problem with + // Java, because the Sun ORB never closes connections on shutdown). + // If the new component just happens to have the same TCP/IP + // address and port, the first time we try to reach the component, + // it will get a CORBA.COMM_FAILURE exception even though the + // reference is valid. In this case, a call to _non_existent() + // should cause omniORB to clean up the stale socket, and any + // subsequent calls behave normally. + try { + objref->_non_existent(); + } catch (...) { + RH_DEBUG(_createHelperLog, "Component object did not respond to initial ping"); + } + + // Convert to a CF::Resource object + if (deployment->isResource()) { + CF::Resource_var resource = ossie::corba::_narrowSafe(objref); + if (CORBA::is_nil(resource)) { + throw redhawk::ComponentError(deployment.get(), "component object is not a CF::Resource"); } deployment->setResourcePtr(resource); @@ -2404,13 +3113,13 @@ void createHelper::waitForComponentRegistration(redhawk::ApplicationDeployment& * - Ensure components have started and are bound to Naming Service * - Initialize each component */ -void createHelper::initializeComponents(const DeploymentList& deployments) +void createHelper::initializeComponents(const ComponentList& deployments) { // Install the different components in the system RH_TRACE(_createHelperLog, "initializing " << deployments.size() << " waveform components"); for (unsigned int rc_idx = 0; rc_idx < deployments.size (); rc_idx++) { - redhawk::ComponentDeployment* deployment = deployments[rc_idx]; + boost::shared_ptr deployment = deployments[rc_idx]; const ossie::SoftPkg* softpkg = deployment->getSoftPkg(); // If the component is non-SCA compliant then we don't expect anything beyond this @@ -2426,11 +3135,11 @@ void createHelper::initializeComponents(const DeploymentList& deployments) } } -void createHelper::configureComponents(const DeploymentList& deployments) +void createHelper::configureComponents(const ComponentList& deployments) { - redhawk::ComponentDeployment* ac_deployment = 0; - for (DeploymentList::const_iterator depl = deployments.begin(); depl != deployments.end(); ++depl) { - redhawk::ComponentDeployment* deployment = (*depl); + boost::shared_ptr ac_deployment; + for (ComponentList::const_iterator depl = deployments.begin(); depl != deployments.end(); ++depl) { + boost::shared_ptr deployment = (*depl); if (deployment->isAssemblyController()) { ac_deployment = deployment; } else { @@ -2481,7 +3190,7 @@ void createHelper::connectComponents(redhawk::ApplicationDeployment& appDeployme std::copy(establishedConnections.begin(), establishedConnections.end(), std::back_inserter(connections)); } -std::vector createHelper::getStartOrder(const DeploymentList& deployments) +std::vector createHelper::getStartOrder(const ComponentList& deployments) { RH_TRACE(_createHelperLog, "Assigning start order"); @@ -2489,10 +3198,10 @@ std::vector createHelper::getStartOrder(const DeploymentList& deplo // the values in the SAD. Using a multimap, keyed on the start order value, // accounts for duplicate keys and allows assigning the effective order // easily by iterating through all entries. - typedef std::multimap StartOrderMap; + typedef std::multimap > StartOrderMap; StartOrderMap start_map; for (size_t index = 0; index < deployments.size(); ++index) { - redhawk::ComponentDeployment* deployment = deployments[index]; + boost::shared_ptr deployment = deployments[index]; const ossie::ComponentInstantiation* instantiation = deployment->getInstantiation(); if (deployment->isAssemblyController()) { RH_TRACE(_createHelperLog, "Component " << instantiation->getID() diff --git a/redhawk/src/control/sdr/dommgr/ApplicationValidator.cpp b/redhawk/src/control/sdr/dommgr/ApplicationValidator.cpp index 456bb89a0..89f3ba6de 100644 --- a/redhawk/src/control/sdr/dommgr/ApplicationValidator.cpp +++ b/redhawk/src/control/sdr/dommgr/ApplicationValidator.cpp @@ -184,8 +184,17 @@ void ApplicationValidator::validateImplementation(const SoftPkg* softpkg, if (!implementation.getEntryPoint()) { throw bad_implementation(softpkg, implementation, "has no entry point"); } - std::string entry_point = _relativePath(softpkg, implementation.getEntryPoint()); + std::string entry_point_image = _relativePath(softpkg, implementation.getEntryPoint()); + std::string entry_point = entry_point_image; + std::string image; + std::string delim = "::"; + if (entry_point_image.find(delim) != std::string::npos) { + std::size_t pos = entry_point_image.find(delim); + image = entry_point_image.substr(pos+2); + entry_point = entry_point_image.substr(0, (entry_point_image.length() - image.length() - delim.length())); + } RH_TRACE(_appFactoryLog, "Validating code entry point " << entry_point); + if (!fileExists(entry_point)) { throw bad_implementation(softpkg, implementation, "missing entrypoint " + entry_point); } diff --git a/redhawk/src/control/sdr/dommgr/Application_impl.cpp b/redhawk/src/control/sdr/dommgr/Application_impl.cpp index a868e2d33..787b196a8 100644 --- a/redhawk/src/control/sdr/dommgr/Application_impl.cpp +++ b/redhawk/src/control/sdr/dommgr/Application_impl.cpp @@ -1,4 +1,3 @@ - /* * This file is protected by Copyright. Please refer to the COPYRIGHT file * distributed with this source distribution. @@ -22,6 +21,7 @@ #include #include #include +#include #include @@ -225,6 +225,16 @@ void Application_impl::setLogLevel( const char *logger_id, const CF::LogLevel ne } catch (const CF::UnknownIdentifier& ex) { } } + BOOST_FOREACH(redhawk::ApplicationComponent component, _cluster) { + if (not component.isRegistered() or not component.isVisible()) + continue; + CF::Resource_var resource_ref = component.getResourcePtr(); + try { + resource_ref->setLogLevel(logger_id, newLevel); + return; + } catch (const CF::UnknownIdentifier& ex) { + } + } throw (CF::UnknownIdentifier()); } @@ -240,6 +250,16 @@ CF::LogLevel Application_impl::getLogLevel( const char *logger_id ) throw (CF::U } catch (const CF::UnknownIdentifier& ex) { } } + BOOST_FOREACH(redhawk::ApplicationComponent component, _cluster) { + if (not component.isRegistered() or not component.isVisible()) + continue; + CF::Resource_var resource_ref = component.getResourcePtr(); + try { + CF::LogLevel level = resource_ref->getLogLevel(logger_id); + return level; + } catch (const CF::UnknownIdentifier& ex) { + } + } throw (CF::UnknownIdentifier()); } @@ -255,6 +275,15 @@ CF::StringSequence* Application_impl::getNamedLoggers() ossie::corba::push_back(retval, CORBA::string_dup(component_logger_list[i])); } } + BOOST_FOREACH(redhawk::ApplicationComponent component, _cluster) { + if (not component.isRegistered() or not component.isVisible()) + continue; + CF::Resource_var resource_ref = component.getResourcePtr(); + CF::StringSequence_var component_logger_list = resource_ref->getNamedLoggers(); + for (unsigned int i=0; ilength(); i++) { + ossie::corba::push_back(retval, CORBA::string_dup(component_logger_list[i])); + } + } return retval._retn(); } @@ -266,6 +295,12 @@ void Application_impl::resetLog() CF::Resource_var resource_ref = component.getResourcePtr(); resource_ref->resetLog(); } + BOOST_FOREACH(redhawk::ApplicationComponent component, _cluster) { + if (not component.isRegistered() or not component.isVisible()) + continue; + CF::Resource_var resource_ref = component.getResourcePtr(); + resource_ref->resetLog(); + } } void Application_impl::start () @@ -856,6 +891,16 @@ CF::PortSet::PortInfoSequence* Application_impl::getPortSet () RH_ERROR(_baseLog, "Unhandled exception during getPortSet, application: " << _identifier << " comp:" << _component_iter->getIdentifier() << "/" << _component_iter->getNamingContext() ); } } + for (ComponentList::iterator _component_iter=this->_cluster.begin(); _component_iter!=this->_cluster.end(); _component_iter++) { + try { + CF::Resource_var comp = _component_iter->getResourcePtr(); + comp_portsets.push_back(comp->getPortSet()); + } catch ( CORBA::COMM_FAILURE &ex ) { + RH_ERROR(_baseLog, "Component getPortSet failed, application: " << _identifier << " comp:" << _component_iter->getIdentifier() << "/" << _component_iter->getNamingContext() ); + } catch ( ... ) { + RH_ERROR(_baseLog, "Unhandled exception during getPortSet, application: " << _identifier << " comp:" << _component_iter->getIdentifier() << "/" << _component_iter->getNamingContext() ); + } + } } for (std::map::iterator _port_val=_ports.begin(); _port_val!=_ports.end(); _port_val++) { @@ -1015,7 +1060,22 @@ throw (CORBA::SystemException, CF::LifeCycle::ReleaseError) _waveformContext->unbind(componentBindingName); } CATCH_RH_ERROR(_baseLog, "Unable to unbind component") } - RH_DEBUG(_baseLog, "Next component") + } + for (ClusterList::iterator ii = _cluster.begin(); ii != _cluster.end(); ++ii) { + + if (ii->hasNamingContext()) { + const std::string& componentName = ii->getNamingContext(); + + // Unbind the component from the naming context. This assumes that the component is + // bound into the waveform context, and its name inside of the context follows the + // last slash in the fully-qualified name. + std::string shortName = componentName.substr(componentName.rfind('/')+1); + RH_TRACE(_baseLog, "Unbinding component " << shortName); + CosNaming::Name_var componentBindingName = ossie::corba::stringToName(shortName); + try { + _waveformContext->unbind(componentBindingName); + } CATCH_RH_ERROR(_baseLog, "Unable to unbind component") + } } terminateComponents(); @@ -1104,6 +1164,21 @@ void Application_impl::releaseComponents() ii->releaseObject(); } } + + for (ClusterList::iterator ii = _cluster.begin(); ii != _cluster.end(); ++ii) { + if (ii->getChildren().empty()) { + // Release "real" components first + ii->releaseObject(); + break; + } + } + + for (ClusterList::iterator ii = _cluster.begin(); ii != _cluster.end(); ++ii) { + if (!ii->getChildren().empty()) { + // Release "real" components first + ii->releaseObject(); + } + } } @@ -1125,6 +1200,22 @@ void Application_impl::terminateComponents() } ii->terminate(); } + // Terminate any components that were executed on devices + for (ClusterList::iterator ii = _cluster.begin(); ii != _cluster.end(); ++ii) { + if ( !ii->getAssignedDevice() ) { + // no assigned device, try to resolve using device id + if ( _domainManager ) { + ossie::DeviceList _registeredDevices = _domainManager->getRegisteredDevices(); + for (ossie::DeviceList::iterator _dev=_registeredDevices.begin(); _dev!=_registeredDevices.end(); _dev++) { + if ( ii->getAssignedDeviceId() == (*_dev)->identifier) { + ii->setAssignedDevice( *_dev ); + break; + } + } + } + } + ii->terminate(); + } } void Application_impl::unloadComponents() @@ -1133,6 +1224,10 @@ void Application_impl::unloadComponents() for (ComponentList::iterator ii = _components.begin(); ii != _components.end(); ++ii) { ii->unloadFiles(); } + // Terminate any components that were executed on devices + for (ClusterList::iterator ii = _cluster.begin(); ii != _cluster.end(); ++ii) { + ii->unloadFiles(); + } } void Application_impl::_cleanupActivations() @@ -1203,7 +1298,9 @@ throw (CORBA::SystemException) return result._retn(); } } - convert_sequence(result, _components, to_pid_type); + std::list comp_list = _components; + comp_list.insert(comp_list.end(), _cluster.begin(), _cluster.end()); + convert_sequence(result, comp_list, to_pid_type); return result._retn(); } @@ -1220,7 +1317,9 @@ CF::Components* Application_impl::registeredComponents () } } boost::mutex::scoped_lock lock(_registrationMutex); - convert_sequence_if(result, _components, to_component_type, + std::list comp_list = _components; + comp_list.insert(comp_list.end(), _cluster.begin(), _cluster.end()); + convert_sequence_if(result, comp_list, to_component_type, std::mem_fun_ref(&redhawk::ApplicationComponent::isRegistered)); return result._retn(); } @@ -1236,6 +1335,8 @@ bool Application_impl::haveAttribute(std::vector &atts, std::string CF::Properties* Application_impl::metrics(const CF::StringSequence& components, const CF::StringSequence& attributes) throw (CF::Application::InvalidMetric, CORBA::SystemException) { + std::list comp_list = _components; + comp_list.insert(_components.end(), _cluster.begin(), _cluster.end()); CF::Properties_var result_ugly = new CF::Properties(); // Make sure releaseObject hasn't already been called { @@ -1275,7 +1376,7 @@ throw (CF::Application::InvalidMetric, CORBA::SystemException) std::map component_map; std::vector component_list; - for (ComponentList::iterator _component_iter=this->_components.begin(); _component_iter!=this->_components.end(); _component_iter++) { + for (ComponentList::iterator _component_iter=comp_list.begin(); _component_iter!=comp_list.end(); _component_iter++) { if (_component_iter->isVisible()) { component_list.push_back(_component_iter->getName()); component_map[_component_iter->getName()] = &(*_component_iter); @@ -1482,7 +1583,9 @@ throw (CORBA::SystemException) } } - convert_sequence_if(result, _components, to_name_element, + std::list comp_list = _components; + comp_list.insert(comp_list.end(), _cluster.begin(), _cluster.end()); + convert_sequence_if(result, comp_list, to_name_element, std::mem_fun_ref(&redhawk::ApplicationComponent::hasNamingContext)); return result._retn(); } @@ -1501,7 +1604,9 @@ throw (CORBA::SystemException) return result._retn(); } } - convert_sequence(result, _components, to_impl_element); + std::list comp_list = _components; + comp_list.insert(comp_list.end(), _cluster.begin(), _cluster.end()); + convert_sequence(result, comp_list, to_impl_element); return result._retn(); } @@ -1570,6 +1675,47 @@ bool Application_impl::checkConnectionDependency (Endpoint::DependencyType type, return false; } +bool Application_impl::_checkPodRegistrations (std::set& identifiers) +{ + for (ClusterList::iterator ii = _cluster.begin(); ii != _cluster.end(); ++ii) { + if (ii->isRegistered()) { + //If the registered component is a cluster type, poll and set pod's status + if (identifiers.find(ii->getIdentifier()) != identifiers.end() && ii->getIsCluster()) { + if(!ii->getClusterManager()->pollStatusActive(ii->getIdentifier())) { + RH_ERROR(_baseLog, "The component with identifier " << ii->getIdentifier() << " is not active!" ) + } + } + + identifiers.erase(ii->getIdentifier()); + + } else if (ii->isTerminated()) { + throw redhawk::ComponentTerminated(ii->getIdentifier()); + } + } + return identifiers.empty(); +} + +bool Application_impl::waitForCluster (std::set& identifiers, int timeout) +{ + // Determine the current time, then add the timeout value to calculate when we should + // stop retrying as an absolute time. + boost::system_time end = boost::get_system_time() + boost::posix_time::seconds(timeout); + + boost::mutex::scoped_lock lock(_registrationMutex); + while (!_checkPodRegistrations(identifiers)) { + RH_DEBUG(_baseLog, "Waiting for cluster....APP:" << _identifier << " list " << identifiers.size() ); + + for (std::set::iterator i = identifiers.begin(); i != identifiers.end(); i++) { + RH_DEBUG(_baseLog, "ID " << i->data()) + } + + if (!_registrationCondition.timed_wait(lock, end)) { + break; + } + } + return identifiers.empty(); +} + bool Application_impl::_checkRegistrations (std::set& identifiers) { for (ComponentList::iterator ii = _components.begin(); ii != _components.end(); ++ii) { @@ -1579,6 +1725,13 @@ bool Application_impl::_checkRegistrations (std::set& identifiers) throw redhawk::ComponentTerminated(ii->getIdentifier()); } } + for (ComponentList::iterator ii = _cluster.begin(); ii != _cluster.end(); ++ii) { + if (ii->isRegistered()) { + identifiers.erase(ii->getIdentifier()); + } else if (ii->isTerminated()) { + throw redhawk::ComponentTerminated(ii->getIdentifier()); + } + } return identifiers.empty(); } @@ -1630,21 +1783,26 @@ redhawk::ApplicationComponent* Application_impl::getComponent(const std::string& void Application_impl::registerComponent (CF::Resource_ptr resource) { + static int i = 0; + i++; + RH_TRACE(_baseLog, "Component responded with an ior of " << ossie::corba::objectToString(resource) << " "<< i) std::string componentId; std::string softwareProfile; + + RH_TRACE(_baseLog, "Calling back to component to set the component ID and software " << i) try{ componentId = ossie::corba::returnString(resource->identifier()); softwareProfile = ossie::corba::returnString(resource->softwareProfile()); } catch(...) { - throw CF::InvalidObjectReference(); + throw CF::InvalidObjectReference(); } boost::mutex::scoped_lock lock(_registrationMutex); redhawk::ApplicationComponent* comp = findComponent(componentId); if (!comp) { - RH_WARN(_baseLog, "Unexpected component '" << componentId + RH_TRACE(_baseLog, "Unexpected component '" << componentId << "' registered with application '" << _appName << "'"); comp = addComponent(componentId, softwareProfile); } else if (softwareProfile != comp->getSoftwareProfile()) { @@ -1654,7 +1812,7 @@ void Application_impl::registerComponent (CF::Resource_ptr resource) comp->setSoftwareProfile(softwareProfile); } - RH_TRACE(_baseLog, "REGISTERING Component '" << componentId << "' software profile " << softwareProfile << " pid:" << comp->getProcessId()); + RH_TRACE(_baseLog, "Component '" << componentId << "' software profile " << softwareProfile << " pid:" << comp->getProcessId() << " " << i); comp->setComponentObject(resource); _registrationCondition.notify_all(); } @@ -1684,6 +1842,11 @@ redhawk::ApplicationComponent* Application_impl::findComponent(const std::string return &(*ii); } } + for (ClusterList::iterator ii = _cluster.begin(); ii != _cluster.end(); ++ii) { + if (identifier == ii->getIdentifier()) { + return &(*ii); + } + } return 0; } @@ -1698,7 +1861,17 @@ redhawk::ApplicationComponent* Application_impl::addComponent(const std::string& return component; } -redhawk::ApplicationComponent* Application_impl::addContainer(const redhawk::ContainerDeployment* container) +redhawk::ApplicationComponent* Application_impl::addCluster(const std::string& componentId, + const std::string& softwareProfile) +{ + _cluster.push_back(redhawk::ApplicationComponent(componentId)); + redhawk::ApplicationComponent* component = &(_cluster.back()); + component->setSoftwareProfile(softwareProfile); + component->setLogger(_baseLog); + return component; +} + +redhawk::ApplicationComponent* Application_impl::addContainer(const boost::shared_ptr container) { const std::string& identifier = container->getIdentifier(); if (findComponent(identifier)) { @@ -1706,16 +1879,25 @@ redhawk::ApplicationComponent* Application_impl::addContainer(const redhawk::Con } const std::string& profile = container->getSoftPkg()->getSPDFile(); RH_DEBUG(_baseLog, "Adding container '" << identifier << "' with profile " << profile); - redhawk::ApplicationComponent* component = addComponent(identifier, profile); + redhawk::ApplicationComponent* component; + if (container->getIsCluster()) { + component = addCluster(identifier, profile); + } + else { + component = addComponent(identifier, profile); + } component->setName(container->getInstantiation()->getID()); + component->setIsCluster(container->getIsCluster()); component->setImplementationId(container->getImplementation()->getID()); // Hide ComponentHost instances from the CORBA API component->setVisible(false); - component->setAssignedDevice(container->getAssignedDevice()); + if (!container->getIsCluster()) { + component->setAssignedDevice(container->getAssignedDevice()); + } return component; } -redhawk::ApplicationComponent* Application_impl::addComponent(const redhawk::ComponentDeployment* deployment) +redhawk::ApplicationComponent* Application_impl::addComponent(const boost::shared_ptr deployment) { const std::string& identifier = deployment->getIdentifier(); if (findComponent(identifier)) { @@ -1730,6 +1912,20 @@ redhawk::ApplicationComponent* Application_impl::addComponent(const redhawk::Com return component; } +redhawk::ApplicationComponent* Application_impl::addCluster(const boost::shared_ptr deployment) +{ + const std::string& identifier = deployment->getIdentifier(); + if (findComponent(identifier)) { + throw std::logic_error("cluster '" + identifier + "' is already registered"); + } + const std::string& profile = deployment->getSoftPkg()->getSPDFile(); + RH_DEBUG(_baseLog, "Adding cluster '" << identifier << "' with profile " << profile); + redhawk::ApplicationComponent* cluster = addCluster(identifier, profile); + cluster->setName(deployment->getInstantiation()->getID()); + cluster->setImplementationId(deployment->getImplementation()->getID()); + return cluster; +} + void Application_impl::componentTerminated(const std::string& componentId, const std::string& deviceId) { boost::mutex::scoped_lock lock(_registrationMutex); diff --git a/redhawk/src/control/sdr/dommgr/Application_impl.h b/redhawk/src/control/sdr/dommgr/Application_impl.h index 4f4adb54c..c7a74678b 100644 --- a/redhawk/src/control/sdr/dommgr/Application_impl.h +++ b/redhawk/src/control/sdr/dommgr/Application_impl.h @@ -158,15 +158,18 @@ class Application_impl : public virtual POA_CF::Application, public Logging_impl // Set component state redhawk::ApplicationComponent* addComponent(const std::string& componentId, const std::string& softwareProfile); - redhawk::ApplicationComponent* addComponent(const redhawk::ComponentDeployment* deployment); - redhawk::ApplicationComponent* addContainer(const redhawk::ContainerDeployment* container); + redhawk::ApplicationComponent* addCluster(const std::string& componentId, const std::string& softwareProfile); + redhawk::ApplicationComponent* addComponent(const boost::shared_ptr deployment); + redhawk::ApplicationComponent* addContainer(const boost::shared_ptr container); + redhawk::ApplicationComponent* addCluster(const boost::shared_ptr deployment); void releaseComponents(); void terminateComponents(); void unloadComponents(); void componentTerminated(const std::string& componentId, const std::string& deviceId); - + + bool waitForCluster(std::set& identifiers, int timeout); bool waitForComponents(std::set& identifiers, int timeout); CF::Application_ptr getComponentApplication(); @@ -186,7 +189,11 @@ class Application_impl : public virtual POA_CF::Application, public Logging_impl // reset the loggers on all components on the waveform void resetLog(); + std::string GetStdoutFromCommand(std::string cmd); + void poll(redhawk::ApplicationComponent& ii); + private: + Application_impl (); // No default constructor Application_impl(Application_impl&); // No copying @@ -210,6 +217,7 @@ class Application_impl : public virtual POA_CF::Application, public Logging_impl void registerComponent(CF::Resource_ptr resource); bool _checkRegistrations(std::set& identifiers); + bool _checkPodRegistrations(std::set& identifiers); void _checkComponentConnections(redhawk::ApplicationComponent* component); @@ -232,7 +240,9 @@ class Application_impl : public virtual POA_CF::Application, public Logging_impl ApplicationRegistrar_impl* _registrar; typedef std::list ComponentList; + typedef std::list ClusterList; ComponentList _components; + ClusterList _cluster; CosNaming::NamingContext_var _domainContext; boost::mutex _registrationMutex; @@ -256,4 +266,7 @@ class Application_impl : public virtual POA_CF::Application, public Logging_impl friend class ApplicationRegistrar_impl; }; +//Method to poll for k8s pod status +//void poll(redhawk::ApplicationComponent& ii); +//std::string GetStdoutFromCommand(std::string cmd); #endif diff --git a/redhawk/src/control/sdr/dommgr/ConnectionManager.cpp b/redhawk/src/control/sdr/dommgr/ConnectionManager.cpp index 9517795de..cf598cc9a 100644 --- a/redhawk/src/control/sdr/dommgr/ConnectionManager.cpp +++ b/redhawk/src/control/sdr/dommgr/ConnectionManager.cpp @@ -110,8 +110,8 @@ char* ConnectionManager_impl::connect(const CF::ConnectionManager::EndpointReque _connectionId = ossie::generateUUID(); } - std::auto_ptr uses(requestToEndpoint(usesEndpoint)); - std::auto_ptr provides(requestToEndpoint(providesEndpoint)); + std::unique_ptr uses(requestToEndpoint(usesEndpoint)); + std::unique_ptr provides(requestToEndpoint(providesEndpoint)); ossie::ConnectionNode connection(uses.release(), provides.release(), _connectionId, requesterId, ""); try { connection.connect(_domainManager->_connectionManager); diff --git a/redhawk/src/control/sdr/dommgr/Deployment.cpp b/redhawk/src/control/sdr/dommgr/Deployment.cpp index 716593ba0..c83fb5a0a 100644 --- a/redhawk/src/control/sdr/dommgr/Deployment.cpp +++ b/redhawk/src/control/sdr/dommgr/Deployment.cpp @@ -167,6 +167,11 @@ void SoftPkgDeployment::load(redhawk::ApplicationComponent* appComponent, CF::Fi const std::string fileName = getLocalFile(); RH_DEBUG(deploymentLog, "Loading file " << fileName << " for soft package " << softpkg->getName()); + // TODO: Remove Hack + if (codeType == CF::LoadableDevice::CONTAINER) { + codeType = CF::LoadableDevice::EXECUTABLE; + } + try { device->load(fileSystem, fileName.c_str(), codeType); } catch (const CF::Device::InvalidState& exc) { @@ -218,6 +223,8 @@ CF::LoadableDevice::LoadType SoftPkgDeployment::getCodeType() const return CF::LoadableDevice::EXECUTABLE; case SPD::Code::DRIVER: return CF::LoadableDevice::DRIVER; + case SPD::Code::CONTAINER: + return CF::LoadableDevice::CONTAINER; default: return CF::LoadableDevice::LoadType(); } @@ -240,20 +247,22 @@ bool SoftPkgDeployment::isExecutable() const return bool(implementation->getEntryPoint()); case SPD::Code::SHARED_LIBRARY: return true; + case SPD::Code::CONTAINER: + return true; default: return false; } } -ComponentDeployment::ComponentDeployment(const SoftPkg* softpkg, - const ComponentInstantiation* instantiation, - const std::string& identifier) : +GeneralDeployment::GeneralDeployment(const SoftPkg* softpkg, + const ComponentInstantiation* instantiation, + const std::string& identifier) : SoftPkgDeployment(softpkg), instantiation(instantiation), identifier(identifier), assemblyController(false), - container(0), - appComponent(0) + appComponent(0), + _isCluster(false) { std::string sadLoggingConfig; // If the SoftPkg has an associated Properties, check the overrides for @@ -319,57 +328,47 @@ ComponentDeployment::ComponentDeployment(const SoftPkg* softpkg, } } -const std::string& ComponentDeployment::getIdentifier() const +const std::string& GeneralDeployment::getIdentifier() const { return identifier; } -const ComponentInstantiation* ComponentDeployment::getInstantiation() const +const ComponentInstantiation* GeneralDeployment::getInstantiation() const { return instantiation; } -void ComponentDeployment::setContainer(ComponentDeployment* container) -{ - this->container = container; -} - -ComponentDeployment* ComponentDeployment::getContainer() -{ - return container; -} - -bool ComponentDeployment::isResource() const +bool GeneralDeployment::isResource() const { return softpkg->getDescriptor()->isResource(); } -bool ComponentDeployment::isConfigurable() const +bool GeneralDeployment::isConfigurable() const { return softpkg->getDescriptor()->isConfigurable(); } -bool ComponentDeployment::isAssemblyController() const +bool GeneralDeployment::isAssemblyController() const { return assemblyController; } -void ComponentDeployment::setIsAssemblyController(bool state) +void GeneralDeployment::setIsAssemblyController(bool state) { assemblyController = state; } -void ComponentDeployment::setAssignedDevice(const boost::shared_ptr& device) +void GeneralDeployment::setAssignedDevice(const boost::shared_ptr& device) { assignedDevice = device; } -const boost::shared_ptr& ComponentDeployment::getAssignedDevice() const +const boost::shared_ptr& GeneralDeployment::getAssignedDevice() const { return assignedDevice; } -std::string ComponentDeployment::getEntryPoint() +std::string GeneralDeployment::getEntryPoint() { const char* entryPoint = implementation->getEntryPoint(); if (entryPoint) { @@ -384,7 +383,7 @@ std::string ComponentDeployment::getEntryPoint() return std::string(); } -redhawk::PropertyMap ComponentDeployment::getOptions() +redhawk::PropertyMap GeneralDeployment::getOptions() { // In prior versions, the options could be overridden, at least from the // perspective of ComponentInfo; this may need to be re-implemented @@ -425,46 +424,46 @@ redhawk::PropertyMap ComponentDeployment::getOptions() return options; } -void ComponentDeployment::setNicAssignment(const std::string& nic) +void GeneralDeployment::setNicAssignment(const std::string& nic) { nicAssignment = nic; } -bool ComponentDeployment::hasNicAssignment() const +bool GeneralDeployment::hasNicAssignment() const { return !nicAssignment.empty(); } -const std::string& ComponentDeployment::getNicAssignment() const +const std::string& GeneralDeployment::getNicAssignment() const { return nicAssignment; } -void ComponentDeployment::setCpuReservation(float reservation) +void GeneralDeployment::setCpuReservation(float reservation) { cpuReservation = reservation; } -bool ComponentDeployment::hasCpuReservation() const +bool GeneralDeployment::hasCpuReservation() const { return cpuReservation.isSet(); } -float ComponentDeployment::getCpuReservation() const +float GeneralDeployment::getCpuReservation() const { return *cpuReservation; } -redhawk::PropertyMap ComponentDeployment::getDeviceRequires() const { +redhawk::PropertyMap GeneralDeployment::getDeviceRequires() const { return deviceRequires; } -void ComponentDeployment::setDeviceRequires( const redhawk::PropertyMap &devReqs ) { +void GeneralDeployment::setDeviceRequires( const redhawk::PropertyMap &devReqs ) { deviceRequires = devReqs; } -redhawk::PropertyMap ComponentDeployment::getAllocationContext() const +redhawk::PropertyMap GeneralDeployment::getAllocationContext() const { redhawk::PropertyMap properties; if (softpkg->getProperties()) { @@ -485,7 +484,7 @@ redhawk::PropertyMap ComponentDeployment::getAllocationContext() const return properties; } -redhawk::PropertyMap ComponentDeployment::getCommandLineParameters() const +redhawk::PropertyMap GeneralDeployment::getCommandLineParameters() const { redhawk::PropertyMap properties; bool has_LOGGING_CONFIG_URI = false; @@ -540,7 +539,7 @@ redhawk::PropertyMap ComponentDeployment::getCommandLineParameters() const return properties; } -redhawk::PropertyMap ComponentDeployment::getInitialConfigureProperties() const +redhawk::PropertyMap GeneralDeployment::getInitialConfigureProperties() const { redhawk::PropertyMap properties; if (softpkg->getProperties()) { @@ -556,7 +555,7 @@ redhawk::PropertyMap ComponentDeployment::getInitialConfigureProperties() const return properties; } -redhawk::PropertyMap ComponentDeployment::getInitializeProperties() const +redhawk::PropertyMap GeneralDeployment::getInitializeProperties() const { redhawk::PropertyMap properties; if (softpkg->getProperties()) { @@ -586,12 +585,12 @@ redhawk::PropertyMap ComponentDeployment::getInitializeProperties() const return properties; } -void ComponentDeployment::overrideProperty(const std::string& id, const CORBA::Any& value) +void GeneralDeployment::overrideProperty(const std::string& id, const CORBA::Any& value) { overrides[id] = value; } -CF::DataType ComponentDeployment::getPropertyValue(const Property* property) const +CF::DataType GeneralDeployment::getPropertyValue(const Property* property) const { if (property->canOverride()) { // Check for a runtime override first @@ -609,7 +608,7 @@ CF::DataType ComponentDeployment::getPropertyValue(const Property* property) con return ossie::convertPropertyToDataType(property); } -const ComponentProperty* ComponentDeployment::getPropertyOverride(const std::string& id) const +const ComponentProperty* GeneralDeployment::getPropertyOverride(const std::string& id) const { BOOST_FOREACH(const ComponentProperty& override, instantiation->getProperties()) { if (override.getID() == id) { @@ -619,7 +618,7 @@ const ComponentProperty* ComponentDeployment::getPropertyOverride(const std::str return 0; } -redhawk::PropertyMap ComponentDeployment::getAffinityOptionsWithAssignment() const +redhawk::PropertyMap GeneralDeployment::getAffinityOptionsWithAssignment() const { redhawk::PropertyMap options = affinityOptions; for (redhawk::PropertyMap::const_iterator prop = options.begin(); prop != options.end(); ++prop) { @@ -634,23 +633,23 @@ redhawk::PropertyMap ComponentDeployment::getAffinityOptionsWithAssignment() con return options; } -void ComponentDeployment::mergeAffinityOptions(const CF::Properties& properties) +void GeneralDeployment::mergeAffinityOptions(const CF::Properties& properties) { // Update existing settings with new ones affinityOptions.update(properties); } -void ComponentDeployment::setResourcePtr(CF::Resource_ptr resource) +void GeneralDeployment::setResourcePtr(CF::Resource_ptr resource) { this->resource = CF::Resource::_duplicate(resource); } -CF::Resource_ptr ComponentDeployment::getResourcePtr() const +CF::Resource_ptr GeneralDeployment::getResourcePtr() const { return CF::Resource::_duplicate(resource); } -void ComponentDeployment::load(CF::FileSystem_ptr fileSystem, CF::LoadableDevice_ptr device) +void GeneralDeployment::load(CF::FileSystem_ptr fileSystem, CF::LoadableDevice_ptr device) { if (!appComponent) { throw std::logic_error("deployment is not assigned to an application component"); @@ -659,7 +658,7 @@ void ComponentDeployment::load(CF::FileSystem_ptr fileSystem, CF::LoadableDevice } -redhawk::PropertyMap ComponentDeployment::getLoggingConfiguration() const +redhawk::PropertyMap GeneralDeployment::getLoggingConfiguration() const { std::string logcfg_uri; std::string debug_level; @@ -730,17 +729,17 @@ redhawk::PropertyMap ComponentDeployment::getLoggingConfiguration() const return ret; } -redhawk::ApplicationComponent* ComponentDeployment::getApplicationComponent() +redhawk::ApplicationComponent* GeneralDeployment::getApplicationComponent() { return appComponent; } -void ComponentDeployment::setApplicationComponent(redhawk::ApplicationComponent* component) +void GeneralDeployment::setApplicationComponent(redhawk::ApplicationComponent* component) { appComponent = component; } -void ComponentDeployment::initializeProperties() +void GeneralDeployment::initializeProperties() { redhawk::PropertyMap init_props = getInitializeProperties(); @@ -779,7 +778,7 @@ void ComponentDeployment::initializeProperties() } } -void ComponentDeployment::initialize() +void GeneralDeployment::initialize() { if (isConfigurable()) { initializeProperties(); @@ -798,6 +797,7 @@ void ComponentDeployment::initialize() } logmsg << " '" << error.errorMessages[index] << "'"; } + throw ComponentError(this, logmsg.str()); } catch (const CORBA::SystemException& exc) { throw ComponentError(this, "initialize raised " + ossie::corba::describeException(exc)); @@ -808,7 +808,7 @@ void ComponentDeployment::initialize() } } -void ComponentDeployment::configure() +void GeneralDeployment::configure() { if (!softpkg->isScaCompliant()) { // If the component is non-SCA compliant then we don't expect anything beyond this diff --git a/redhawk/src/control/sdr/dommgr/Deployment.h b/redhawk/src/control/sdr/dommgr/Deployment.h index 9856952ce..3c6aae6ff 100644 --- a/redhawk/src/control/sdr/dommgr/Deployment.h +++ b/redhawk/src/control/sdr/dommgr/Deployment.h @@ -29,6 +29,9 @@ #include #include "PersistenceStore.h" +#include +#include + namespace redhawk { extern rh_logger::LoggerPtr deploymentLog; @@ -99,14 +102,16 @@ namespace redhawk { DeploymentList dependencies; }; - class ComponentDeployment : public SoftPkgDeployment, public UsesDeviceDeployment + class GeneralDeployment : public SoftPkgDeployment, public UsesDeviceDeployment { public: typedef ossie::ComponentInstantiation::LoggingConfig LoggingConfig; - ComponentDeployment(const ossie::SoftPkg* softpkg, - const ossie::ComponentInstantiation* instantiation, - const std::string& identifier); + GeneralDeployment(const ossie::SoftPkg* softpkg, + const ossie::ComponentInstantiation* instantiation, + const std::string& identifier); + + void overrideProperty(const std::string& id, const CORBA::Any& value); /** * @brief Returns the component's runtime identifier @@ -115,9 +120,6 @@ namespace redhawk { const ossie::ComponentInstantiation* getInstantiation() const; - void setContainer(ComponentDeployment* container); - ComponentDeployment* getContainer(); - bool isResource() const; bool isConfigurable() const; @@ -153,8 +155,6 @@ namespace redhawk { */ redhawk::PropertyMap getCommandLineParameters() const; - void overrideProperty(const std::string& id, const CORBA::Any& value); - void setAssignedDevice(const boost::shared_ptr& device); const boost::shared_ptr& getAssignedDevice() const; @@ -189,7 +189,28 @@ namespace redhawk { */ void configure(); + void setIsCluster(const bool isCluster) { + _isCluster = isCluster; + } + + const bool getIsCluster() const { + return _isCluster; + } + + void setContainer(boost::shared_ptr container) + { + this->container = container; + } + + boost::shared_ptr getContainer() + { + return container; + } + protected: + bool _isCluster; + boost::shared_ptr container; + ossie::cluster::ClusterManagerResolverPtr _clusterMgr; /** * Returns the properties used for the initial call to configure() @@ -208,19 +229,17 @@ namespace redhawk { void initializeProperties(); + boost::shared_ptr assignedDevice; + CF::Resource_var resource; + std::string nicAssignment; + + ossie::optional_value cpuReservation; const ossie::ComponentInstantiation* instantiation; const std::string identifier; bool assemblyController; - - boost::shared_ptr assignedDevice; - ComponentDeployment* container; - CF::Resource_var resource; - redhawk::ApplicationComponent* appComponent; redhawk::PropertyMap overrides; - std::string nicAssignment; - ossie::optional_value cpuReservation; redhawk::PropertyMap affinityOptions; redhawk::PropertyMap deviceRequires; redhawk::PropertyMap loggingConfig; diff --git a/redhawk/src/control/sdr/dommgr/DeploymentExceptions.cpp b/redhawk/src/control/sdr/dommgr/DeploymentExceptions.cpp index d6a10101e..60a0d67e1 100644 --- a/redhawk/src/control/sdr/dommgr/DeploymentExceptions.cpp +++ b/redhawk/src/control/sdr/dommgr/DeploymentExceptions.cpp @@ -36,7 +36,7 @@ UsesDeviceFailure::UsesDeviceFailure(const ApplicationDeployment&, const std::ve { } -UsesDeviceFailure::UsesDeviceFailure(const ComponentDeployment* component, const std::vector& ids) : +UsesDeviceFailure::UsesDeviceFailure(const GeneralDeployment* component, const std::vector& ids) : DeploymentError(CF::CF_ENOSPC, "failed to satisfy usesdevice dependencies"), _context("component '" + component->getInstantiation()->getID() + "'"), _ids(ids) @@ -67,7 +67,7 @@ std::string ConnectionError::message() const return msg.str(); } -ComponentError::ComponentError(const ComponentDeployment* deployment, const std::string& message) : +ComponentError::ComponentError(const GeneralDeployment* deployment, const std::string& message) : DeploymentError(CF::CF_EINVAL, message), _identifier(deployment->getInstantiation()->getID()) { @@ -87,7 +87,7 @@ std::string ComponentError::message() const return msg.str(); } -ExecuteError::ExecuteError(const ComponentDeployment* deployment, const std::string& message) : +ExecuteError::ExecuteError(const GeneralDeployment* deployment, const std::string& message) : ComponentError(deployment, message), _device(deployment->getAssignedDevice()) { @@ -101,7 +101,9 @@ std::string ExecuteError::message() const std::ostringstream msg; msg << "Executing component " << identifier(); msg << " implementation " << implementation(); - msg << " failed on device " << device()->identifier; + if (device()) { + msg << " failed on device " << device()->identifier; + } msg << ": " << what(); return msg.str(); } diff --git a/redhawk/src/control/sdr/dommgr/DeploymentExceptions.h b/redhawk/src/control/sdr/dommgr/DeploymentExceptions.h index 8e52521aa..447c5c2bf 100644 --- a/redhawk/src/control/sdr/dommgr/DeploymentExceptions.h +++ b/redhawk/src/control/sdr/dommgr/DeploymentExceptions.h @@ -38,7 +38,7 @@ namespace ossie { namespace redhawk { class ApplicationDeployment; - class ComponentDeployment; + class GeneralDeployment; class DeploymentError : public std::runtime_error { public: @@ -85,7 +85,7 @@ namespace redhawk { class UsesDeviceFailure : public DeploymentError { public: UsesDeviceFailure(const ApplicationDeployment& application, const std::vector& ids); - UsesDeviceFailure(const ComponentDeployment* component, const std::vector& ids); + UsesDeviceFailure(const GeneralDeployment* component, const std::vector& ids); virtual ~UsesDeviceFailure() throw() { @@ -154,7 +154,7 @@ namespace redhawk { class ComponentError : public DeploymentError { public: - ComponentError(const ComponentDeployment* deployment, const std::string& message); + ComponentError(const GeneralDeployment* deployment, const std::string& message); virtual ~ComponentError() throw () { @@ -179,7 +179,7 @@ namespace redhawk { class ExecuteError : public ComponentError { public: - ExecuteError(const ComponentDeployment* deployment, const std::string& message); + ExecuteError(const GeneralDeployment* deployment, const std::string& message); const boost::shared_ptr& device() const { @@ -198,7 +198,7 @@ namespace redhawk { class PropertiesError : public ComponentError { public: - PropertiesError(const ComponentDeployment* deployment, + PropertiesError(const GeneralDeployment* deployment, const CF::Properties& properties, const std::string& message) : ComponentError(deployment, message), diff --git a/redhawk/src/control/sdr/dommgr/Makefile.am b/redhawk/src/control/sdr/dommgr/Makefile.am index 32869fcd5..6b13fde84 100644 --- a/redhawk/src/control/sdr/dommgr/Makefile.am +++ b/redhawk/src/control/sdr/dommgr/Makefile.am @@ -46,5 +46,6 @@ DomainManager_SOURCES = connectionSupport.cpp \ DomainManager_CPPFLAGS = -I../../include -I../../parser -I$(top_srcdir)/base/include -I$(top_srcdir)/base $(BOOST_CPPFLAGS) $(OMNIORB_CFLAGS) $(LOG4CXX_FLAGS) DomainManager_CXXFLAGS = -Wall DomainManager_LDADD = ../../framework/libossiedomain.la ../../parser/libossieparser.la $(top_builddir)/base/framework/libossiecf.la $(top_builddir)/base/framework/idl/libossieidl.la $(BOOST_LDFLAGS) $(BOOST_FILESYSTEM_LIB) $(BOOST_SERIALIZATION_LIB) $(BOOST_REGEX_LIB) $(BOOST_THREAD_LIB) $(BOOST_SYSTEM_LIB) $(OMNICOS_LIBS) $(OMNIORB_LIBS) $(LOG4CXX_LIBS) $(PERSISTENCE_LIBS) -DomainManager_LDFLAGS = -static -lrt +DomainManager_LDADD += $(RT_LIB) $(UUID_LIB) +DomainManager_LDFLAGS = -static diff --git a/redhawk/src/control/sdr/dommgr/applicationSupport.cpp b/redhawk/src/control/sdr/dommgr/applicationSupport.cpp index 1c9f4df23..12ee3e8e3 100644 --- a/redhawk/src/control/sdr/dommgr/applicationSupport.cpp +++ b/redhawk/src/control/sdr/dommgr/applicationSupport.cpp @@ -214,7 +214,7 @@ ImplementationInfo* ImplementationInfo::buildImplementationInfo(CF::FileManager_ std::vector::const_iterator jj; for (jj = softpkgDependencies.begin(); jj != softpkgDependencies.end(); ++jj) { LOG_TRACE(ImplementationInfo, "Loading component implementation softpkg dependency '" << *jj); - std::auto_ptr softpkg(SoftpkgInfo::buildSoftpkgInfo(fileMgr, jj->localfile.c_str())); + std::unique_ptr softpkg(SoftpkgInfo::buildSoftpkgInfo(fileMgr, jj->localfile.c_str())); impl->addSoftPkgDependency(softpkg.release()); } @@ -391,7 +391,7 @@ SoftpkgInfo* SoftpkgInfo::buildSoftpkgInfo(CF::FileManager_ptr fileMgr, const ch { LOG_TRACE(SoftpkgInfo, "Building soft package info from file " << spdFileName); - std::auto_ptr softpkg(new SoftpkgInfo(spdFileName)); + std::unique_ptr softpkg(new SoftpkgInfo(spdFileName)); if (!softpkg->parseProfile(fileMgr)) { return 0; diff --git a/redhawk/src/control/sdr/dommgr/connectionSupport.cpp b/redhawk/src/control/sdr/dommgr/connectionSupport.cpp index f97f37b57..15328dae1 100644 --- a/redhawk/src/control/sdr/dommgr/connectionSupport.cpp +++ b/redhawk/src/control/sdr/dommgr/connectionSupport.cpp @@ -143,7 +143,7 @@ AppConnectionManager::~AppConnectionManager() bool AppConnectionManager::resolveConnection(const Connection& connection) { - std::auto_ptr connectionNode(ConnectionNode::ParseConnection(connection)); + std::unique_ptr connectionNode(ConnectionNode::ParseConnection(connection)); if (!connectionNode.get()) { RH_ERROR(_connectionLog, "Unable to parse connection"); return false; @@ -601,7 +601,6 @@ bool Endpoint::isTerminated() const CORBA::Object_ptr Endpoint::resolve(ConnectionManager& manager) { if (!isResolved()) { - RH_TRACE(connectionSupportLog, "Resolving endpoint"); object_ = resolve_(manager); } return CORBA::Object::_duplicate(object_); @@ -641,14 +640,14 @@ PREPARE_CF_LOGGING(ConnectionNode); ConnectionNode* ConnectionNode::ParseConnection(const Connection& connection) { // Parse the uses port. - std::auto_ptr usesEndpoint(Endpoint::ParsePort(connection.getUsesPort())); + std::unique_ptr usesEndpoint(Endpoint::ParsePort(connection.getUsesPort())); if (!usesEndpoint.get()) { RH_ERROR(connectionSupportLog, "Unable to parse uses endpoint"); return 0; } // Parse the provides port. - std::auto_ptr providesEndpoint(Endpoint::ParseProvidesEndpoint(connection)); + std::unique_ptr providesEndpoint(Endpoint::ParseProvidesEndpoint(connection)); if (!providesEndpoint.get()) { RH_ERROR(connectionSupportLog, "Unable to parse provides endpoint"); return 0; diff --git a/redhawk/src/control/sdr/dommgr/connectionSupport.h b/redhawk/src/control/sdr/dommgr/connectionSupport.h index f467679f2..cd3b1e1ac 100644 --- a/redhawk/src/control/sdr/dommgr/connectionSupport.h +++ b/redhawk/src/control/sdr/dommgr/connectionSupport.h @@ -209,7 +209,7 @@ namespace ossie void setrequesterId(std::string _requesterId) { requesterId = _requesterId;} void setconnectionRecordId(std::string _connectionRecordId) { connectionRecordId = _connectionRecordId;} - // Use boost::scoped_ptr instead of std::auto_ptr for serialization + // Use boost::scoped_ptr instead of std::unique_ptr for serialization // purposes. boost::scoped_ptr uses; boost::scoped_ptr provides; diff --git a/redhawk/src/control/sdr/dommgr/createHelper.h b/redhawk/src/control/sdr/dommgr/createHelper.h index c46dc2e47..015edca8f 100644 --- a/redhawk/src/control/sdr/dommgr/createHelper.h +++ b/redhawk/src/control/sdr/dommgr/createHelper.h @@ -98,12 +98,16 @@ class createHelper redhawk::ProfileCache _profileCache; - typedef std::vector DeploymentList; - typedef std::vector ContainerList; + typedef std::vector< boost::shared_ptr > DeploymentList; + typedef std::vector< boost::shared_ptr > ComponentList; + typedef std::vector< boost::shared_ptr > ContainerList; + typedef std::vector< boost::shared_ptr > ClusterList; typedef std::vector ProcessorList; typedef std::vector OSList; typedef std::vector ReservationList; + void configureK8sYaml(CF::ApplicationRegistrar_ptr registrar, const ClusterList& cluster, const char* name, ossie::cluster::ClusterManagerResolverPtr clusterMgr); + void configureSwarmYaml(CF::ApplicationRegistrar_ptr registrar, const ClusterList& cluster, const char* name, ossie::cluster::ClusterManagerResolverPtr clusterMgr); // createHelper helper methods void assignPlacementsToDevices(redhawk::ApplicationDeployment& appDeployment, const DeviceAssignmentMap& devices, @@ -138,9 +142,9 @@ class createHelper void _evaluateMATHinRequest(CF::Properties &request, const CF::Properties &configureProperties); void _castRequestProperties(CF::Properties& allocationProperties, const std::vector &prop_refs, unsigned int offset=0); - redhawk::PropertyMap _getComponentAllocations(const redhawk::ComponentDeployment* deployment); + redhawk::PropertyMap _getComponentAllocations(const boost::shared_ptr deployment); std::string _getNicAllocationId(redhawk::PropertyMap& allocationProperties); - void _applyNicAllocation(redhawk::ComponentDeployment* deployment, const std::string& allocId, CF::Device_ptr device); + void _applyNicAllocation(boost::shared_ptr deployment, const std::string& allocId, CF::Device_ptr device); // Supports allocation bool allocateUsesDevices(const std::vector& usesDevices, @@ -151,11 +155,11 @@ class createHelper const std::vector& component, const CF::Properties& configureProperties); void allocateComponent(redhawk::ApplicationDeployment& appDeployment, - redhawk::ComponentDeployment* deployment, + boost::shared_ptr deployment, const std::string& assignedDeviceId, const std::map& specialized_reservations); - ossie::AllocationResult allocateComponentToDevice(redhawk::ComponentDeployment* deployment, + ossie::AllocationResult allocateComponentToDevice(boost::shared_ptr deployment, const std::string& assignedDeviceId, const std::string& appIdentifier, const std::map& specialized_reservations); @@ -180,28 +184,38 @@ class createHelper // Supports loading, executing, initializing, configuring, & connecting void loadAndExecuteContainers(const ContainerList& containers, - CF::ApplicationRegistrar_ptr _appReg); + CF::ApplicationRegistrar_ptr _appReg, const ossie::cluster::ClusterManagerResolverPtr clusterMgr); void waitForContainerRegistration(redhawk::ApplicationDeployment& appDeployment); - void loadAndExecuteComponents(const DeploymentList& deployments, + void loadAndExecuteComponents(const ComponentList& deployments, + CF::ApplicationRegistrar_ptr _appReg); + void loadAndExecuteShared(const ComponentList& deployments, const ClusterList& cluster, const ossie::cluster::ClusterManagerResolverPtr clusterMgr, CF::ApplicationRegistrar_ptr _appReg); - void applyApplicationAffinityOptions(const DeploymentList& deployments); + void applyApplicationAffinityOptions(const ComponentList& deployments); - void attemptComponentExecution(CF::ApplicationRegistrar_ptr registrar, redhawk::ComponentDeployment* deployment); + void attemptComponentExecution(CF::ApplicationRegistrar_ptr registrar, boost::shared_ptr deployment); + void attemptClusterExecution (CF::ApplicationRegistrar_ptr registrar, boost::shared_ptr deployment); void waitForComponentRegistration(redhawk::ApplicationDeployment& appDeployment); - void initializeComponents(const DeploymentList& deployments); + void waitForSharedRegistration(redhawk::ApplicationDeployment& appDeployment); + void initializeComponents(const ComponentList& deployments); + + void loadAndExecuteCluster(const ClusterList& cluster, + CF::ApplicationRegistrar_ptr _appReg, const ossie::cluster::ClusterManagerResolverPtr clusterMgr, + const std::string & identifier); + void waitForClusterRegistration(redhawk::ApplicationDeployment& appDeployment); - void configureComponents(const DeploymentList& deployments); + void configureComponents(const ComponentList& deployments); void connectComponents(redhawk::ApplicationDeployment& appDeployment, std::vector& connections, std::string base_naming_context); int resolveDebugLevel( const std::string &level_in ); - void resolveLoggingConfiguration(redhawk::ComponentDeployment* deployment, redhawk::PropertyMap &execParams ); - std::vector getStartOrder(const DeploymentList& deployments); + void resolveLoggingConfiguration(boost::shared_ptr deployment, redhawk::PropertyMap &execParams ); + std::vector getStartOrder(const ComponentList& deployments); void verifyNoCpuSpecializationCollisions(const ossie::SoftwareAssembly& sad, std::map specialized_reservations); std::vector getComponentUsageNames(redhawk::ApplicationDeployment& appDeployment); + std::vector getClusterUsageNames(redhawk::ApplicationDeployment& appDeployment); std::vector getHostCollocationsIds(); // Cleanup - used when create fails/doesn't succeed for some reason diff --git a/redhawk/src/doit.sh b/redhawk/src/doit.sh new file mode 100755 index 000000000..412c8e6bf --- /dev/null +++ b/redhawk/src/doit.sh @@ -0,0 +1,15 @@ +#!/bin/sh + +set -u +set -e +set -x + +FIXME=modernize-use-noexcept +# FIXME=modernize-use-override + +SYSROOT=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk +RUN_CLANG_TIDY="run-clang-tidy -extra-arg=-isysroot -extra-arg=${SYSROOT} -extra-arg=-isystem -extra-arg=${SYSROOT}/usr/include/c++/v1" + +${RUN_CLANG_TIDY} base/framework/*.cpp +#TODO ${RUN_CLANG_TIDY} -checks="-*,${FIXME}" base/framework/*.cpp -fix + diff --git a/redhawk/src/etc/profile.d/redhawk.csh.in b/redhawk/src/etc/profile.d/redhawk.csh.in index c0971fec5..8ef011d41 100644 --- a/redhawk/src/etc/profile.d/redhawk.csh.in +++ b/redhawk/src/etc/profile.d/redhawk.csh.in @@ -7,19 +7,26 @@ if (! $?OSSIEHOME) then setenv PATH @bindir@ endif - if ($?LD_LIBRARY_PATH) then - setenv LD_LIBRARY_PATH @libdir@:${LD_LIBRARY_PATH} - else - setenv LD_LIBRARY_PATH @libdir@ - endif - if ($?PYTHONPATH) then setenv PYTHONPATH $OSSIEHOME/lib64/python:$OSSIEHOME/lib/python:${PYTHONPATH} else setenv PYTHONPATH $OSSIEHOME/lib64/python:$OSSIEHOME/lib/python endif endif +if (! $?KUBECONFIG) then + setenv KUBECONFIG $OSSIEHOME/.kube/config +endif +if (! $?AWS_CONFIG_FILE) then + setenv AWS_CONFIG_FILE $OSSIEHOME/aws/config +endif +if (! $?AWS_SHARED_CREDENTIALS_FILE) then + setenv AWS_SHARED_CREDENTIALS_FILE $OSSIEHOME/aws/credentials +endif +if (! $?AWS_PROFILE) then + setenv AWS_PROFILE redhawk +endif if (! $?LD_LIBRARY_PATH) then setenv LD_LIBRARY_PATH @libdir@ +else + setenv LD_LIBRARY_PATH @libdir@:${LD_LIBRARY_PATH} endif - diff --git a/redhawk/src/etc/profile.d/redhawk.sh.in b/redhawk/src/etc/profile.d/redhawk.sh.in index 7b1d9e62b..9806b08b1 100644 --- a/redhawk/src/etc/profile.d/redhawk.sh.in +++ b/redhawk/src/etc/profile.d/redhawk.sh.in @@ -24,16 +24,26 @@ if [ "X$OSSIEHOME" = X ] ; then PATH=:${PATH} fi export PATH=@bindir@${PATH} - if [ "X$LD_LIBRARY_PATH" != X ]; then - LD_LIBRARY_PATH=:${LD_LIBRARY_PATH} - fi - export LD_LIBRARY_PATH=@libdir@${LD_LIBRARY_PATH} if [ "X$PYTHONPATH" != X ]; then PYTHONPATH=:${PYTHONPATH} fi export PYTHONPATH=${OSSIEHOME}/lib64/python:${OSSIEHOME}/lib/python${PYTHONPATH} fi +if [ "X$KUBECONFIG" = X ] ; then + export KUBECONFIG=$OSSIEHOME/.kube/config +fi +if [ "X$AWS_SHARED_CREDENTIALS_FILE" = X ] ; then + export AWS_SHARED_CREDENTIALS_FILE=$OSSIEHOME/aws/credentials +fi +if [ "X$AWS_CONFIG_FILE" = X ] ; then + export AWS_CONFIG_FILE=$OSSIEHOME/aws/config +fi +if [ "X$AWS_PROFILE" = X ] ; then + export AWS_PROFILE=redhawk +fi if [ "X$LD_LIBRARY_PATH" = X ] ; then export LD_LIBRARY_PATH=@libdir@ fi - +if [ "X$LD_LIBRARY_PATH" != X ]; then + LD_LIBRARY_PATH=@libdir@:${LD_LIBRARY_PATH} +fi diff --git a/redhawk/src/idl/ossie/CF/cf.idl b/redhawk/src/idl/ossie/CF/cf.idl index 811767fa2..d47ae4dba 100644 --- a/redhawk/src/idl/ossie/CF/cf.idl +++ b/redhawk/src/idl/ossie/CF/cf.idl @@ -1056,7 +1056,8 @@ module CF { KERNEL_MODULE, DRIVER, SHARED_LIBRARY, - EXECUTABLE + EXECUTABLE, + CONTAINER }; /* The InvalidLoadKind exception indicates that the Device is unable to load the type of file designated by the loadKind parameter. */ exception InvalidLoadKind { diff --git a/redhawk/src/omnijni/src/python/omnijni/code.py b/redhawk/src/omnijni/src/python/omnijni/code.py index f553acaad..9e29e7729 100644 --- a/redhawk/src/omnijni/src/python/omnijni/code.py +++ b/redhawk/src/omnijni/src/python/omnijni/code.py @@ -32,7 +32,7 @@ def __init__ (self, *classes): def __getattr__ (self, name): if not name in self.__classes: - raise KeyError, name + raise KeyError(name) return lambda *args, **kwargs: self._append(name, *args, **kwargs) def _create (self, name, *args, **kwargs): @@ -146,5 +146,5 @@ def indent (self): def outdent (self): if (self.__indent_level == 0): - raise IndentationError, 'Indentation level went below zero' + raise IndentationError('Indentation level went below zero') self.__indent_level -= 1 diff --git a/redhawk/src/omnijni/src/python/omnijni/cppcode.py b/redhawk/src/omnijni/src/python/omnijni/cppcode.py index b090a1649..152297bae 100644 --- a/redhawk/src/omnijni/src/python/omnijni/cppcode.py +++ b/redhawk/src/omnijni/src/python/omnijni/cppcode.py @@ -18,8 +18,8 @@ # along with this program. If not, see http://www.gnu.org/licenses/. # -import code -from code import SourceFile +from . import code +from .code import SourceFile class CppFactory(code.Factory): def __init__ (self): diff --git a/redhawk/src/omnijni/src/python/omnijni/idljava.py b/redhawk/src/omnijni/src/python/omnijni/idljava.py index c19deaccf..e4077ce54 100644 --- a/redhawk/src/omnijni/src/python/omnijni/idljava.py +++ b/redhawk/src/omnijni/src/python/omnijni/idljava.py @@ -21,8 +21,8 @@ import os import errno from omniidl import idlast, idlvisitor, idltype -import javacode -from typeinfo import * +from . import javacode +from .typeinfo import * # Map of singleton Base Type objects baseTypeMap = { @@ -288,7 +288,7 @@ def visitInterface (self, node): path = os.path.join(*package.split('.')) try: os.makedirs(path) - except OSError, e: + except OSError as e: # If the leaf directory already existed (or was created in the # interim), ignore the error if e.errno != errno.EEXIST: diff --git a/redhawk/src/omnijni/src/python/omnijni/idljni.py b/redhawk/src/omnijni/src/python/omnijni/idljni.py index af30c47fd..d2e96a11b 100644 --- a/redhawk/src/omnijni/src/python/omnijni/idljni.py +++ b/redhawk/src/omnijni/src/python/omnijni/idljni.py @@ -20,8 +20,8 @@ import os from omniidl import idlast, idlvisitor, idltype -import cppcode -from typeinfo import * +from . import cppcode +from .typeinfo import * primitiveTypeMap = { idltype.tk_void: 'void', diff --git a/redhawk/src/omnijni/src/python/omnijni/javacode.py b/redhawk/src/omnijni/src/python/omnijni/javacode.py index 19316690b..42b48eb0e 100644 --- a/redhawk/src/omnijni/src/python/omnijni/javacode.py +++ b/redhawk/src/omnijni/src/python/omnijni/javacode.py @@ -18,8 +18,8 @@ # along with this program. If not, see http://www.gnu.org/licenses/. # -import code -from code import SourceFile +from . import code +from .code import SourceFile class JavaFactory(code.Factory): def __init__(self): diff --git a/redhawk/src/reconf b/redhawk/src/reconf index 21e3e4633..cc345df0f 100755 --- a/redhawk/src/reconf +++ b/redhawk/src/reconf @@ -20,16 +20,17 @@ # -libtoolize --force --automake +# NOTE: on Darwin with brew libtoolize is named glibtoolize! CK +glibtoolize --force --automake || libtoolize --force --automake aclocal -I acinclude rm -f config.cache autoconf -f automake --foreign --add-missing -# Due to strange autotools bootstrap issues, +# Due to strange autotools bootstrap issues, # if ltmain.sh doesn't exists we have to run both again if [ ! -f ltmain.sh ]; then - libtoolize --force --automake + glibtoolize --force --automake || libtoolize --force --automake automake --foreign --add-missing fi diff --git a/redhawk/src/testing/_unitTestHelpers/runtestHelpers.py b/redhawk/src/testing/_unitTestHelpers/runtestHelpers.py index 449440660..e31ac3e39 100644 --- a/redhawk/src/testing/_unitTestHelpers/runtestHelpers.py +++ b/redhawk/src/testing/_unitTestHelpers/runtestHelpers.py @@ -20,12 +20,12 @@ import os import imp import sys -import commands +import subprocess def loadModule(filename): if filename == '': - raise RuntimeError, 'Empty filename cannot be loaded' - print "Loading module %s" % (filename) + raise RuntimeError('Empty filename cannot be loaded') + print("Loading module %s" % (filename)) searchPath, file = os.path.split(filename) if not searchPath in sys.path: sys.path.append(searchPath) @@ -43,8 +43,8 @@ def loadModule(filename): def getUnitTestFiles(rootpath, testFileGlob="test_*.py"): rootpath = os.path.normpath(rootpath) + "/" - print "Searching for files in %s with prefix %s" % (rootpath, testFileGlob) - test_files = commands.getoutput("find %s -name '%s'" % (rootpath, testFileGlob)) + print("Searching for files in %s with prefix %s" % (rootpath, testFileGlob)) + test_files = subprocess.getoutput("find %s -name '%s'" % (rootpath, testFileGlob)) files = test_files.split('\n') if files == ['']: files = [] diff --git a/redhawk/src/testing/_unitTestHelpers/scatest.py b/redhawk/src/testing/_unitTestHelpers/scatest.py index 43e016a0b..b20876242 100644 --- a/redhawk/src/testing/_unitTestHelpers/scatest.py +++ b/redhawk/src/testing/_unitTestHelpers/scatest.py @@ -41,15 +41,15 @@ import CosNaming import re import tempfile -import buildconfig -import runtestHelpers -import commands +from . import buildconfig +from . import runtestHelpers +import subprocess import traceback _DCEUUID_RE = re.compile("DCE:[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}") def uuidgen(): - return commands.getoutput('uuidgen') + return subprocess.getoutput('uuidgen') def getSdrPath(): try: @@ -155,7 +155,7 @@ def setupDeviceAndDomainMgrPackage(): def createTestDomain(): domainName = getTestDomainName() - print domainName + print(domainName) domainPath = os.path.join(getSdrPath(), "dom", "domain") templatePath = os.path.join(getSdrPath(), "templates", "domain") @@ -263,14 +263,14 @@ def spawnNodeBooter(dmdFile=None, if os.path.exists(logconfig): args.extend(["-log4cxx", logconfig]) else: - print "Could not find Log Conf file <" + logconfig + '>' - print "Not using a log configuration file" + print("Could not find Log Conf file <" + logconfig + '>') + print("Not using a log configuration file") args.extend(execparams.split(" ")) args.insert(0, nodeBooterPath) - print '\n-------------------------------------------------------------------' - print 'Launching nodeBooter', " ".join(args) - print '-------------------------------------------------------------------' + print('\n-------------------------------------------------------------------') + print('Launching nodeBooter', " ".join(args)) + print('-------------------------------------------------------------------') nb = ossie.utils.Popen(args, cwd=getSdrPath(), shell=False, preexec_fn=os.setpgrp, stderr=stderr) if DEBUG_NODEBOOTER: absNodeBooterPath = os.path.abspath("../control/framework/nodeBooter") @@ -322,10 +322,10 @@ def failUnlessIsDceUUID(self, uuid, msg=None): self.assertIsDceUUID(uuid, msg) def assertFileExists(self, filename): - self.assert_(os.path.exists(filename), "File %s does not exist" % filename) + self.assertTrue(os.path.exists(filename), "File %s does not exist" % filename) def assertFileNotExists(self, filename): - self.failIf(os.path.exists(filename), "File %s exists" % filename) + self.assertFalse(os.path.exists(filename), "File %s exists" % filename) def assertAlomstEqual(self, a, b): self.assertEqual(round(a-b, 7), 0) @@ -335,13 +335,13 @@ def assertAlomstNotEqual(self, a, b): def promptToContinue(self): if sys.stdout.isatty(): - raw_input("Press enter to continue") + input("Press enter to continue") else: pass # For non TTY just continue def promptUserInput(self, question, default): if sys.stdout.isatty(): - ans = raw_input("%s [%s]?" % (question, default)) + ans = input("%s [%s]?" % (question, default)) if ans == "": return default else: @@ -353,7 +353,7 @@ def assertPrompt(self, question): """Prompt the user to answer the question [Y]/N. Fail if they answer N. If stdin isn't a tty then assume the test passed.""" if sys.stdout.isatty(): - ans = raw_input("%s [Y]/N?:" % question) + ans = input("%s [Y]/N?:" % question) if not ans.upper() in ("", "Y", "YES"): self.fail("No answer to %s" % question) else: @@ -363,7 +363,7 @@ def assertNotPrompt(self, question): """Prompt the user to answer the question Y/[N]. Fail if they answer Y. If stdin isn't a tty then assume the test passed.""" if sys.stdout.isatty(): - ans = raw_input("%s Y/[N]?:" % question) + ans = input("%s Y/[N]?:" % question) if not ans.upper() in ("", "N", "NO"): self.fail("Yes answer to %s" % question) else: @@ -392,7 +392,7 @@ def assertPredicateWithWait (self, predicate, msg=None, wait=5.0): significant side effects. """ self.waitPredicate(predicate, wait) - self.assert_(predicate(), msg) + self.assertTrue(predicate(), msg) def getProcessArgs(self,pname ): return getProcessArgs(pname) @@ -483,7 +483,7 @@ def _getDomainManager(self): domMgr = self._root.resolve(getDomainMgrURI())._narrow(CF.DomainManager) if domMgr: return domMgr - except CORBA.BAD_INV_ORDER, e: + except CORBA.BAD_INV_ORDER as e: self._reinit() except: pass @@ -506,7 +506,7 @@ def _getDCDPath(self, dcdFile): dcdPath = dcdPath[1:] dcdPath = os.path.join(getSdrPath(), 'dev', dcdPath) if not os.path.exists(dcdPath): - raise IOError, "Invalid dcdPath %s" % (dcdPath,) + raise IOError("Invalid dcdPath %s" % (dcdPath,)) return dcdPath def launchDomainManager(self, dmdFile="", *args, **kwargs): @@ -536,7 +536,7 @@ def launchDeviceManager(self, dcdFile, domainManager=None, wait=True, *args, **k try: dcdPath = self._getDCDPath(dcdFile) except IOError: - print "ERROR: Invalid DCD path provided to launchDeviceManager", dcdFile + print("ERROR: Invalid DCD path provided to launchDeviceManager", dcdFile) return (None, None) # If debug level is not given, default to configured level @@ -562,7 +562,7 @@ def waitDeviceManager(self, devBooter, dcdFile, domainManager=None): try: dcdPath = self._getDCDPath(dcdFile) except IOError: - print "ERROR: Invalid DCD path provided to waitDeviceManager", dcdFile + print("ERROR: Invalid DCD path provided to waitDeviceManager", dcdFile) return None # Parse the DCD file to get the identifier and number of devices, which can be @@ -652,7 +652,7 @@ def terminateChild(self, child, signals=(signal.SIGINT, signal.SIGTERM)): if self.waitTermination(child): break child.wait() - except OSError, e: + except OSError as e: #print "terminateChild: pid:" + str(child.pid) + " OS ERROR:" + str(e) pass finally: @@ -660,7 +660,7 @@ def terminateChild(self, child, signals=(signal.SIGINT, signal.SIGTERM)): def terminateChildrenPidOnly(self, pid, signals=(signal.SIGINT, signal.SIGTERM)): - ls = commands.getoutput('ls /proc') + ls = subprocess.getoutput('ls /proc') entries = ls.split('\n') for entry in entries: filename = '/proc/'+entry+'/status' @@ -701,7 +701,7 @@ def terminateChildrenPidOnly(self, pid, signals=(signal.SIGINT, signal.SIGTERM)) continue def terminateChildren(self, child, signals=(signal.SIGINT, signal.SIGTERM)): - ls = commands.getoutput('ls /proc') + ls = subprocess.getoutput('ls /proc') entries = ls.split('\n') for entry in entries: filename = '/proc/'+entry+'/status' diff --git a/redhawk/src/testing/app_input/py_prf_check_base.py b/redhawk/src/testing/app_input/py_prf_check_base.py index a273a8d2d..a8129b581 100644 --- a/redhawk/src/testing/app_input/py_prf_check_base.py +++ b/redhawk/src/testing/app_input/py_prf_check_base.py @@ -33,7 +33,7 @@ from ossie.properties import struct_property from ossie.properties import structseq_property -import Queue, copy, time, threading +import queue, copy, time, threading class py_prf_check_base(CF__POA.Resource, Component, ThreadedComponent): # These values can be altered in the __init__ of your derived class @@ -100,10 +100,10 @@ class SomeStruct(object): def __init__(self, **kw): """Construct an initialized instance of this struct definition""" - for classattr in type(self).__dict__.itervalues(): + for classattr in type(self).__dict__.values(): if isinstance(classattr, (simple_property, simpleseq_property)): classattr.initialize(self) - for k,v in kw.items(): + for k,v in list(kw.items()): setattr(self,k,v) def __str__(self): diff --git a/redhawk/src/testing/helpers/xmlrunner.py b/redhawk/src/testing/helpers/xmlrunner.py index 54a6506a0..b84ff31a7 100644 --- a/redhawk/src/testing/helpers/xmlrunner.py +++ b/redhawk/src/testing/helpers/xmlrunner.py @@ -31,7 +31,7 @@ import traceback import unittest from xml.sax.saxutils import escape -from StringIO import StringIO +from io import StringIO class _TestInfo(object): def __init__(self, test, time): diff --git a/redhawk/src/testing/jackhammer/app-create.py b/redhawk/src/testing/jackhammer/app-create.py index dd4d5a874..e6a68b449 100644 --- a/redhawk/src/testing/jackhammer/app-create.py +++ b/redhawk/src/testing/jackhammer/app-create.py @@ -53,16 +53,16 @@ def initialize (self, sadFile): self.appFact = appFact return - raise KeyError, "Couldn't find app factory" + raise KeyError("Couldn't find app factory") def test (self): if self.__ignore_app: try: - print "Creating app: " + str( self.app_cnt ) + print("Creating app: " + str( self.app_cnt )) app = self.appFact.create(self.appFact._get_name(), [], []) time.sleep(self.__delay) app.releaseObject() - print "Cleaned up app: " + str( self.app_cnt ) + print("Cleaned up app: " + str( self.app_cnt )) self.app_cnt += 1 except: pass diff --git a/redhawk/src/testing/jackhammer/jackhammer.py b/redhawk/src/testing/jackhammer/jackhammer.py index 35d1ed179..805b9aacc 100644 --- a/redhawk/src/testing/jackhammer/jackhammer.py +++ b/redhawk/src/testing/jackhammer/jackhammer.py @@ -43,15 +43,15 @@ def setup (self, domainName, *args): try: self.domMgr = self.inc.resolve(URI.stringToName('/'.join([domainName]*2))) except: - print >>sys.stderr, "Unable to connect to domain manager for domain", domainName + print("Unable to connect to domain manager for domain", domainName, file=sys.stderr) sys.exit(1) - print 'Arguments: ', ' '.join(args) + print('Arguments: ', ' '.join(args)) self.initialize(*args) def createThreads (self, numThreads): - print "Creating %d threads" % (numThreads,) - for ii in xrange(numThreads): + print("Creating %d threads" % (numThreads,)) + for ii in range(numThreads): t = threading.Thread(target=self.run, args=(ii,)) t.start() self.threads.append(t) @@ -59,14 +59,14 @@ def createThreads (self, numThreads): self.numThreads = len(self.threads) def jackhammer (self): - print 'Starting threads' + print('Starting threads') self.runThreads.set() while self.runThreads.isSet() and self.numThreads > 0: try: time.sleep(1) except KeyboardInterrupt: - print 'Terminating' + print('Terminating') self.runThreads.clear() def run (self, id): @@ -78,7 +78,7 @@ def run (self, id): except: excType = sys.exc_info()[0] excStr = sys.exc_info()[1] - print "Error (thread %d): %s %s" % (id, excType, excStr) + print("Error (thread %d): %s %s" % (id, excType, excStr)) break self.numThreads -= 1 @@ -132,7 +132,7 @@ def run(TestClass): hammer.setOption(key, value) if domainName is None: - print >>sys.stderr, "Unable to determine domain name; use --domainname=" + print("Unable to determine domain name; use --domainname=", file=sys.stderr) sys.exit(1) hammer.setup(domainName, *args) diff --git a/redhawk/src/testing/jackhammer/load-unload.py b/redhawk/src/testing/jackhammer/load-unload.py index 031e6bdeb..5bde97aa7 100644 --- a/redhawk/src/testing/jackhammer/load-unload.py +++ b/redhawk/src/testing/jackhammer/load-unload.py @@ -36,7 +36,7 @@ def initialize (self, filename): self.device = device return - raise RuntimeError, "No LoadableDevice available" + raise RuntimeError("No LoadableDevice available") def test (self): self.device.load(self.fileMgr, self.filename, CF.LoadableDevice.EXECUTABLE) diff --git a/redhawk/src/testing/python/runtests.py b/redhawk/src/testing/python/runtests.py index d8bd9a285..b492d0fdc 100755 --- a/redhawk/src/testing/python/runtests.py +++ b/redhawk/src/testing/python/runtests.py @@ -28,11 +28,13 @@ from ossie.utils.log4py import logging import ossie.utils.log4py.config + class MultiTestLoader(unittest.TestLoader): """ Extend the default TestLoader to support a list of modules, at least for the purposes of loadTestsFromName and loadTestsFromNames. """ + def loadTestsFromName(self, name, modules): if not isinstance(modules, list): return unittest.TestLoader.loadTestsFromName(self, name, modules) @@ -46,6 +48,7 @@ def loadTestsFromName(self, name, modules): pass raise AttributeError("test '%s' not found" % (name,)) + class TestProgram(object): def __init__(self, modules=None): if modules is None: @@ -75,7 +78,7 @@ def parseArgs(self, argv): long_options = ['xunit=', 'log-level=', 'log-config=', 'verbose'] xunit = False - xmlout=None + xmlout = None log_level = None log_config = None options, args = getopt.getopt(argv, short_options, long_options) @@ -84,26 +87,29 @@ def parseArgs(self, argv): self.verbosity = 2 elif opt in ('-x', '--xunit'): xunit = True - xmlout=value + xmlout = value elif opt == '--log-level': # Map from string names to Python levels (this does not appear to # be built into Python's logging module) - log_level = ossie.utils.log4py.config._LEVEL_TRANS.get(value.upper(), None) + log_level = ossie.utils.log4py.config._LEVEL_TRANS.get( + value.upper(), None) elif opt == '--log-config': log_config = value - # If requested, use XML output (but the module is non-standard, so it # may not be available). if xunit: try: import xmlrunner if xmlout: - self.testRunner = xmlrunner.XMLTestRunner(output=xmlout, verbosity=self.verbosity) + self.testRunner = xmlrunner.XMLTestRunner( + output=xmlout, verbosity=self.verbosity) else: - self.testRunner = xmlrunner.XMLTestRunner(verbosity=self.verbosity) + self.testRunner = xmlrunner.XMLTestRunner( + verbosity=self.verbosity) except ImportError: - print >>sys.stderr, 'WARNING: XML test runner module is not installed' + print('WARNING: XML test runner module is not installed', + file=sys.stderr) except TypeError: # Maybe it didn't like the verbosity argument self.testRunner = xmlrunner.XMLTestRunner() @@ -139,6 +145,7 @@ def runTests(self): sys.exit(not result.wasSuccessful()) + main = TestProgram if __name__ == '__main__': diff --git a/redhawk/src/testing/python/test_bitbuffer.py b/redhawk/src/testing/python/test_bitbuffer.py index 30f8740ee..bc93ff8b4 100644 --- a/redhawk/src/testing/python/test_bitbuffer.py +++ b/redhawk/src/testing/python/test_bitbuffer.py @@ -29,13 +29,13 @@ def testConstructor(self): # Empty buf = bitbuffer() self.assertEqual(0, len(buf), 'new empty bitbuffer should be zero-length') - self.failIf(bool(buf), 'bitbuffer with zero length should evaluate to False') + self.assertFalse(bool(buf), 'bitbuffer with zero length should evaluate to False') # Allocating NUM_BITS = 17 buf = bitbuffer(bits=NUM_BITS) self.assertEqual(NUM_BITS, len(buf), 'new bitbuffer should have length 17') - self.failUnless(bool(buf), 'bitbuffer with non-zero length should evaluate to True') + self.assertTrue(bool(buf), 'bitbuffer with non-zero length should evaluate to True') def testFromInt(self): # Input value is right-aligned (i.e., take lowest 28 bits) @@ -86,7 +86,7 @@ def testFromArray(self): def testFromGenerator(self): # Use a generator expresion to populate the bit data (0111, repeating) - buf = bitbuffer(bool(x%4) for x in xrange(48)) + buf = bitbuffer(bool(x%4) for x in range(48)) self.assertEqual(48, len(buf)) expected = '\x77'*6 self.assertEqual(expected, buf.bytes()) @@ -140,7 +140,7 @@ def testEquals(self): first = bitbuffer(pattern) # A bitbuffer should be rigorously equal to itself - self.failUnless(first == first) + self.assertTrue(first == first) # Another bitbuffer with different backing memory should still compare # equal @@ -165,25 +165,25 @@ def testEqualsPyObjects(self): # Should be equal buf = bitbuffer(pattern) - self.assertEquals(pattern, buf) - self.assertEquals(int_vals, buf) + self.assertEqual(pattern, buf) + self.assertEqual(int_vals, buf) # Different lengths - self.assertNotEquals(pattern[:-2], buf, 'unequal size string compared equal') - self.assertNotEquals(int_vals[:-2], buf, 'unequal size list compared equal') + self.assertNotEqual(pattern[:-2], buf, 'unequal size string compared equal') + self.assertNotEqual(int_vals[:-2], buf, 'unequal size list compared equal') # Flipped bit buf[1] = 1 - self.assertNotEquals(pattern, buf, 'unequal string compared equal') - self.assertNotEquals(int_vals, buf, 'unequal list compared equal') + self.assertNotEqual(pattern, buf, 'unequal string compared equal') + self.assertNotEqual(int_vals, buf, 'unequal list compared equal') # Skip over flipped bit - self.assertEquals(pattern[2:], buf[2:], 'substring compared not equal') - self.assertEquals(int_vals[2:], buf[2:], 'list slice compared not equal') + self.assertEqual(pattern[2:], buf[2:], 'substring compared not equal') + self.assertEqual(int_vals[2:], buf[2:], 'list slice compared not equal') def testCopy(self): # Create a bitbuffer with known data: bit is set if index is odd - original = bitbuffer(x&1 for x in xrange(127)) + original = bitbuffer(x&1 for x in range(127)) # Make a copy and modify the original; the copy should be unaffected copied = copy.copy(original) @@ -235,7 +235,7 @@ def testGetItem(self): def testGetItemSlice(self): # Fill a new bit buffer with alternating 0's and 1's - buf = bitbuffer(x & 1 for x in xrange(12)) + buf = bitbuffer(x & 1 for x in range(12)) # Take a 4-bit slice from the middle and check that it has the expected # bits @@ -450,12 +450,12 @@ def testTakeSkip(self): ascii = buf.takeskip(7, 1, start=1) # Reconstruct the input text by taking 7 bits at a time - result = ''.join(chr(int(ascii[bit:bit+7])) for bit in xrange(0, len(ascii), 7)) + result = ''.join(chr(int(ascii[bit:bit+7])) for bit in range(0, len(ascii), 7)) self.assertEqual(msg, result) # Repeat with a starting and ending offset ascii = buf.takeskip(7, 1, start=41, end=97) - result = ''.join(chr(int(ascii[bit:bit+7])) for bit in xrange(0, len(ascii), 7)) + result = ''.join(chr(int(ascii[bit:bit+7])) for bit in range(0, len(ascii), 7)) self.assertEqual(msg[5:12], result) def testAdd(self): diff --git a/redhawk/src/testing/python/test_messaging.py b/redhawk/src/testing/python/test_messaging.py index cd272774f..4b6125a87 100644 --- a/redhawk/src/testing/python/test_messaging.py +++ b/redhawk/src/testing/python/test_messaging.py @@ -80,10 +80,10 @@ class BasicMessage(object): def __init__(self, **kw): """Construct an initialized instance of this struct definition""" - for classattr in type(self).__dict__.itervalues(): + for classattr in type(self).__dict__.values(): if isinstance(classattr, (simple_property, simpleseq_property)): classattr.initialize(self) - for k,v in kw.items(): + for k,v in list(kw.items()): setattr(self,k,v) def __str__(self): @@ -116,10 +116,10 @@ class TestMessage(object): def __init__(self, **kw): """Construct an initialized instance of this struct definition""" - for classattr in type(self).__dict__.itervalues(): + for classattr in type(self).__dict__.values(): if isinstance(classattr, (simple_property, simpleseq_property)): classattr.initialize(self) - for k,v in kw.items(): + for k,v in list(kw.items()): setattr(self,k,v) def __str__(self): @@ -194,7 +194,7 @@ def testSendMessage(self): # Unlike C++, the Python message consumer is threaded, so we need to # give it some time to receive the message - self.failUnless(receiver.waitMessages(1, 1.0)) + self.assertTrue(receiver.waitMessages(1, 1.0)) self.assertEqual("basic_message", receiver.messages[0].getId()) self.assertEqual(msg.value, receiver.messages[0].value) @@ -212,8 +212,8 @@ def testGenericAndSpecificMessageCallback(self): # Unlike C++, the Python message consumer is threaded, so we need to # give it some time to receive the message - self.failUnless(receiver.waitMessages(1, 1.0)) - self.failUnless(generic_receiver.waitMessages(1, 1.0)) + self.assertTrue(receiver.waitMessages(1, 1.0)) + self.assertTrue(generic_receiver.waitMessages(1, 1.0)) self.assertEqual("basic_message", receiver.messages[0].getId()) self.assertEqual(msg.value, receiver.messages[0].value) @@ -244,30 +244,30 @@ def testSendMessageConnectionId(self): self.assertEqual(0, len(receiver_2.messages)) self._supplier.sendMessage(msg, connectionId="connection_1") - self.failUnless(receiver_1.waitMessages(1, 1.0)) + self.assertTrue(receiver_1.waitMessages(1, 1.0)) self.assertEqual("basic_message", receiver_1.messages[0].getId()) self.assertEqual(1, receiver_1.messages[0].value) # Second should not receive it (give it a little time just in case) - self.failIf(receiver_2.waitMessages(1, 0.1)) + self.assertFalse(receiver_2.waitMessages(1, 0.1)) # Target the second connection this time msg.value = 2 self._supplier.sendMessage(msg, connectionId="connection_2") - self.failUnless(receiver_2.waitMessages(1, 1.0)) + self.assertTrue(receiver_2.waitMessages(1, 1.0)) self.assertEqual("basic_message", receiver_2.messages[0].getId()) self.assertEqual(2, receiver_2.messages[0].value) # This time, the first should not receive it - self.failIf(receiver_1.waitMessages(2, 0.1)) + self.assertFalse(receiver_1.waitMessages(2, 0.1)) # Target both connections msg.value = 3 self._supplier.sendMessage(msg) - self.failUnless(receiver_1.waitMessages(2, 1.0)) - self.failUnless(receiver_2.waitMessages(2, 1.0)) + self.assertTrue(receiver_1.waitMessages(2, 1.0)) + self.assertTrue(receiver_2.waitMessages(2, 1.0)) # Target invalid connection msg.value = 4 @@ -285,7 +285,7 @@ def testSendMessages(self): self.assertEqual(0, len(receiver.messages)) self._supplier.sendMessages(messages) - self.failUnless(receiver.waitMessages(len(messages), 1.0)) + self.assertTrue(receiver.waitMessages(len(messages), 1.0)) self.assertEqual('basic_message', receiver.messages[0].getId()) self.assertEqual(1, receiver.messages[0].value) self.assertEqual('test_message', receiver.messages[1].getId()) @@ -309,41 +309,41 @@ def testSendMessagesConnectionId(self): consumer_2.registerMessage("basic_message", BasicMessage, receiver_2.messageReceived) # Target first connection - messages_1 = [BasicMessage(value=x) for x in xrange(2)] + messages_1 = [BasicMessage(value=x) for x in range(2)] self.assertEqual(0, len(receiver_1.messages)) self.assertEqual(0, len(receiver_2.messages)) self._supplier.sendMessages(messages_1, "connection_1") # Wait for the first receiver to get all messages; the second receiver # ought to get none (give it some time due to threading) - self.failUnless(receiver_1.waitMessages(2, 1.0)) + self.assertTrue(receiver_1.waitMessages(2, 1.0)) self.assertEqual(2, len(receiver_1.messages)) - self.failIf(receiver_2.waitMessages(1, 0.1)) + self.assertFalse(receiver_2.waitMessages(1, 0.1)) # Target the second connection this time with a different set of # messages - messages_2 = [BasicMessage(value=x) for x in xrange(2,5)] + messages_2 = [BasicMessage(value=x) for x in range(2,5)] self._supplier.sendMessages(messages_2, "connection_2") # Wait for the second receiver to get all the messages (and check at # least the first value) - self.failUnless(receiver_2.waitMessages(len(messages_2), 1.0)) + self.assertTrue(receiver_2.waitMessages(len(messages_2), 1.0)) self.assertEqual(3, len(receiver_2.messages)) self.assertEqual(2, receiver_2.messages[0].value) - self.failIf(receiver_1.waitMessages(3, 0.1)) + self.assertFalse(receiver_1.waitMessages(3, 0.1)) # Target both connections self._supplier.sendMessages(messages_1) - self.failUnless(receiver_1.waitMessages(4, 1.0)) + self.assertTrue(receiver_1.waitMessages(4, 1.0)) self.assertEqual(4, len(receiver_1.messages)) - self.failUnless(receiver_2.waitMessages(5, 1.0)) + self.assertTrue(receiver_2.waitMessages(5, 1.0)) self.assertEqual(5, len(receiver_2.messages)) # Target invalid connection messages_3 = [BasicMessage(value=5)] self.assertRaises(ValueError, self._supplier.sendMessages, messages_3, "bad_connection") - self.failIf(receiver_1.waitMessages(5, 0.1)) - self.failIf(receiver_2.waitMessages(6, 0.1)) + self.assertFalse(receiver_1.waitMessages(5, 0.1)) + self.assertFalse(receiver_2.waitMessages(6, 0.1)) def testPush(self): receiver = MessageReceiver() @@ -357,7 +357,7 @@ def testPush(self): self._supplier.push(props_to_any(messages)) - self.failUnless(receiver.waitMessages(3, 1.0)) + self.assertTrue(receiver.waitMessages(3, 1.0)) self.assertEqual(3, len(receiver.messages)) self.assertEqual(100, from_any(receiver.messages[0].value)) self.assertEqual('some text', from_any(receiver.messages[1].value)) @@ -384,9 +384,9 @@ def testPushConnectionId(self): messages_1.append(CF.DataType('third', to_any(0.25))) self._supplier.push(props_to_any(messages_1), 'connection_1') - self.failUnless(receiver_1.waitMessages(3, 1.0)) + self.assertTrue(receiver_1.waitMessages(3, 1.0)) self.assertEqual(3, len(receiver_1.messages)) - self.failIf(receiver_2.waitMessages(1, 0.1)) + self.assertFalse(receiver_2.waitMessages(1, 0.1)) # Target the second connection with a different set of messages messages_2 = [] @@ -395,23 +395,23 @@ def testPushConnectionId(self): messages_2 = props_to_any(messages_2) self._supplier.push(messages_2, "connection_2") - self.failUnless(receiver_2.waitMessages(2, 1.0)) + self.assertTrue(receiver_2.waitMessages(2, 1.0)) self.assertEqual(2, len(receiver_2.messages)) - self.failIf(receiver_1.waitMessages(4, 0.1)) + self.assertFalse(receiver_1.waitMessages(4, 0.1)) # Target both connections with yet another set of messages messages_3 = props_to_any([CF.DataType('all', to_any(3))]) self._supplier.push(messages_3) - self.failUnless(receiver_2.waitMessages(3, 1.0)) + self.assertTrue(receiver_2.waitMessages(3, 1.0)) self.assertEqual(3, len(receiver_2.messages)) - self.failUnless(receiver_1.waitMessages(4, 1.0)) + self.assertTrue(receiver_1.waitMessages(4, 1.0)) self.assertEqual(4, len(receiver_1.messages)) # Target invalid connection messages_4 = props_to_any([CF.DataType('bad', to_any('bad_connection'))]) self.assertRaises(ValueError, self._supplier.push, messages_4, 'bad_connection') - self.failIf(receiver_2.waitMessages(4, 0.1)) - self.failIf(receiver_1.waitMessages(5, 0.1)) + self.assertFalse(receiver_2.waitMessages(4, 0.1)) + self.assertFalse(receiver_1.waitMessages(5, 0.1)) self.assertEqual(3, len(receiver_2.messages)) self.assertEqual(4, len(receiver_1.messages)) diff --git a/redhawk/src/testing/python/test_resouce.py b/redhawk/src/testing/python/test_resouce.py index d50340205..18c0326e2 100644 --- a/redhawk/src/testing/python/test_resouce.py +++ b/redhawk/src/testing/python/test_resouce.py @@ -42,11 +42,11 @@ def testGetPOA(self): name = 'hello' self.assertRaises(omniORB.PortableServer.POA.AdapterNonExistent, root_poa.find_POA, name, True) poa = resource.getPOA(orb, None, None) - self.assertEquals(poa._get_the_name(), 'RootPOA') + self.assertEqual(poa._get_the_name(), 'RootPOA') poa = resource.getPOA(orb, None, name) - self.assertEquals(poa._get_the_name(), name) + self.assertEqual(poa._get_the_name(), name) poa = resource.getPOA(orb, None, None) - self.assertEquals(poa._get_the_name(), 'RootPOA') + self.assertEqual(poa._get_the_name(), 'RootPOA') if __name__ == '__main__': import runtests diff --git a/redhawk/src/testing/runtests.py b/redhawk/src/testing/runtests.py index 464a2c397..536075cda 100755 --- a/redhawk/src/testing/runtests.py +++ b/redhawk/src/testing/runtests.py @@ -1,27 +1,28 @@ #!/usr/bin/env python # -# This file is protected by Copyright. Please refer to the COPYRIGHT file +# This file is protected by Copyright. Please refer to the COPYRIGHT file # distributed with this source distribution. -# +# # This file is part of REDHAWK core. -# -# REDHAWK core is free software: you can redistribute it and/or modify it under -# the terms of the GNU Lesser General Public License as published by the Free -# Software Foundation, either version 3 of the License, or (at your option) any +# +# REDHAWK core is free software: you can redistribute it and/or modify it under +# the terms of the GNU Lesser General Public License as published by the Free +# Software Foundation, either version 3 of the License, or (at your option) any # later version. -# -# REDHAWK core is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +# +# REDHAWK core is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more # details. -# -# You should have received a copy of the GNU Lesser General Public License +# +# You should have received a copy of the GNU Lesser General Public License # along with this program. If not, see http://www.gnu.org/licenses/. # # System imports # NOTE: all REDHAWK framework imports must occur after configureTestPaths() -import commands +from _unitTestHelpers import runtestHelpers +import subprocess import functools import os import re @@ -31,28 +32,34 @@ import functools import unittest + def prependPythonPath(thepath): theabspath = os.path.abspath(thepath) sys.path.insert(0, theabspath) # And set the PythonPath for any processes that are spawned - if os.environ.has_key('PYTHONPATH'): - os.environ['PYTHONPATH'] = "%s:%s" % (theabspath, os.environ['PYTHONPATH']) + if 'PYTHONPATH' in os.environ: + os.environ['PYTHONPATH'] = "%s:%s" % ( + theabspath, os.environ['PYTHONPATH']) else: - os.environ['PYTHONPATH'] = "%s" % (theabspath) + os.environ['PYTHONPATH'] = "%s" % (theabspath) + def appendPath(varname, path): varpath = os.environ.get(varname, '').split(':') varpath.append(os.path.abspath(path)) os.environ[varname] = ':'.join(varpath) + def prependPath(varname, path): varpath = os.environ.get(varname, '').split(':') - varpath = [ os.path.abspath(path) ] + varpath + varpath = [os.path.abspath(path)] + varpath os.environ[varname] = ':'.join(varpath) + def appendClassPath(path): appendPath('CLASSPATH', path) + def configureTestPaths(): # Point to the testing SDR folder testdir = os.path.abspath(os.path.dirname(__file__)) @@ -66,16 +73,20 @@ def configureTestPaths(): # Add Java libraries to CLASSPATH so that test components can find them # regardless of where they run. - jarfiles = [ 'CFInterfaces.jar', 'apache-commons-lang-2.4.jar', - 'log4j-1.2.15.jar', 'ossie/ossie.jar' ] + jarfiles = ['CFInterfaces.jar', 'apache-commons-lang-2.4.jar', + 'log4j-1.2.15.jar', 'ossie/ossie.jar'] for jarfile in jarfiles: appendClassPath(os.path.join(topdir, 'base/framework/java', jarfile)) # Add path to libomnijni.so to LD_LIBRARY_PATH for Java components - prependPath('LD_LIBRARY_PATH', os.path.join(topdir, 'base/framework/idl/.libs')) - prependPath('LD_LIBRARY_PATH', os.path.join(topdir, 'base/framework/.libs')) - appendPath('LD_LIBRARY_PATH', os.path.join(topdir, 'omnijni/src/cpp/.libs')) - appendPath('LD_LIBRARY_PATH', os.path.join(topdir, 'base/plugin/logcfg/.libs')) + prependPath('LD_LIBRARY_PATH', os.path.join( + topdir, 'base/framework/idl/.libs')) + prependPath('LD_LIBRARY_PATH', os.path.join( + topdir, 'base/framework/.libs')) + appendPath('LD_LIBRARY_PATH', os.path.join( + topdir, 'omnijni/src/cpp/.libs')) + appendPath('LD_LIBRARY_PATH', os.path.join( + topdir, 'base/plugin/logcfg/.libs')) # use nodeBooter in the current source tree path.. prependPath('PATH', os.path.join(topdir, 'control/framework')) @@ -85,7 +96,9 @@ def configureTestPaths(): from ossie.utils.idllib import IDLLibrary model._idllib = IDLLibrary() model._idllib.addSearchPath(os.path.join(topdir, 'idl')) - model._idllib.addSearchPath(os.path.join(topdir, '../../bulkioInterfaces/idl')) + model._idllib.addSearchPath(os.path.join( + topdir, '../../bulkioInterfaces/idl')) + # Set up the system paths (LD_LIBRARY_PATH, PYTHONPATH, CLASSPATH), IDL paths # and SDRROOT to allow testing against an uninstalled framework. @@ -95,7 +108,6 @@ def configureTestPaths(): os.environ['SDRCACHE'] = os.path.join(os.environ['SDRROOT'], "cache") shutil.rmtree(os.environ['SDRCACHE'], ignore_errors=True) -from _unitTestHelpers import runtestHelpers class PromptTestLoader(unittest.TestLoader): PROMPT = False @@ -110,10 +122,11 @@ def isTestMethod(attrname, testCaseClass=testCaseClass, prefix=self.testMethodPr if function: reason = getattr(function, 'skip_reason', False) if reason: - print "SKIPPING: {0}.{1} - '{2}'".format(testCaseClass.__name__, function.__name__, reason) + print(( + "SKIPPING: {0}.{1} - '{2}'".format(testCaseClass.__name__, function.__name__, reason))) return False return True - testFnNames = filter(isTestMethod, dir(testCaseClass)) + testFnNames = list(filter(isTestMethod, dir(testCaseClass))) if self.sortTestMethodsUsing: cmp_to_key = None if hasattr(unittest, '_CmpToKey'): # Python 2.6 @@ -123,29 +136,33 @@ def isTestMethod(attrname, testCaseClass=testCaseClass, prefix=self.testMethodPr if cmp_to_key: testFnNames.sort(key=cmp_to_key(self.sortTestMethodsUsing)) else: - print 'Conversion function "cmp_to_key" not found. Not sorting.' + print('Conversion function "cmp_to_key" not found. Not sorting.') return testFnNames def loadTestsFromTestCase(self, testCaseClass): """Return a suite of all tests cases contained in testCaseClass""" if issubclass(testCaseClass, unittest.TestSuite): - raise TypeError("Test cases should not be derived from TestSuite. Maybe you meant to derive from TestCase?") + raise TypeError( + "Test cases should not be derived from TestSuite. Maybe you meant to derive from TestCase?") testCaseNames = self.getTestCaseNames(testCaseClass) if not testCaseNames and hasattr(testCaseClass, 'runTest'): testCaseNames = ['runTest'] if self.PROMPT: - ans = raw_input("Would you like to execute all tests in %s [Y]/N? " % testCaseClass).upper() + ans = input( + "Would you like to execute all tests in %s [Y]/N? " % testCaseClass).upper() if ans == "N": testCaseNamesToRun = [] for name in testCaseNames: - ans = raw_input("Would you like to execute test %s [Y]/N? " % name).upper() + ans = input( + "Would you like to execute test %s [Y]/N? " % name).upper() if ans == "N": continue else: testCaseNamesToRun.append(name) testCaseNames = testCaseNamesToRun - return self.suiteClass(map(testCaseClass, testCaseNames)) + return self.suiteClass(list(map(testCaseClass, testCaseNames))) + class TestCollector(unittest.TestSuite): def __init__(self, files, testMethodPrefix, prompt=True): @@ -168,19 +185,21 @@ def loadTests(self): if issubclass(candidate, unittest.TestCase): reason = getattr(candidate, 'skip_reason', False) if reason: - print "SKIPPING: {0} - '{1}'".format(candidate.__name__, reason) + print(( + "SKIPPING: {0} - '{1}'".format(candidate.__name__, reason))) continue - print "LOADING" + print("LOADING") loader = PromptTestLoader() loader.PROMPT = self.__prompt loader.testMethodPrefix = self.__testMethodPrefix self.addTest(loader.loadTestsFromTestCase(candidate)) - except TypeError, e: + except TypeError as e: pass + if __name__ == "__main__": if os.path.abspath(os.path.dirname(__file__)) != os.getcwd(): - print "runtests.py *must* be run from within the testing folder" + print("runtests.py *must* be run from within the testing folder") sys.exit(-1) from optparse import OptionParser @@ -196,10 +215,10 @@ def loadTests(self): default=False, action="store_true") parser.add_option("--prompt", - dest="prompt", - help="prompt for the set of tests to run", - default=False, - action="store_true") + dest="prompt", + help="prompt for the set of tests to run", + default=False, + action="store_true") parser.add_option( "--prefix", dest="prefix", @@ -237,9 +256,9 @@ def loadTests(self): dest="debuglevel", help="debug level to be passed to nodebooter", default=3) - + (options, args) = parser.parse_args() - + from _unitTestHelpers import scatest scatest.DEBUG_NODEBOOTER = options.gdb scatest.GDB_CMD_FILE = options.gdbfile @@ -249,27 +268,31 @@ def loadTests(self): else: files = args - if os.environ.has_key('OSSIEUNITTESTSLOGCONFIG'): - ans = raw_input("OSSIEUNITTESTSLOGCONFIG already exists as %s. Do you want to continue [Y]/N? " % os.environ[OSSIEUNITTESTSLOGCONFIG]).upper() + if 'OSSIEUNITTESTSLOGCONFIG' in os.environ: + ans = input( + "OSSIEUNITTESTSLOGCONFIG already exists as %s. Do you want to continue [Y]/N? " % os.environ[OSSIEUNITTESTSLOGCONFIG]).upper() if ans == "N": sys.exit() else: - os.environ['OSSIEUNITTESTSLOGCONFIG'] = os.path.abspath(options.logconfig) + os.environ['OSSIEUNITTESTSLOGCONFIG'] = os.path.abspath( + options.logconfig) from datetime import datetime test_start_time = datetime.now() - print "" - print "Creating the Test Domain" - print "" + print("") + print("Creating the Test Domain") + print("") scatest.createTestDomain() - print "" - print "R U N N I N G T E S T S" - print "SDRROOT: ", scatest.getSdrPath(), " Start:", test_start_time.strftime("%m/%d/%Y %H:%M:%S") - print "" + print("") + print("R U N N I N G T E S T S") + print(("SDRROOT: ", scatest.getSdrPath(), " Start:", + test_start_time.strftime("%m/%d/%Y %H:%M:%S"))) + print("") - suite = TestCollector(files, testMethodPrefix=options.prefix, prompt=options.prompt) + suite = TestCollector( + files, testMethodPrefix=options.prefix, prompt=options.prompt) if options.xmlfile == None: runner = unittest.TextTestRunner(verbosity=options.verbosity) @@ -279,11 +302,18 @@ def loadTests(self): if options.debug: import pdb pdb.run("runner.run(suite)") + + test_end_time = datetime.now() + dur = test_end_time - test_start_time + print(("Completed Execution: End:", test_end_time.strftime( + "%m/%d/%Y %H:%M:%S"), " Duration: ", str(dur))) else: - runner.run(suite) + result = runner.run(suite) - test_end_time = datetime.now() - dur= test_end_time - test_start_time - print "Completed Execution: End:", test_end_time.strftime("%m/%d/%Y %H:%M:%S"), " Duration: ", str(dur) + test_end_time = datetime.now() + dur = test_end_time - test_start_time + print(("Completed Execution: End:", test_end_time.strftime( + "%m/%d/%Y %H:%M:%S"), " Duration: ", str(dur))) - + print((result.wasSuccessful())) + sys.exit(not result.wasSuccessful()) diff --git a/redhawk/src/testing/sdr/dev/devices/AllocateBasicDevice_python/AllocatableDevice/python/AllocatableDevice_base.py b/redhawk/src/testing/sdr/dev/devices/AllocateBasicDevice_python/AllocatableDevice/python/AllocatableDevice_base.py index ffb30606a..fa39f7f1c 100644 --- a/redhawk/src/testing/sdr/dev/devices/AllocateBasicDevice_python/AllocatableDevice/python/AllocatableDevice_base.py +++ b/redhawk/src/testing/sdr/dev/devices/AllocateBasicDevice_python/AllocatableDevice/python/AllocatableDevice_base.py @@ -11,7 +11,7 @@ from ossie.threadedcomponent import * from ossie.properties import simple_property -import Queue, copy, time, threading +import queue, copy, time, threading class AllocatableDevice_base(CF__POA.Device, Device, ThreadedComponent): # These values can be altered in the __init__ of your derived class diff --git a/redhawk/src/testing/sdr/dev/devices/AllocateBasicDevice_python/AllocateBasicDevice_python_impl1/BasicTestDevice_python_impl1.py b/redhawk/src/testing/sdr/dev/devices/AllocateBasicDevice_python/AllocateBasicDevice_python_impl1/BasicTestDevice_python_impl1.py index cf8a536dd..0610b3eaa 100755 --- a/redhawk/src/testing/sdr/dev/devices/AllocateBasicDevice_python/AllocateBasicDevice_python_impl1/BasicTestDevice_python_impl1.py +++ b/redhawk/src/testing/sdr/dev/devices/AllocateBasicDevice_python/AllocateBasicDevice_python_impl1/BasicTestDevice_python_impl1.py @@ -21,7 +21,7 @@ from ossie.cf import CF, CF__POA from ossie.device import ExecutableDevice, AggregateDevice,start_device -import commands, os, sys +import subprocess, os, sys import logging import WorkModule from BasicTestDevice_python_impl1Props import PROPERTIES @@ -72,8 +72,8 @@ def allocate_memCapacity(self, value): self._props[self.__mem_id] = self.allocated_mem return True except: - print "\tAlloc Failed: Allocated Memory: %d" % self.allocated_mem - print "\tAlloc Failed: Current Memory Usage: %d" % self._props[self.__mem_id] + print("\tAlloc Failed: Allocated Memory: %d" % self.allocated_mem) + print("\tAlloc Failed: Current Memory Usage: %d" % self._props[self.__mem_id]) return False # overrides allocateCapacity for BogoMipsCapacity @@ -88,15 +88,15 @@ def allocate_BogoMipsCapacity(self, value): self._props[self.__bog_id] = self.allocated_bog return True except: - print "\tAlloc Failed: Allocated BogoMips: %d" % self.allocated_bog - print "\tAlloc Failed: Current BogoMips Usage: %d" % self._props[self.__bog_id] + print("\tAlloc Failed: Allocated BogoMips: %d" % self.allocated_bog) + print("\tAlloc Failed: Current BogoMips Usage: %d" % self._props[self.__bog_id]) return False def allocateCapacities(self, propDict): try: successfulAllocations = [] - keys = propDict.keys() + keys = list(propDict.keys()) if self.__mem_id in keys: val = propDict[self.__mem_id] success = self.allocate_memCapacity(val) @@ -131,8 +131,8 @@ def deallocate_memCapacity(self, value): self._props[self.__mem_id] = self.allocated_mem return True - except Exception, e: - print "\tGot an error while deallocationg Memory: %s" % str(e) + except Exception as e: + print("\tGot an error while deallocationg Memory: %s" % str(e)) return False # overrides allocateCapacity for BogoMipsCapacity @@ -146,8 +146,8 @@ def deallocate_BogoMipsCapacity(self, value): self.allocated_bog = tmp_val self._props[self.__bog_id] = self.allocated_bog return True - except Exception, e: - print "\tGot an error while deallocationg BogoMips: %s" % str(e) + except Exception as e: + print("\tGot an error while deallocationg BogoMips: %s" % str(e)) return False def updateUsageState(self): diff --git a/redhawk/src/testing/sdr/dev/devices/AllocateBasicDevice_python/AllocateBasicDevice_python_impl1/BasicTestDevice_python_impl1Props.py b/redhawk/src/testing/sdr/dev/devices/AllocateBasicDevice_python/AllocateBasicDevice_python_impl1/BasicTestDevice_python_impl1Props.py index a836e4f05..79a7165b9 100644 --- a/redhawk/src/testing/sdr/dev/devices/AllocateBasicDevice_python/AllocateBasicDevice_python_impl1/BasicTestDevice_python_impl1Props.py +++ b/redhawk/src/testing/sdr/dev/devices/AllocateBasicDevice_python/AllocateBasicDevice_python_impl1/BasicTestDevice_python_impl1Props.py @@ -29,38 +29,38 @@ PROPERTIES = ( ( # ID - u'DCE:7aeaace8-350e-48da-8d77-f97c2e722e06', + 'DCE:7aeaace8-350e-48da-8d77-f97c2e722e06', # NAME - u'memCapacity', + 'memCapacity', # TYPE - u'long', + 'long', # MODE - u'readonly', + 'readonly', # DEFAULT None, # UNITS 'bytes', # ACTION - u'external', + 'external', # KINDS - (u'allocation', ), + ('allocation', ), ), ( # ID - u'DCE:bbdf708f-ce05-469f-8aed-f5c93e353e14', + 'DCE:bbdf708f-ce05-469f-8aed-f5c93e353e14', # NAME - u'BogoMipsCapacity', + 'BogoMipsCapacity', # TYPE - u'long', + 'long', # MODE - u'readonly', + 'readonly', # DEFAULT None, # UNITS 'bytes', # ACTION - u'external', + 'external', # KINDS - (u'allocation', ), + ('allocation', ), ), ) \ No newline at end of file diff --git a/redhawk/src/testing/sdr/dev/devices/AllocateBasicDevice_python/AllocateBasicDevice_python_impl1/WorkModule.py b/redhawk/src/testing/sdr/dev/devices/AllocateBasicDevice_python/AllocateBasicDevice_python_impl1/WorkModule.py index 7f5c5cad2..c3346f7b9 100644 --- a/redhawk/src/testing/sdr/dev/devices/AllocateBasicDevice_python/AllocateBasicDevice_python_impl1/WorkModule.py +++ b/redhawk/src/testing/sdr/dev/devices/AllocateBasicDevice_python/AllocateBasicDevice_python_impl1/WorkModule.py @@ -19,7 +19,7 @@ # along with this program. If not, see http://www.gnu.org/licenses/. # -import Queue +import queue import threading import os, time @@ -33,7 +33,7 @@ def __init__(self, parent): self.parent = parent # Initialize variables for input data processing - self.data_queue = Queue.Queue() + self.data_queue = queue.Queue() self.empty_queue = False # variables for thread management @@ -82,7 +82,7 @@ def Reset(self, external_flag=True): try: while self.data_queue.get_nowait(): pass - except Queue.Empty: + except queue.Empty: pass # @@ -124,7 +124,7 @@ def Process(self): try: new_data = self.data_queue.get(timeout=self.timeout_check_period) new_data_flag = True - except Queue.Empty: + except queue.Empty: new_data_flag = False if new_data_flag: diff --git a/redhawk/src/testing/sdr/dev/devices/BadRelease/BadRelease.py b/redhawk/src/testing/sdr/dev/devices/BadRelease/BadRelease.py index 453359d3f..59a16c4e2 100755 --- a/redhawk/src/testing/sdr/dev/devices/BadRelease/BadRelease.py +++ b/redhawk/src/testing/sdr/dev/devices/BadRelease/BadRelease.py @@ -25,7 +25,7 @@ from ossie.properties import simple_property, simpleseq_property, struct_property, structseq_property import os, sys, stat from omniORB import URI, any -import commands, copy, time, signal, pprint, subprocess +import subprocess, copy, time, signal, pprint, subprocess import logging import signal import shutil @@ -41,7 +41,7 @@ def __init__(self, devmgr, uuid, label, softwareProfile, compositeDevice, execpa self._props["BogoMipsCapacity"] = 100000000 self._props["nicCapacity"] = 100.0 self._props["fakeCapacity"] = 3 - self._props["execparams"] = " ".join(["%s %s" % x for x in execparams.items()]) + self._props["execparams"] = " ".join(["%s %s" % x for x in list(execparams.items())]) def execute(self, name, options, parameters): retval = ExecutableDevice.execute(self, name, options, parameters) diff --git a/redhawk/src/testing/sdr/dev/devices/BadRelease/BadReleaseProps.py b/redhawk/src/testing/sdr/dev/devices/BadRelease/BadReleaseProps.py index 5e8b001e0..b3afcd376 100644 --- a/redhawk/src/testing/sdr/dev/devices/BadRelease/BadReleaseProps.py +++ b/redhawk/src/testing/sdr/dev/devices/BadRelease/BadReleaseProps.py @@ -27,214 +27,214 @@ PROPERTIES = ( ( - u'DCE:6b298d70-6735-43f2-944d-06f754cd4eb9', # ID - u'no_default_prop', # NAME - u'string', # TYPE - u'readwrite', # MODE + 'DCE:6b298d70-6735-43f2-944d-06f754cd4eb9', # ID + 'no_default_prop', # NAME + 'string', # TYPE + 'readwrite', # MODE None, # DEFAULT None, # UNITS 'external', # ACTION - (u'configure',), # KINDS + ('configure',), # KINDS ), ( - u'DCE:456310b2-7d2f-40f5-bfef-9fdf4f3560ea', # ID - u'default_prop', # NAME - u'string', # TYPE - u'readwrite', # MODE + 'DCE:456310b2-7d2f-40f5-bfef-9fdf4f3560ea', # ID + 'default_prop', # NAME + 'string', # TYPE + 'readwrite', # MODE 'default', # DEFAULT None, # UNITS 'external', # ACTION - (u'configure',), # KINDS + ('configure',), # KINDS ), ( - u'DCE:4a23ad60-0b25-4121-a630-68803a498f75', # ID - u'os_name', # NAME - u'string', # TYPE - u'readonly', # MODE + 'DCE:4a23ad60-0b25-4121-a630-68803a498f75', # ID + 'os_name', # NAME + 'string', # TYPE + 'readonly', # MODE 'Linux', # DEFAULT None, # UNITS - u'eq', # ACTION - (u'allocation',), # KINDS + 'eq', # ACTION + ('allocation',), # KINDS ), ( - u'DCE:fefb9c66-d14a-438d-ad59-2cfd1adb272b', # ID - u'processor_name', # NAME - u'string', # TYPE - u'readonly', # MODE + 'DCE:fefb9c66-d14a-438d-ad59-2cfd1adb272b', # ID + 'processor_name', # NAME + 'string', # TYPE + 'readonly', # MODE 'x86', # DEFAULT None, # UNITS - u'eq', # ACTION - (u'allocation',), # KINDS + 'eq', # ACTION + ('allocation',), # KINDS ), ( - u'DCE:7f36cdfb-f828-4e4f-b84f-446e17f1a85b', # ID - u'DeviceKind', # NAME - u'string', # TYPE - u'readonly', # MODE + 'DCE:7f36cdfb-f828-4e4f-b84f-446e17f1a85b', # ID + 'DeviceKind', # NAME + 'string', # TYPE + 'readonly', # MODE 'BadRelease', # DEFAULT None, # UNITS - u'eq', # ACTION - (u'allocation',), # KINDS + 'eq', # ACTION + ('allocation',), # KINDS ), ( - u'DCE:64303822-4c67-4c04-9a5c-bf670f27cf39', # ID - u'RunsAs', # NAME - u'string', # TYPE - u'readonly', # MODE + 'DCE:64303822-4c67-4c04-9a5c-bf670f27cf39', # ID + 'RunsAs', # NAME + 'string', # TYPE + 'readonly', # MODE 'root', # DEFAULT None, # UNITS - u'ne', # ACTION - (u'allocation',), # KINDS + 'ne', # ACTION + ('allocation',), # KINDS ), ( - u'DCE:021f10cf-7a05-46ec-a507-04b513b84bd4', # ID - u'HasXMIDAS', # NAME - u'boolean', # TYPE - u'readonly', # MODE + 'DCE:021f10cf-7a05-46ec-a507-04b513b84bd4', # ID + 'HasXMIDAS', # NAME + 'boolean', # TYPE + 'readonly', # MODE True, # DEFAULT None, # UNITS - u'eq', # ACTION - (u'allocation',), # KINDS + 'eq', # ACTION + ('allocation',), # KINDS ), ( - u'DCE:ac73446e-f935-40b6-8b8d-4d9adb6b403f', # ID - u'ProvidedCpuCores', # NAME - u'short', # TYPE - u'readonly', # MODE + 'DCE:ac73446e-f935-40b6-8b8d-4d9adb6b403f', # ID + 'ProvidedCpuCores', # NAME + 'short', # TYPE + 'readonly', # MODE 8, # DEFAULT None, # UNITS - u'ge', # ACTION - (u'allocation',), # KINDS + 'ge', # ACTION + ('allocation',), # KINDS ), ( - u'DCE:dd339b67-b387-4018-94d2-9a72955d85b9', # ID - u'CoresClockRateGHz', # NAME - u'float', # TYPE - u'readonly', # MODE + 'DCE:dd339b67-b387-4018-94d2-9a72955d85b9', # ID + 'CoresClockRateGHz', # NAME + 'float', # TYPE + 'readonly', # MODE 3.0, # DEFAULT None, # UNITS - u'le', # ACTION - (u'allocation',), # KINDS + 'le', # ACTION + ('allocation',), # KINDS ), ( - u'DCE:8dcef419-b440-4bcf-b893-cab79b6024fb', # ID - u'memCapacity', # NAME - u'long', # TYPE - u'readonly', # MODE + 'DCE:8dcef419-b440-4bcf-b893-cab79b6024fb', # ID + 'memCapacity', # NAME + 'long', # TYPE + 'readonly', # MODE None, # DEFAULT None, # UNITS 'external', # ACTION - (u'allocation',), # KINDS + ('allocation',), # KINDS ), ( - u'DCE:4f9a57fc-8fb3-47f6-b779-3c2692f52cf9', # ID - u'nicCapacity', # NAME - u'float', # TYPE - u'readonly', # MODE + 'DCE:4f9a57fc-8fb3-47f6-b779-3c2692f52cf9', # ID + 'nicCapacity', # NAME + 'float', # TYPE + 'readonly', # MODE None, # DEFAULT None, # UNITS 'external', # ACTION - (u'allocation',), # KINDS + ('allocation',), # KINDS ), ( - u'DCE:5636c210-0346-4df7-a5a3-8fd34c5540a8', # ID - u'BogoMipsCapacity', # NAME - u'long', # TYPE - u'readonly', # MODE + 'DCE:5636c210-0346-4df7-a5a3-8fd34c5540a8', # ID + 'BogoMipsCapacity', # NAME + 'long', # TYPE + 'readonly', # MODE None, # DEFAULT None, # UNITS 'external', # ACTION - (u'allocation',), # KINDS + ('allocation',), # KINDS ), ( - u'DCE:0cfccc59-7853-4b19-9110-29dccc443374', # ID - u'fakeCapacity', # NAME - u'short', # TYPE - u'readonly', # MODE + 'DCE:0cfccc59-7853-4b19-9110-29dccc443374', # ID + 'fakeCapacity', # NAME + 'short', # TYPE + 'readonly', # MODE None, # DEFAULT None, # UNITS 'external', # ACTION - (u'allocation',), # KINDS + ('allocation',), # KINDS ), ( - u'DCE:c03e148f-e9f9-4d70-aa00-6e23d33fa648', # ID - u'SomeConfigFileLocation', # NAME - u'string', # TYPE - u'readwrite', # MODE + 'DCE:c03e148f-e9f9-4d70-aa00-6e23d33fa648', # ID + 'SomeConfigFileLocation', # NAME + 'string', # TYPE + 'readwrite', # MODE 'notyourfile', # DEFAULT None, # UNITS 'external', # ACTION - (u'execparam',), # KINDS + ('execparam',), # KINDS ), ( - u'DCE:dc4289a8-bb98-435b-b914-305ffaa7594f', # ID - u'ImplementationSpecificProperty', # NAME - u'string', # TYPE - u'readwrite', # MODE + 'DCE:dc4289a8-bb98-435b-b914-305ffaa7594f', # ID + 'ImplementationSpecificProperty', # NAME + 'string', # TYPE + 'readwrite', # MODE 'DefaultValueNoGood', # DEFAULT None, # UNITS 'external', # ACTION - (u'execparam',), # KINDS + ('execparam',), # KINDS ), ( - u'DCE:6f5881b3-433e-434b-8204-d39c89ff4be2', # ID - u'ReadOnlyProperty', # NAME - u'string', # TYPE - u'readonly', # MODE + 'DCE:6f5881b3-433e-434b-8204-d39c89ff4be2', # ID + 'ReadOnlyProperty', # NAME + 'string', # TYPE + 'readonly', # MODE 'DefaultValueGood', # DEFAULT None, # UNITS 'external', # ACTION - (u'execparam',), # KINDS + ('execparam',), # KINDS ), ( - u'DCE:716ea1c4-059a-4b18-8b66-74804bd8d435', # ID - u'ImplementationSpecificProperty2', # NAME - u'string', # TYPE - u'readwrite', # MODE + 'DCE:716ea1c4-059a-4b18-8b66-74804bd8d435', # ID + 'ImplementationSpecificProperty2', # NAME + 'string', # TYPE + 'readwrite', # MODE None, # DEFAULT None, # UNITS 'external', # ACTION - (u'execparam',), # KINDS + ('execparam',), # KINDS ), ( - u'DCE:f6fb9770-cfd9-4e14-a337-2234f7f3317b', # ID - u'ImplementationSpecificAllocationProp', # NAME - u'string', # TYPE - u'readwrite', # MODE + 'DCE:f6fb9770-cfd9-4e14-a337-2234f7f3317b', # ID + 'ImplementationSpecificAllocationProp', # NAME + 'string', # TYPE + 'readwrite', # MODE None, # DEFAULT None, # UNITS - u'eq', # ACTION - (u'allocation',), # KINDS + 'eq', # ACTION + ('allocation',), # KINDS ), ( - u'check_STACK_SIZE', # ID - u'check STACK SIZE', # NAME - u'ulong', # TYPE - u'readwrite', # MODE + 'check_STACK_SIZE', # ID + 'check STACK SIZE', # NAME + 'ulong', # TYPE + 'readwrite', # MODE None, # DEFAULT None, # UNITS - u'external', # ACTION - (u'configure',), # KINDS + 'external', # ACTION + ('configure',), # KINDS ), ( - u'check_PRIORITY', # ID - u'check PRIORITY', # NAME - u'ulong', # TYPE - u'readwrite', # MODE + 'check_PRIORITY', # ID + 'check PRIORITY', # NAME + 'ulong', # TYPE + 'readwrite', # MODE None, # DEFAULT None, # UNITS - u'external', # ACTION - (u'configure',), # KINDS + 'external', # ACTION + ('configure',), # KINDS ), ( - u'DCE:85d133fd-1658-4e4d-b3ff-1443cd44c0e2', # ID - u'execparams', # NAME - u'string', # TYPE - u'readonly', # MODE + 'DCE:85d133fd-1658-4e4d-b3ff-1443cd44c0e2', # ID + 'execparams', # NAME + 'string', # TYPE + 'readonly', # MODE None, # DEFAULT None, # UNITS 'external', # ACTION - (u'configure',), # KINDS + ('configure',), # KINDS ), ) diff --git a/redhawk/src/testing/sdr/dev/devices/BadReleaseBefore/BadReleaseBefore.py b/redhawk/src/testing/sdr/dev/devices/BadReleaseBefore/BadReleaseBefore.py index 3248a701a..cd01f3069 100755 --- a/redhawk/src/testing/sdr/dev/devices/BadReleaseBefore/BadReleaseBefore.py +++ b/redhawk/src/testing/sdr/dev/devices/BadReleaseBefore/BadReleaseBefore.py @@ -25,7 +25,7 @@ from ossie.properties import simple_property, simpleseq_property, struct_property, structseq_property import os, sys, stat from omniORB import URI, any -import commands, copy, time, signal, pprint, subprocess +import subprocess, copy, time, signal, pprint, subprocess import logging import signal import shutil @@ -41,7 +41,7 @@ def __init__(self, devmgr, uuid, label, softwareProfile, compositeDevice, execpa self._props["BogoMipsCapacity"] = 100000000 self._props["nicCapacity"] = 100.0 self._props["fakeCapacity"] = 3 - self._props["execparams"] = " ".join(["%s %s" % x for x in execparams.items()]) + self._props["execparams"] = " ".join(["%s %s" % x for x in list(execparams.items())]) def execute(self, name, options, parameters): retval = ExecutableDevice.execute(self, name, options, parameters) diff --git a/redhawk/src/testing/sdr/dev/devices/BadReleaseBefore/BadReleaseBeforeProps.py b/redhawk/src/testing/sdr/dev/devices/BadReleaseBefore/BadReleaseBeforeProps.py index f9e41feae..5dfd5d8f3 100644 --- a/redhawk/src/testing/sdr/dev/devices/BadReleaseBefore/BadReleaseBeforeProps.py +++ b/redhawk/src/testing/sdr/dev/devices/BadReleaseBefore/BadReleaseBeforeProps.py @@ -27,214 +27,214 @@ PROPERTIES = ( ( - u'DCE:6b298d70-6735-43f2-944d-06f754cd4eb9', # ID - u'no_default_prop', # NAME - u'string', # TYPE - u'readwrite', # MODE + 'DCE:6b298d70-6735-43f2-944d-06f754cd4eb9', # ID + 'no_default_prop', # NAME + 'string', # TYPE + 'readwrite', # MODE None, # DEFAULT None, # UNITS 'external', # ACTION - (u'configure',), # KINDS + ('configure',), # KINDS ), ( - u'DCE:456310b2-7d2f-40f5-bfef-9fdf4f3560ea', # ID - u'default_prop', # NAME - u'string', # TYPE - u'readwrite', # MODE + 'DCE:456310b2-7d2f-40f5-bfef-9fdf4f3560ea', # ID + 'default_prop', # NAME + 'string', # TYPE + 'readwrite', # MODE 'default', # DEFAULT None, # UNITS 'external', # ACTION - (u'configure',), # KINDS + ('configure',), # KINDS ), ( - u'DCE:4a23ad60-0b25-4121-a630-68803a498f75', # ID - u'os_name', # NAME - u'string', # TYPE - u'readonly', # MODE + 'DCE:4a23ad60-0b25-4121-a630-68803a498f75', # ID + 'os_name', # NAME + 'string', # TYPE + 'readonly', # MODE 'Linux', # DEFAULT None, # UNITS - u'eq', # ACTION - (u'allocation',), # KINDS + 'eq', # ACTION + ('allocation',), # KINDS ), ( - u'DCE:fefb9c66-d14a-438d-ad59-2cfd1adb272b', # ID - u'processor_name', # NAME - u'string', # TYPE - u'readonly', # MODE + 'DCE:fefb9c66-d14a-438d-ad59-2cfd1adb272b', # ID + 'processor_name', # NAME + 'string', # TYPE + 'readonly', # MODE 'x86', # DEFAULT None, # UNITS - u'eq', # ACTION - (u'allocation',), # KINDS + 'eq', # ACTION + ('allocation',), # KINDS ), ( - u'DCE:7f36cdfb-f828-4e4f-b84f-446e17f1a85b', # ID - u'DeviceKind', # NAME - u'string', # TYPE - u'readonly', # MODE + 'DCE:7f36cdfb-f828-4e4f-b84f-446e17f1a85b', # ID + 'DeviceKind', # NAME + 'string', # TYPE + 'readonly', # MODE 'BadReleaseBefore', # DEFAULT None, # UNITS - u'eq', # ACTION - (u'allocation',), # KINDS + 'eq', # ACTION + ('allocation',), # KINDS ), ( - u'DCE:64303822-4c67-4c04-9a5c-bf670f27cf39', # ID - u'RunsAs', # NAME - u'string', # TYPE - u'readonly', # MODE + 'DCE:64303822-4c67-4c04-9a5c-bf670f27cf39', # ID + 'RunsAs', # NAME + 'string', # TYPE + 'readonly', # MODE 'root', # DEFAULT None, # UNITS - u'ne', # ACTION - (u'allocation',), # KINDS + 'ne', # ACTION + ('allocation',), # KINDS ), ( - u'DCE:021f10cf-7a05-46ec-a507-04b513b84bd4', # ID - u'HasXMIDAS', # NAME - u'boolean', # TYPE - u'readonly', # MODE + 'DCE:021f10cf-7a05-46ec-a507-04b513b84bd4', # ID + 'HasXMIDAS', # NAME + 'boolean', # TYPE + 'readonly', # MODE True, # DEFAULT None, # UNITS - u'eq', # ACTION - (u'allocation',), # KINDS + 'eq', # ACTION + ('allocation',), # KINDS ), ( - u'DCE:ac73446e-f935-40b6-8b8d-4d9adb6b403f', # ID - u'ProvidedCpuCores', # NAME - u'short', # TYPE - u'readonly', # MODE + 'DCE:ac73446e-f935-40b6-8b8d-4d9adb6b403f', # ID + 'ProvidedCpuCores', # NAME + 'short', # TYPE + 'readonly', # MODE 8, # DEFAULT None, # UNITS - u'ge', # ACTION - (u'allocation',), # KINDS + 'ge', # ACTION + ('allocation',), # KINDS ), ( - u'DCE:dd339b67-b387-4018-94d2-9a72955d85b9', # ID - u'CoresClockRateGHz', # NAME - u'float', # TYPE - u'readonly', # MODE + 'DCE:dd339b67-b387-4018-94d2-9a72955d85b9', # ID + 'CoresClockRateGHz', # NAME + 'float', # TYPE + 'readonly', # MODE 3.0, # DEFAULT None, # UNITS - u'le', # ACTION - (u'allocation',), # KINDS + 'le', # ACTION + ('allocation',), # KINDS ), ( - u'DCE:8dcef419-b440-4bcf-b893-cab79b6024fb', # ID - u'memCapacity', # NAME - u'long', # TYPE - u'readonly', # MODE + 'DCE:8dcef419-b440-4bcf-b893-cab79b6024fb', # ID + 'memCapacity', # NAME + 'long', # TYPE + 'readonly', # MODE None, # DEFAULT None, # UNITS 'external', # ACTION - (u'allocation',), # KINDS + ('allocation',), # KINDS ), ( - u'DCE:4f9a57fc-8fb3-47f6-b779-3c2692f52cf9', # ID - u'nicCapacity', # NAME - u'float', # TYPE - u'readonly', # MODE + 'DCE:4f9a57fc-8fb3-47f6-b779-3c2692f52cf9', # ID + 'nicCapacity', # NAME + 'float', # TYPE + 'readonly', # MODE None, # DEFAULT None, # UNITS 'external', # ACTION - (u'allocation',), # KINDS + ('allocation',), # KINDS ), ( - u'DCE:5636c210-0346-4df7-a5a3-8fd34c5540a8', # ID - u'BogoMipsCapacity', # NAME - u'long', # TYPE - u'readonly', # MODE + 'DCE:5636c210-0346-4df7-a5a3-8fd34c5540a8', # ID + 'BogoMipsCapacity', # NAME + 'long', # TYPE + 'readonly', # MODE None, # DEFAULT None, # UNITS 'external', # ACTION - (u'allocation',), # KINDS + ('allocation',), # KINDS ), ( - u'DCE:0cfccc59-7853-4b19-9110-29dccc443374', # ID - u'fakeCapacity', # NAME - u'short', # TYPE - u'readonly', # MODE + 'DCE:0cfccc59-7853-4b19-9110-29dccc443374', # ID + 'fakeCapacity', # NAME + 'short', # TYPE + 'readonly', # MODE None, # DEFAULT None, # UNITS 'external', # ACTION - (u'allocation',), # KINDS + ('allocation',), # KINDS ), ( - u'DCE:c03e148f-e9f9-4d70-aa00-6e23d33fa648', # ID - u'SomeConfigFileLocation', # NAME - u'string', # TYPE - u'readwrite', # MODE + 'DCE:c03e148f-e9f9-4d70-aa00-6e23d33fa648', # ID + 'SomeConfigFileLocation', # NAME + 'string', # TYPE + 'readwrite', # MODE 'notyourfile', # DEFAULT None, # UNITS 'external', # ACTION - (u'execparam',), # KINDS + ('execparam',), # KINDS ), ( - u'DCE:dc4289a8-bb98-435b-b914-305ffaa7594f', # ID - u'ImplementationSpecificProperty', # NAME - u'string', # TYPE - u'readwrite', # MODE + 'DCE:dc4289a8-bb98-435b-b914-305ffaa7594f', # ID + 'ImplementationSpecificProperty', # NAME + 'string', # TYPE + 'readwrite', # MODE 'DefaultValueNoGood', # DEFAULT None, # UNITS 'external', # ACTION - (u'execparam',), # KINDS + ('execparam',), # KINDS ), ( - u'DCE:6f5881b3-433e-434b-8204-d39c89ff4be2', # ID - u'ReadOnlyProperty', # NAME - u'string', # TYPE - u'readonly', # MODE + 'DCE:6f5881b3-433e-434b-8204-d39c89ff4be2', # ID + 'ReadOnlyProperty', # NAME + 'string', # TYPE + 'readonly', # MODE 'DefaultValueGood', # DEFAULT None, # UNITS 'external', # ACTION - (u'execparam',), # KINDS + ('execparam',), # KINDS ), ( - u'DCE:716ea1c4-059a-4b18-8b66-74804bd8d435', # ID - u'ImplementationSpecificProperty2', # NAME - u'string', # TYPE - u'readwrite', # MODE + 'DCE:716ea1c4-059a-4b18-8b66-74804bd8d435', # ID + 'ImplementationSpecificProperty2', # NAME + 'string', # TYPE + 'readwrite', # MODE None, # DEFAULT None, # UNITS 'external', # ACTION - (u'execparam',), # KINDS + ('execparam',), # KINDS ), ( - u'DCE:f6fb9770-cfd9-4e14-a337-2234f7f3317b', # ID - u'ImplementationSpecificAllocationProp', # NAME - u'string', # TYPE - u'readwrite', # MODE + 'DCE:f6fb9770-cfd9-4e14-a337-2234f7f3317b', # ID + 'ImplementationSpecificAllocationProp', # NAME + 'string', # TYPE + 'readwrite', # MODE None, # DEFAULT None, # UNITS - u'eq', # ACTION - (u'allocation',), # KINDS + 'eq', # ACTION + ('allocation',), # KINDS ), ( - u'check_STACK_SIZE', # ID - u'check STACK SIZE', # NAME - u'ulong', # TYPE - u'readwrite', # MODE + 'check_STACK_SIZE', # ID + 'check STACK SIZE', # NAME + 'ulong', # TYPE + 'readwrite', # MODE None, # DEFAULT None, # UNITS - u'external', # ACTION - (u'configure',), # KINDS + 'external', # ACTION + ('configure',), # KINDS ), ( - u'check_PRIORITY', # ID - u'check PRIORITY', # NAME - u'ulong', # TYPE - u'readwrite', # MODE + 'check_PRIORITY', # ID + 'check PRIORITY', # NAME + 'ulong', # TYPE + 'readwrite', # MODE None, # DEFAULT None, # UNITS - u'external', # ACTION - (u'configure',), # KINDS + 'external', # ACTION + ('configure',), # KINDS ), ( - u'DCE:85d133fd-1658-4e4d-b3ff-1443cd44c0e2', # ID - u'execparams', # NAME - u'string', # TYPE - u'readonly', # MODE + 'DCE:85d133fd-1658-4e4d-b3ff-1443cd44c0e2', # ID + 'execparams', # NAME + 'string', # TYPE + 'readonly', # MODE None, # DEFAULT None, # UNITS 'external', # ACTION - (u'configure',), # KINDS + ('configure',), # KINDS ), ) diff --git a/redhawk/src/testing/sdr/dev/devices/BasicAlwaysBusyDevice/BasicAlwaysBusyDevice.py b/redhawk/src/testing/sdr/dev/devices/BasicAlwaysBusyDevice/BasicAlwaysBusyDevice.py index 80cef0ac1..8deabd8dd 100755 --- a/redhawk/src/testing/sdr/dev/devices/BasicAlwaysBusyDevice/BasicAlwaysBusyDevice.py +++ b/redhawk/src/testing/sdr/dev/devices/BasicAlwaysBusyDevice/BasicAlwaysBusyDevice.py @@ -25,7 +25,7 @@ from ossie.properties import simple_property, simpleseq_property, struct_property import os, sys, stat from omniORB import URI, any -import commands, copy, time, signal, pprint, subprocess +import subprocess, copy, time, signal, pprint, subprocess import logging import signal import shutil diff --git a/redhawk/src/testing/sdr/dev/devices/BasicAlwaysBusyDevice/BasicAlwaysBusyDeviceProps.py b/redhawk/src/testing/sdr/dev/devices/BasicAlwaysBusyDevice/BasicAlwaysBusyDeviceProps.py index 00e62c0b1..b0ebdca57 100644 --- a/redhawk/src/testing/sdr/dev/devices/BasicAlwaysBusyDevice/BasicAlwaysBusyDeviceProps.py +++ b/redhawk/src/testing/sdr/dev/devices/BasicAlwaysBusyDevice/BasicAlwaysBusyDeviceProps.py @@ -27,214 +27,214 @@ PROPERTIES = ( ( - u'DCE:6b298d70-6735-43f2-944d-06f754cd4eb9', # ID - u'no_default_prop', # NAME - u'string', # TYPE - u'readwrite', # MODE + 'DCE:6b298d70-6735-43f2-944d-06f754cd4eb9', # ID + 'no_default_prop', # NAME + 'string', # TYPE + 'readwrite', # MODE None, # DEFAULT None, # UNITS 'external', # ACTION - (u'configure',), # KINDS + ('configure',), # KINDS ), ( - u'DCE:456310b2-7d2f-40f5-bfef-9fdf4f3560ea', # ID - u'default_prop', # NAME - u'string', # TYPE - u'readwrite', # MODE + 'DCE:456310b2-7d2f-40f5-bfef-9fdf4f3560ea', # ID + 'default_prop', # NAME + 'string', # TYPE + 'readwrite', # MODE 'default', # DEFAULT None, # UNITS 'external', # ACTION - (u'configure',), # KINDS + ('configure',), # KINDS ), ( - u'DCE:4a23ad60-0b25-4121-a630-68803a498f75', # ID - u'os_name', # NAME - u'string', # TYPE - u'readonly', # MODE + 'DCE:4a23ad60-0b25-4121-a630-68803a498f75', # ID + 'os_name', # NAME + 'string', # TYPE + 'readonly', # MODE 'Linux', # DEFAULT None, # UNITS - u'eq', # ACTION - (u'allocation',), # KINDS + 'eq', # ACTION + ('allocation',), # KINDS ), ( - u'DCE:fefb9c66-d14a-438d-ad59-2cfd1adb272b', # ID - u'processor_name', # NAME - u'string', # TYPE - u'readonly', # MODE + 'DCE:fefb9c66-d14a-438d-ad59-2cfd1adb272b', # ID + 'processor_name', # NAME + 'string', # TYPE + 'readonly', # MODE 'x86', # DEFAULT None, # UNITS - u'eq', # ACTION - (u'allocation',), # KINDS + 'eq', # ACTION + ('allocation',), # KINDS ), ( - u'DCE:7f36cdfb-f828-4e4f-b84f-446e17f1a85b', # ID - u'DeviceKind', # NAME - u'string', # TYPE - u'readonly', # MODE + 'DCE:7f36cdfb-f828-4e4f-b84f-446e17f1a85b', # ID + 'DeviceKind', # NAME + 'string', # TYPE + 'readonly', # MODE 'BasicAlwaysBusyDevice', # DEFAULT None, # UNITS - u'eq', # ACTION - (u'allocation',), # KINDS + 'eq', # ACTION + ('allocation',), # KINDS ), ( - u'DCE:64303822-4c67-4c04-9a5c-bf670f27cf39', # ID - u'RunsAs', # NAME - u'string', # TYPE - u'readonly', # MODE + 'DCE:64303822-4c67-4c04-9a5c-bf670f27cf39', # ID + 'RunsAs', # NAME + 'string', # TYPE + 'readonly', # MODE 'root', # DEFAULT None, # UNITS - u'ne', # ACTION - (u'allocation',), # KINDS + 'ne', # ACTION + ('allocation',), # KINDS ), ( - u'DCE:021f10cf-7a05-46ec-a507-04b513b84bd4', # ID - u'HasXMIDAS', # NAME - u'boolean', # TYPE - u'readonly', # MODE + 'DCE:021f10cf-7a05-46ec-a507-04b513b84bd4', # ID + 'HasXMIDAS', # NAME + 'boolean', # TYPE + 'readonly', # MODE True, # DEFAULT None, # UNITS - u'eq', # ACTION - (u'allocation',), # KINDS + 'eq', # ACTION + ('allocation',), # KINDS ), ( - u'DCE:ac73446e-f935-40b6-8b8d-4d9adb6b403f', # ID - u'ProvidedCpuCores', # NAME - u'short', # TYPE - u'readonly', # MODE + 'DCE:ac73446e-f935-40b6-8b8d-4d9adb6b403f', # ID + 'ProvidedCpuCores', # NAME + 'short', # TYPE + 'readonly', # MODE 8, # DEFAULT None, # UNITS - u'ge', # ACTION - (u'allocation',), # KINDS + 'ge', # ACTION + ('allocation',), # KINDS ), ( - u'DCE:dd339b67-b387-4018-94d2-9a72955d85b9', # ID - u'CoresClockRateGHz', # NAME - u'float', # TYPE - u'readonly', # MODE + 'DCE:dd339b67-b387-4018-94d2-9a72955d85b9', # ID + 'CoresClockRateGHz', # NAME + 'float', # TYPE + 'readonly', # MODE 3.0, # DEFAULT None, # UNITS - u'le', # ACTION - (u'allocation',), # KINDS + 'le', # ACTION + ('allocation',), # KINDS ), ( - u'DCE:8dcef419-b440-4bcf-b893-cab79b6024fb', # ID - u'memCapacity', # NAME - u'long', # TYPE - u'readonly', # MODE + 'DCE:8dcef419-b440-4bcf-b893-cab79b6024fb', # ID + 'memCapacity', # NAME + 'long', # TYPE + 'readonly', # MODE None, # DEFAULT None, # UNITS 'external', # ACTION - (u'allocation',), # KINDS + ('allocation',), # KINDS ), ( - u'DCE:4f9a57fc-8fb3-47f6-b779-3c2692f52cf9', # ID - u'nicCapacity', # NAME - u'float', # TYPE - u'readonly', # MODE + 'DCE:4f9a57fc-8fb3-47f6-b779-3c2692f52cf9', # ID + 'nicCapacity', # NAME + 'float', # TYPE + 'readonly', # MODE None, # DEFAULT None, # UNITS 'external', # ACTION - (u'allocation',), # KINDS + ('allocation',), # KINDS ), ( - u'DCE:5636c210-0346-4df7-a5a3-8fd34c5540a8', # ID - u'BogoMipsCapacity', # NAME - u'long', # TYPE - u'readonly', # MODE + 'DCE:5636c210-0346-4df7-a5a3-8fd34c5540a8', # ID + 'BogoMipsCapacity', # NAME + 'long', # TYPE + 'readonly', # MODE None, # DEFAULT None, # UNITS 'external', # ACTION - (u'allocation',), # KINDS + ('allocation',), # KINDS ), ( - u'DCE:0cfccc59-7853-4b19-9110-29dccc443374', # ID - u'fakeCapacity', # NAME - u'short', # TYPE - u'readonly', # MODE + 'DCE:0cfccc59-7853-4b19-9110-29dccc443374', # ID + 'fakeCapacity', # NAME + 'short', # TYPE + 'readonly', # MODE None, # DEFAULT None, # UNITS 'external', # ACTION - (u'allocation',), # KINDS + ('allocation',), # KINDS ), ( - u'DCE:c03e148f-e9f9-4d70-aa00-6e23d33fa648', # ID - u'SomeConfigFileLocation', # NAME - u'string', # TYPE - u'readwrite', # MODE + 'DCE:c03e148f-e9f9-4d70-aa00-6e23d33fa648', # ID + 'SomeConfigFileLocation', # NAME + 'string', # TYPE + 'readwrite', # MODE 'notyourfile', # DEFAULT None, # UNITS 'external', # ACTION - (u'execparam',), # KINDS + ('execparam',), # KINDS ), ( - u'DCE:dc4289a8-bb98-435b-b914-305ffaa7594f', # ID - u'ImplementationSpecificProperty', # NAME - u'string', # TYPE - u'readwrite', # MODE + 'DCE:dc4289a8-bb98-435b-b914-305ffaa7594f', # ID + 'ImplementationSpecificProperty', # NAME + 'string', # TYPE + 'readwrite', # MODE 'DefaultValueNoGood', # DEFAULT None, # UNITS 'external', # ACTION - (u'execparam',), # KINDS + ('execparam',), # KINDS ), ( - u'DCE:6f5881b3-433e-434b-8204-d39c89ff4be2', # ID - u'ReadOnlyProperty', # NAME - u'string', # TYPE - u'readonly', # MODE + 'DCE:6f5881b3-433e-434b-8204-d39c89ff4be2', # ID + 'ReadOnlyProperty', # NAME + 'string', # TYPE + 'readonly', # MODE 'DefaultValueGood', # DEFAULT None, # UNITS 'external', # ACTION - (u'execparam',), # KINDS + ('execparam',), # KINDS ), ( - u'DCE:716ea1c4-059a-4b18-8b66-74804bd8d435', # ID - u'ImplementationSpecificProperty2', # NAME - u'string', # TYPE - u'readwrite', # MODE + 'DCE:716ea1c4-059a-4b18-8b66-74804bd8d435', # ID + 'ImplementationSpecificProperty2', # NAME + 'string', # TYPE + 'readwrite', # MODE None, # DEFAULT None, # UNITS 'external', # ACTION - (u'execparam',), # KINDS + ('execparam',), # KINDS ), ( - u'DCE:f6fb9770-cfd9-4e14-a337-2234f7f3317b', # ID - u'ImplementationSpecificAllocationProp', # NAME - u'string', # TYPE - u'readwrite', # MODE + 'DCE:f6fb9770-cfd9-4e14-a337-2234f7f3317b', # ID + 'ImplementationSpecificAllocationProp', # NAME + 'string', # TYPE + 'readwrite', # MODE None, # DEFAULT None, # UNITS - u'eq', # ACTION - (u'allocation',), # KINDS + 'eq', # ACTION + ('allocation',), # KINDS ), ( - u'check_STACK_SIZE', # ID - u'check STACK SIZE', # NAME - u'ulong', # TYPE - u'readwrite', # MODE + 'check_STACK_SIZE', # ID + 'check STACK SIZE', # NAME + 'ulong', # TYPE + 'readwrite', # MODE None, # DEFAULT None, # UNITS - u'external', # ACTION - (u'configure',), # KINDS + 'external', # ACTION + ('configure',), # KINDS ), ( - u'check_PRIORITY', # ID - u'check PRIORITY', # NAME - u'ulong', # TYPE - u'readwrite', # MODE + 'check_PRIORITY', # ID + 'check PRIORITY', # NAME + 'ulong', # TYPE + 'readwrite', # MODE None, # DEFAULT None, # UNITS - u'external', # ACTION - (u'configure',), # KINDS + 'external', # ACTION + ('configure',), # KINDS ), ( - u'DCE:85d133fd-1658-4e4d-b3ff-1443cd44c0e2', # ID - u'execparams', # NAME - u'string', # TYPE - u'readonly', # MODE + 'DCE:85d133fd-1658-4e4d-b3ff-1443cd44c0e2', # ID + 'execparams', # NAME + 'string', # TYPE + 'readonly', # MODE None, # DEFAULT None, # UNITS 'external', # ACTION - (u'configure',), # KINDS + ('configure',), # KINDS ), ) diff --git a/redhawk/src/testing/sdr/dev/devices/BasicChildDevice/BasicChildDevice.py b/redhawk/src/testing/sdr/dev/devices/BasicChildDevice/BasicChildDevice.py index d4e1e4b12..f9587bb9a 100755 --- a/redhawk/src/testing/sdr/dev/devices/BasicChildDevice/BasicChildDevice.py +++ b/redhawk/src/testing/sdr/dev/devices/BasicChildDevice/BasicChildDevice.py @@ -27,7 +27,7 @@ from ossie.device import Device, start_device import os, sys, stat from omniORB import URI, any -import commands, copy, time, signal, pprint, subprocess +import subprocess, copy, time, signal, pprint, subprocess import logging import signal import shutil diff --git a/redhawk/src/testing/sdr/dev/devices/BasicChildDevice/BasicChildDeviceProps.py b/redhawk/src/testing/sdr/dev/devices/BasicChildDevice/BasicChildDeviceProps.py index ca3b70fb0..e888fb1b5 100644 --- a/redhawk/src/testing/sdr/dev/devices/BasicChildDevice/BasicChildDeviceProps.py +++ b/redhawk/src/testing/sdr/dev/devices/BasicChildDevice/BasicChildDeviceProps.py @@ -27,24 +27,24 @@ PROPERTIES = ( ( - u'DCE:7f36cdfb-f828-4e4f-b84f-446e17f1a85b', # ID - u'DeviceKind', # NAME - u'string', # TYPE - u'readonly', # MODE + 'DCE:7f36cdfb-f828-4e4f-b84f-446e17f1a85b', # ID + 'DeviceKind', # NAME + 'string', # TYPE + 'readonly', # MODE 'BasicChildDevice', # DEFAULT None, # UNITS - u'eq', # ACTION - (u'allocation',), # KINDS + 'eq', # ACTION + ('allocation',), # KINDS ), ( - u'DCE:28022916-4e5e-4bba-97bf-99bc5bbbf471', # ID - u'someCapacity', # NAME - u'float', # TYPE - u'readonly', # MODE + 'DCE:28022916-4e5e-4bba-97bf-99bc5bbbf471', # ID + 'someCapacity', # NAME + 'float', # TYPE + 'readonly', # MODE None, # DEFAULT None, # UNITS 'external', # ACTION - (u'allocation',), # KINDS + ('allocation',), # KINDS ), ) diff --git a/redhawk/src/testing/sdr/dev/devices/BasicTestDevice/BasicTestDevice.py b/redhawk/src/testing/sdr/dev/devices/BasicTestDevice/BasicTestDevice.py index 732c3e434..c48ca7ec5 100755 --- a/redhawk/src/testing/sdr/dev/devices/BasicTestDevice/BasicTestDevice.py +++ b/redhawk/src/testing/sdr/dev/devices/BasicTestDevice/BasicTestDevice.py @@ -25,7 +25,7 @@ from ossie.properties import simple_property, simpleseq_property, struct_property, structseq_property import os, sys, stat from omniORB import URI, any -import commands, copy, time, signal, pprint, subprocess +import subprocess, copy, time, signal, pprint, subprocess import logging import signal import shutil @@ -41,7 +41,7 @@ def __init__(self, devmgr, uuid, label, softwareProfile, compositeDevice, execpa self._props["BogoMipsCapacity"] = 100000000 self._props["nicCapacity"] = 100.0 self._props["fakeCapacity"] = 3 - self._props["execparams"] = " ".join(["%s %s" % x for x in execparams.items()]) + self._props["execparams"] = " ".join(["%s %s" % x for x in list(execparams.items())]) def initialize(self): # change the no_default_prop to be not None to ensure that the device manager diff --git a/redhawk/src/testing/sdr/dev/devices/BasicTestDevice/BasicTestDeviceProps.py b/redhawk/src/testing/sdr/dev/devices/BasicTestDevice/BasicTestDeviceProps.py index f8301f10c..71b536640 100644 --- a/redhawk/src/testing/sdr/dev/devices/BasicTestDevice/BasicTestDeviceProps.py +++ b/redhawk/src/testing/sdr/dev/devices/BasicTestDevice/BasicTestDeviceProps.py @@ -27,254 +27,254 @@ PROPERTIES = ( ( - u'DCE:6b298d70-6735-43f2-944d-06f754cd4eb9', # ID - u'no_default_prop', # NAME - u'string', # TYPE - u'readwrite', # MODE + 'DCE:6b298d70-6735-43f2-944d-06f754cd4eb9', # ID + 'no_default_prop', # NAME + 'string', # TYPE + 'readwrite', # MODE None, # DEFAULT None, # UNITS 'external', # ACTION - (u'configure',), # KINDS + ('configure',), # KINDS ), ( - u'hex_prop', # ID - u'hex_prop', # NAME - u'short', # TYPE - u'readwrite', # MODE + 'hex_prop', # ID + 'hex_prop', # NAME + 'short', # TYPE + 'readwrite', # MODE 0x01, # DEFAULT None, # UNITS 'external', # ACTION - (u'configure',), # KINDS + ('configure',), # KINDS ), ( - u'DCE:456310b2-7d2f-40f5-bfef-9fdf4f3560ea', # ID - u'default_prop', # NAME - u'string', # TYPE - u'readwrite', # MODE + 'DCE:456310b2-7d2f-40f5-bfef-9fdf4f3560ea', # ID + 'default_prop', # NAME + 'string', # TYPE + 'readwrite', # MODE 'default', # DEFAULT None, # UNITS 'external', # ACTION - (u'configure',), # KINDS + ('configure',), # KINDS ), ( - u'modified_default', # ID - u'modified_default', # NAME - u'string', # TYPE - u'readwrite', # MODE + 'modified_default', # ID + 'modified_default', # NAME + 'string', # TYPE + 'readwrite', # MODE None, # DEFAULT None, # UNITS 'external', # ACTION - (u'configure',), # KINDS + ('configure',), # KINDS ), ( - u'DCE:4a23ad60-0b25-4121-a630-68803a498f75', # ID - u'os_name', # NAME - u'string', # TYPE - u'readonly', # MODE + 'DCE:4a23ad60-0b25-4121-a630-68803a498f75', # ID + 'os_name', # NAME + 'string', # TYPE + 'readonly', # MODE 'Linux', # DEFAULT None, # UNITS - u'eq', # ACTION - (u'allocation',), # KINDS + 'eq', # ACTION + ('allocation',), # KINDS ), ( - u'writeonly_configure', # ID - u'writeonly_configure', # NAME - u'float', # TYPE - u'writeonly', # MODE + 'writeonly_configure', # ID + 'writeonly_configure', # NAME + 'float', # TYPE + 'writeonly', # MODE None, # DEFAULT None, # UNITS 'external', # ACTION - (u'configure',), # KINDS + ('configure',), # KINDS ), ( - u'writeonly_allocation', # ID - u'writeonly_allocation', # NAME - u'float', # TYPE - u'writeonly', # MODE + 'writeonly_allocation', # ID + 'writeonly_allocation', # NAME + 'float', # TYPE + 'writeonly', # MODE None, # DEFAULT None, # UNITS 'external', # ACTION - (u'allocation',), # KINDS + ('allocation',), # KINDS ), ( - u'DCE:fefb9c66-d14a-438d-ad59-2cfd1adb272b', # ID - u'processor_name', # NAME - u'string', # TYPE - u'readonly', # MODE + 'DCE:fefb9c66-d14a-438d-ad59-2cfd1adb272b', # ID + 'processor_name', # NAME + 'string', # TYPE + 'readonly', # MODE 'x86', # DEFAULT None, # UNITS - u'eq', # ACTION - (u'allocation',), # KINDS + 'eq', # ACTION + ('allocation',), # KINDS ), ( - u'DCE:7f36cdfb-f828-4e4f-b84f-446e17f1a85b', # ID - u'DeviceKind', # NAME - u'string', # TYPE - u'readonly', # MODE + 'DCE:7f36cdfb-f828-4e4f-b84f-446e17f1a85b', # ID + 'DeviceKind', # NAME + 'string', # TYPE + 'readonly', # MODE 'BasicTestDevice', # DEFAULT None, # UNITS - u'eq', # ACTION - (u'allocation',), # KINDS + 'eq', # ACTION + ('allocation',), # KINDS ), ( - u'DCE:64303822-4c67-4c04-9a5c-bf670f27cf39', # ID - u'RunsAs', # NAME - u'string', # TYPE - u'readonly', # MODE + 'DCE:64303822-4c67-4c04-9a5c-bf670f27cf39', # ID + 'RunsAs', # NAME + 'string', # TYPE + 'readonly', # MODE 'root', # DEFAULT None, # UNITS - u'ne', # ACTION - (u'allocation',), # KINDS + 'ne', # ACTION + ('allocation',), # KINDS ), ( - u'DCE:021f10cf-7a05-46ec-a507-04b513b84bd4', # ID - u'HasXMIDAS', # NAME - u'boolean', # TYPE - u'readonly', # MODE + 'DCE:021f10cf-7a05-46ec-a507-04b513b84bd4', # ID + 'HasXMIDAS', # NAME + 'boolean', # TYPE + 'readonly', # MODE True, # DEFAULT None, # UNITS - u'eq', # ACTION - (u'allocation',), # KINDS + 'eq', # ACTION + ('allocation',), # KINDS ), ( - u'DCE:ac73446e-f935-40b6-8b8d-4d9adb6b403f', # ID - u'ProvidedCpuCores', # NAME - u'short', # TYPE - u'readonly', # MODE + 'DCE:ac73446e-f935-40b6-8b8d-4d9adb6b403f', # ID + 'ProvidedCpuCores', # NAME + 'short', # TYPE + 'readonly', # MODE 8, # DEFAULT None, # UNITS - u'ge', # ACTION - (u'allocation',), # KINDS + 'ge', # ACTION + ('allocation',), # KINDS ), ( - u'DCE:dd339b67-b387-4018-94d2-9a72955d85b9', # ID - u'CoresClockRateGHz', # NAME - u'float', # TYPE - u'readonly', # MODE + 'DCE:dd339b67-b387-4018-94d2-9a72955d85b9', # ID + 'CoresClockRateGHz', # NAME + 'float', # TYPE + 'readonly', # MODE 3.0, # DEFAULT None, # UNITS - u'le', # ACTION - (u'allocation',), # KINDS + 'le', # ACTION + ('allocation',), # KINDS ), ( - u'DCE:8dcef419-b440-4bcf-b893-cab79b6024fb', # ID - u'memCapacity', # NAME - u'long', # TYPE - u'readonly', # MODE + 'DCE:8dcef419-b440-4bcf-b893-cab79b6024fb', # ID + 'memCapacity', # NAME + 'long', # TYPE + 'readonly', # MODE None, # DEFAULT None, # UNITS 'external', # ACTION - (u'allocation',), # KINDS + ('allocation',), # KINDS ), ( - u'DCE:4f9a57fc-8fb3-47f6-b779-3c2692f52cf9', # ID - u'nicCapacity', # NAME - u'float', # TYPE - u'readonly', # MODE + 'DCE:4f9a57fc-8fb3-47f6-b779-3c2692f52cf9', # ID + 'nicCapacity', # NAME + 'float', # TYPE + 'readonly', # MODE None, # DEFAULT None, # UNITS 'external', # ACTION - (u'allocation',), # KINDS + ('allocation',), # KINDS ), ( - u'DCE:5636c210-0346-4df7-a5a3-8fd34c5540a8', # ID - u'BogoMipsCapacity', # NAME - u'long', # TYPE - u'readonly', # MODE + 'DCE:5636c210-0346-4df7-a5a3-8fd34c5540a8', # ID + 'BogoMipsCapacity', # NAME + 'long', # TYPE + 'readonly', # MODE None, # DEFAULT None, # UNITS 'external', # ACTION - (u'allocation',), # KINDS + ('allocation',), # KINDS ), ( - u'DCE:0cfccc59-7853-4b19-9110-29dccc443374', # ID - u'fakeCapacity', # NAME - u'short', # TYPE - u'readonly', # MODE + 'DCE:0cfccc59-7853-4b19-9110-29dccc443374', # ID + 'fakeCapacity', # NAME + 'short', # TYPE + 'readonly', # MODE None, # DEFAULT None, # UNITS 'external', # ACTION - (u'allocation',), # KINDS + ('allocation',), # KINDS ), ( - u'DCE:c03e148f-e9f9-4d70-aa00-6e23d33fa648', # ID - u'SomeConfigFileLocation', # NAME - u'string', # TYPE - u'readwrite', # MODE + 'DCE:c03e148f-e9f9-4d70-aa00-6e23d33fa648', # ID + 'SomeConfigFileLocation', # NAME + 'string', # TYPE + 'readwrite', # MODE 'notyourfile', # DEFAULT None, # UNITS 'external', # ACTION - (u'execparam',), # KINDS + ('execparam',), # KINDS ), ( - u'DCE:dc4289a8-bb98-435b-b914-305ffaa7594f', # ID - u'ImplementationSpecificProperty', # NAME - u'string', # TYPE - u'readwrite', # MODE + 'DCE:dc4289a8-bb98-435b-b914-305ffaa7594f', # ID + 'ImplementationSpecificProperty', # NAME + 'string', # TYPE + 'readwrite', # MODE 'DefaultValueNoGood', # DEFAULT None, # UNITS 'external', # ACTION - (u'execparam',), # KINDS + ('execparam',), # KINDS ), ( - u'DCE:6f5881b3-433e-434b-8204-d39c89ff4be2', # ID - u'ReadOnlyProperty', # NAME - u'string', # TYPE - u'readonly', # MODE + 'DCE:6f5881b3-433e-434b-8204-d39c89ff4be2', # ID + 'ReadOnlyProperty', # NAME + 'string', # TYPE + 'readonly', # MODE 'DefaultValueGood', # DEFAULT None, # UNITS 'external', # ACTION - (u'execparam',), # KINDS + ('execparam',), # KINDS ), ( - u'DCE:716ea1c4-059a-4b18-8b66-74804bd8d435', # ID - u'ImplementationSpecificProperty2', # NAME - u'string', # TYPE - u'readwrite', # MODE + 'DCE:716ea1c4-059a-4b18-8b66-74804bd8d435', # ID + 'ImplementationSpecificProperty2', # NAME + 'string', # TYPE + 'readwrite', # MODE None, # DEFAULT None, # UNITS 'external', # ACTION - (u'execparam',), # KINDS + ('execparam',), # KINDS ), ( - u'DCE:f6fb9770-cfd9-4e14-a337-2234f7f3317b', # ID - u'ImplementationSpecificAllocationProp', # NAME - u'string', # TYPE - u'readwrite', # MODE + 'DCE:f6fb9770-cfd9-4e14-a337-2234f7f3317b', # ID + 'ImplementationSpecificAllocationProp', # NAME + 'string', # TYPE + 'readwrite', # MODE None, # DEFAULT None, # UNITS - u'eq', # ACTION - (u'allocation',), # KINDS + 'eq', # ACTION + ('allocation',), # KINDS ), ( - u'check_STACK_SIZE', # ID - u'check STACK SIZE', # NAME - u'ulong', # TYPE - u'readwrite', # MODE + 'check_STACK_SIZE', # ID + 'check STACK SIZE', # NAME + 'ulong', # TYPE + 'readwrite', # MODE None, # DEFAULT None, # UNITS - u'external', # ACTION - (u'configure',), # KINDS + 'external', # ACTION + ('configure',), # KINDS ), ( - u'check_PRIORITY', # ID - u'check PRIORITY', # NAME - u'ulong', # TYPE - u'readwrite', # MODE + 'check_PRIORITY', # ID + 'check PRIORITY', # NAME + 'ulong', # TYPE + 'readwrite', # MODE None, # DEFAULT None, # UNITS - u'external', # ACTION - (u'configure',), # KINDS + 'external', # ACTION + ('configure',), # KINDS ), ( - u'DCE:85d133fd-1658-4e4d-b3ff-1443cd44c0e2', # ID - u'execparams', # NAME - u'string', # TYPE - u'readonly', # MODE + 'DCE:85d133fd-1658-4e4d-b3ff-1443cd44c0e2', # ID + 'execparams', # NAME + 'string', # TYPE + 'readonly', # MODE None, # DEFAULT None, # UNITS 'external', # ACTION - (u'configure',), # KINDS + ('configure',), # KINDS ), ) diff --git a/redhawk/src/testing/sdr/dev/devices/BasicTestDeviceMatchOverride/BasicTestDevice.py b/redhawk/src/testing/sdr/dev/devices/BasicTestDeviceMatchOverride/BasicTestDevice.py index d59ef2309..807d71d13 100755 --- a/redhawk/src/testing/sdr/dev/devices/BasicTestDeviceMatchOverride/BasicTestDevice.py +++ b/redhawk/src/testing/sdr/dev/devices/BasicTestDeviceMatchOverride/BasicTestDevice.py @@ -25,7 +25,7 @@ from ossie.properties import simple_property, simpleseq_property, struct_property, structseq_property import os, sys, stat from omniORB import URI, any -import commands, copy, time, signal, pprint, subprocess +import subprocess, copy, time, signal, pprint, subprocess import logging import signal import shutil @@ -41,7 +41,7 @@ def __init__(self, devmgr, uuid, label, softwareProfile, compositeDevice, execpa self._props["BogoMipsCapacity"] = 100000000 self._props["nicCapacity"] = 100.0 self._props["fakeCapacity"] = 3 - self._props["execparams"] = " ".join(["%s %s" % x for x in execparams.items()]) + self._props["execparams"] = " ".join(["%s %s" % x for x in list(execparams.items())]) def initialize(self): # change the no_default_prop to be not None to ensure that the device manager diff --git a/redhawk/src/testing/sdr/dev/devices/BasicTestDeviceMatchOverride/BasicTestDeviceProps.py b/redhawk/src/testing/sdr/dev/devices/BasicTestDeviceMatchOverride/BasicTestDeviceProps.py index 7598ddf17..1aaa967c0 100644 --- a/redhawk/src/testing/sdr/dev/devices/BasicTestDeviceMatchOverride/BasicTestDeviceProps.py +++ b/redhawk/src/testing/sdr/dev/devices/BasicTestDeviceMatchOverride/BasicTestDeviceProps.py @@ -27,254 +27,254 @@ PROPERTIES = ( ( - u'DCE:6b298d70-6735-43f2-944d-06f754cd4eb9', # ID - u'no_default_prop', # NAME - u'string', # TYPE - u'readwrite', # MODE + 'DCE:6b298d70-6735-43f2-944d-06f754cd4eb9', # ID + 'no_default_prop', # NAME + 'string', # TYPE + 'readwrite', # MODE None, # DEFAULT None, # UNITS 'external', # ACTION - (u'configure',), # KINDS + ('configure',), # KINDS ), ( - u'hex_prop', # ID - u'hex_prop', # NAME - u'short', # TYPE - u'readwrite', # MODE + 'hex_prop', # ID + 'hex_prop', # NAME + 'short', # TYPE + 'readwrite', # MODE 0x01, # DEFAULT None, # UNITS 'external', # ACTION - (u'configure',), # KINDS + ('configure',), # KINDS ), ( - u'DCE:456310b2-7d2f-40f5-bfef-9fdf4f3560ea', # ID - u'default_prop', # NAME - u'string', # TYPE - u'readwrite', # MODE + 'DCE:456310b2-7d2f-40f5-bfef-9fdf4f3560ea', # ID + 'default_prop', # NAME + 'string', # TYPE + 'readwrite', # MODE 'default', # DEFAULT None, # UNITS 'external', # ACTION - (u'configure',), # KINDS + ('configure',), # KINDS ), ( - u'modified_default', # ID - u'modified_default', # NAME - u'string', # TYPE - u'readwrite', # MODE + 'modified_default', # ID + 'modified_default', # NAME + 'string', # TYPE + 'readwrite', # MODE None, # DEFAULT None, # UNITS 'external', # ACTION - (u'configure',), # KINDS + ('configure',), # KINDS ), ( - u'DCE:4a23ad60-0b25-4121-a630-68803a498f75', # ID - u'os_name', # NAME - u'string', # TYPE - u'readonly', # MODE + 'DCE:4a23ad60-0b25-4121-a630-68803a498f75', # ID + 'os_name', # NAME + 'string', # TYPE + 'readonly', # MODE 'Linux', # DEFAULT None, # UNITS - u'eq', # ACTION - (u'allocation',), # KINDS + 'eq', # ACTION + ('allocation',), # KINDS ), ( - u'writeonly_configure', # ID - u'writeonly_configure', # NAME - u'float', # TYPE - u'writeonly', # MODE + 'writeonly_configure', # ID + 'writeonly_configure', # NAME + 'float', # TYPE + 'writeonly', # MODE None, # DEFAULT None, # UNITS 'external', # ACTION - (u'configure',), # KINDS + ('configure',), # KINDS ), ( - u'writeonly_allocation', # ID - u'writeonly_allocation', # NAME - u'float', # TYPE - u'writeonly', # MODE + 'writeonly_allocation', # ID + 'writeonly_allocation', # NAME + 'float', # TYPE + 'writeonly', # MODE None, # DEFAULT None, # UNITS 'external', # ACTION - (u'allocation',), # KINDS + ('allocation',), # KINDS ), ( - u'DCE:fefb9c66-d14a-438d-ad59-2cfd1adb272b', # ID - u'processor_name', # NAME - u'string', # TYPE - u'readonly', # MODE + 'DCE:fefb9c66-d14a-438d-ad59-2cfd1adb272b', # ID + 'processor_name', # NAME + 'string', # TYPE + 'readonly', # MODE 'x86', # DEFAULT None, # UNITS - u'eq', # ACTION - (u'allocation',), # KINDS + 'eq', # ACTION + ('allocation',), # KINDS ), ( - u'DCE:7f36cdfb-f828-4e4f-b84f-446e17f1a85b', # ID - u'DeviceKind', # NAME - u'string', # TYPE - u'readwrite', # MODE + 'DCE:7f36cdfb-f828-4e4f-b84f-446e17f1a85b', # ID + 'DeviceKind', # NAME + 'string', # TYPE + 'readwrite', # MODE 'BasicTestDevice', # DEFAULT None, # UNITS - u'eq', # ACTION - (u'allocation',), # KINDS + 'eq', # ACTION + ('allocation',), # KINDS ), ( - u'DCE:64303822-4c67-4c04-9a5c-bf670f27cf39', # ID - u'RunsAs', # NAME - u'string', # TYPE - u'readonly', # MODE + 'DCE:64303822-4c67-4c04-9a5c-bf670f27cf39', # ID + 'RunsAs', # NAME + 'string', # TYPE + 'readonly', # MODE 'root', # DEFAULT None, # UNITS - u'ne', # ACTION - (u'allocation',), # KINDS + 'ne', # ACTION + ('allocation',), # KINDS ), ( - u'DCE:021f10cf-7a05-46ec-a507-04b513b84bd4', # ID - u'HasXMIDAS', # NAME - u'boolean', # TYPE - u'readonly', # MODE + 'DCE:021f10cf-7a05-46ec-a507-04b513b84bd4', # ID + 'HasXMIDAS', # NAME + 'boolean', # TYPE + 'readonly', # MODE True, # DEFAULT None, # UNITS - u'eq', # ACTION - (u'allocation',), # KINDS + 'eq', # ACTION + ('allocation',), # KINDS ), ( - u'DCE:ac73446e-f935-40b6-8b8d-4d9adb6b403f', # ID - u'ProvidedCpuCores', # NAME - u'short', # TYPE - u'readonly', # MODE + 'DCE:ac73446e-f935-40b6-8b8d-4d9adb6b403f', # ID + 'ProvidedCpuCores', # NAME + 'short', # TYPE + 'readonly', # MODE 8, # DEFAULT None, # UNITS - u'ge', # ACTION - (u'allocation',), # KINDS + 'ge', # ACTION + ('allocation',), # KINDS ), ( - u'DCE:dd339b67-b387-4018-94d2-9a72955d85b9', # ID - u'CoresClockRateGHz', # NAME - u'float', # TYPE - u'readonly', # MODE + 'DCE:dd339b67-b387-4018-94d2-9a72955d85b9', # ID + 'CoresClockRateGHz', # NAME + 'float', # TYPE + 'readonly', # MODE 3.0, # DEFAULT None, # UNITS - u'le', # ACTION - (u'allocation',), # KINDS + 'le', # ACTION + ('allocation',), # KINDS ), ( - u'DCE:8dcef419-b440-4bcf-b893-cab79b6024fb', # ID - u'memCapacity', # NAME - u'long', # TYPE - u'readonly', # MODE + 'DCE:8dcef419-b440-4bcf-b893-cab79b6024fb', # ID + 'memCapacity', # NAME + 'long', # TYPE + 'readonly', # MODE None, # DEFAULT None, # UNITS 'external', # ACTION - (u'allocation',), # KINDS + ('allocation',), # KINDS ), ( - u'DCE:4f9a57fc-8fb3-47f6-b779-3c2692f52cf9', # ID - u'nicCapacity', # NAME - u'float', # TYPE - u'readonly', # MODE + 'DCE:4f9a57fc-8fb3-47f6-b779-3c2692f52cf9', # ID + 'nicCapacity', # NAME + 'float', # TYPE + 'readonly', # MODE None, # DEFAULT None, # UNITS 'external', # ACTION - (u'allocation',), # KINDS + ('allocation',), # KINDS ), ( - u'DCE:5636c210-0346-4df7-a5a3-8fd34c5540a8', # ID - u'BogoMipsCapacity', # NAME - u'long', # TYPE - u'readonly', # MODE + 'DCE:5636c210-0346-4df7-a5a3-8fd34c5540a8', # ID + 'BogoMipsCapacity', # NAME + 'long', # TYPE + 'readonly', # MODE None, # DEFAULT None, # UNITS 'external', # ACTION - (u'allocation',), # KINDS + ('allocation',), # KINDS ), ( - u'DCE:0cfccc59-7853-4b19-9110-29dccc443374', # ID - u'fakeCapacity', # NAME - u'short', # TYPE - u'readonly', # MODE + 'DCE:0cfccc59-7853-4b19-9110-29dccc443374', # ID + 'fakeCapacity', # NAME + 'short', # TYPE + 'readonly', # MODE None, # DEFAULT None, # UNITS 'external', # ACTION - (u'allocation',), # KINDS + ('allocation',), # KINDS ), ( - u'DCE:c03e148f-e9f9-4d70-aa00-6e23d33fa648', # ID - u'SomeConfigFileLocation', # NAME - u'string', # TYPE - u'readwrite', # MODE + 'DCE:c03e148f-e9f9-4d70-aa00-6e23d33fa648', # ID + 'SomeConfigFileLocation', # NAME + 'string', # TYPE + 'readwrite', # MODE 'notyourfile', # DEFAULT None, # UNITS 'external', # ACTION - (u'execparam',), # KINDS + ('execparam',), # KINDS ), ( - u'DCE:dc4289a8-bb98-435b-b914-305ffaa7594f', # ID - u'ImplementationSpecificProperty', # NAME - u'string', # TYPE - u'readwrite', # MODE + 'DCE:dc4289a8-bb98-435b-b914-305ffaa7594f', # ID + 'ImplementationSpecificProperty', # NAME + 'string', # TYPE + 'readwrite', # MODE 'DefaultValueNoGood', # DEFAULT None, # UNITS 'external', # ACTION - (u'execparam',), # KINDS + ('execparam',), # KINDS ), ( - u'DCE:6f5881b3-433e-434b-8204-d39c89ff4be2', # ID - u'ReadOnlyProperty', # NAME - u'string', # TYPE - u'readonly', # MODE + 'DCE:6f5881b3-433e-434b-8204-d39c89ff4be2', # ID + 'ReadOnlyProperty', # NAME + 'string', # TYPE + 'readonly', # MODE 'DefaultValueGood', # DEFAULT None, # UNITS 'external', # ACTION - (u'execparam',), # KINDS + ('execparam',), # KINDS ), ( - u'DCE:716ea1c4-059a-4b18-8b66-74804bd8d435', # ID - u'ImplementationSpecificProperty2', # NAME - u'string', # TYPE - u'readwrite', # MODE + 'DCE:716ea1c4-059a-4b18-8b66-74804bd8d435', # ID + 'ImplementationSpecificProperty2', # NAME + 'string', # TYPE + 'readwrite', # MODE None, # DEFAULT None, # UNITS 'external', # ACTION - (u'execparam',), # KINDS + ('execparam',), # KINDS ), ( - u'DCE:f6fb9770-cfd9-4e14-a337-2234f7f3317b', # ID - u'ImplementationSpecificAllocationProp', # NAME - u'string', # TYPE - u'readwrite', # MODE + 'DCE:f6fb9770-cfd9-4e14-a337-2234f7f3317b', # ID + 'ImplementationSpecificAllocationProp', # NAME + 'string', # TYPE + 'readwrite', # MODE None, # DEFAULT None, # UNITS - u'eq', # ACTION - (u'allocation',), # KINDS + 'eq', # ACTION + ('allocation',), # KINDS ), ( - u'check_STACK_SIZE', # ID - u'check STACK SIZE', # NAME - u'ulong', # TYPE - u'readwrite', # MODE + 'check_STACK_SIZE', # ID + 'check STACK SIZE', # NAME + 'ulong', # TYPE + 'readwrite', # MODE None, # DEFAULT None, # UNITS - u'external', # ACTION - (u'configure',), # KINDS + 'external', # ACTION + ('configure',), # KINDS ), ( - u'check_PRIORITY', # ID - u'check PRIORITY', # NAME - u'ulong', # TYPE - u'readwrite', # MODE + 'check_PRIORITY', # ID + 'check PRIORITY', # NAME + 'ulong', # TYPE + 'readwrite', # MODE None, # DEFAULT None, # UNITS - u'external', # ACTION - (u'configure',), # KINDS + 'external', # ACTION + ('configure',), # KINDS ), ( - u'DCE:85d133fd-1658-4e4d-b3ff-1443cd44c0e2', # ID - u'execparams', # NAME - u'string', # TYPE - u'readonly', # MODE + 'DCE:85d133fd-1658-4e4d-b3ff-1443cd44c0e2', # ID + 'execparams', # NAME + 'string', # TYPE + 'readonly', # MODE None, # DEFAULT None, # UNITS 'external', # ACTION - (u'configure',), # KINDS + ('configure',), # KINDS ), ) diff --git a/redhawk/src/testing/sdr/dev/devices/BasicTestDeviceNoAllocDeps/BasicTestDevice.py b/redhawk/src/testing/sdr/dev/devices/BasicTestDeviceNoAllocDeps/BasicTestDevice.py index 660ac9fc9..657bc234c 100755 --- a/redhawk/src/testing/sdr/dev/devices/BasicTestDeviceNoAllocDeps/BasicTestDevice.py +++ b/redhawk/src/testing/sdr/dev/devices/BasicTestDeviceNoAllocDeps/BasicTestDevice.py @@ -24,7 +24,7 @@ from ossie.device import ExecutableDevice, AggregateDevice, start_device import os, sys, stat from omniORB import URI, any -import commands, copy, time, signal, pprint, subprocess +import subprocess, copy, time, signal, pprint, subprocess import logging import signal import shutil diff --git a/redhawk/src/testing/sdr/dev/devices/BasicTestDeviceNoAllocDeps/BasicTestDeviceProps.py b/redhawk/src/testing/sdr/dev/devices/BasicTestDeviceNoAllocDeps/BasicTestDeviceProps.py index e77b9a5ca..3302b5574 100644 --- a/redhawk/src/testing/sdr/dev/devices/BasicTestDeviceNoAllocDeps/BasicTestDeviceProps.py +++ b/redhawk/src/testing/sdr/dev/devices/BasicTestDeviceNoAllocDeps/BasicTestDeviceProps.py @@ -27,24 +27,24 @@ PROPERTIES = ( ( - u'DCE:6b298d70-6735-43f2-944d-06f754cd4eb9', # ID - u'no_default_prop', # NAME - u'string', # TYPE - u'readwrite', # MODE + 'DCE:6b298d70-6735-43f2-944d-06f754cd4eb9', # ID + 'no_default_prop', # NAME + 'string', # TYPE + 'readwrite', # MODE None, # DEFAULT None, # UNITS 'external', # ACTION - (u'configure',), # KINDS + ('configure',), # KINDS ), ( - u'DCE:456310b2-7d2f-40f5-bfef-9fdf4f3560ea', # ID - u'default_prop', # NAME - u'string', # TYPE - u'readwrite', # MODE + 'DCE:456310b2-7d2f-40f5-bfef-9fdf4f3560ea', # ID + 'default_prop', # NAME + 'string', # TYPE + 'readwrite', # MODE 'default', # DEFAULT None, # UNITS 'external', # ACTION - (u'configure',), # KINDS + ('configure',), # KINDS ), ) diff --git a/redhawk/src/testing/sdr/dev/devices/BasicTestDeviceWithAbsPaths/BasicTestDevice.py b/redhawk/src/testing/sdr/dev/devices/BasicTestDeviceWithAbsPaths/BasicTestDevice.py index 2cbb987dc..2a976cac2 100755 --- a/redhawk/src/testing/sdr/dev/devices/BasicTestDeviceWithAbsPaths/BasicTestDevice.py +++ b/redhawk/src/testing/sdr/dev/devices/BasicTestDeviceWithAbsPaths/BasicTestDevice.py @@ -24,7 +24,7 @@ from ossie.device import ExecutableDevice, AggregateDevice, start_device import os, sys, stat from omniORB import URI, any -import commands, copy, time, signal, pprint, subprocess +import subprocess, copy, time, signal, pprint, subprocess import logging import signal import shutil diff --git a/redhawk/src/testing/sdr/dev/devices/BasicTestDeviceWithAbsPaths/BasicTestDeviceProps.py b/redhawk/src/testing/sdr/dev/devices/BasicTestDeviceWithAbsPaths/BasicTestDeviceProps.py index aa00c6c1a..728a04d9f 100644 --- a/redhawk/src/testing/sdr/dev/devices/BasicTestDeviceWithAbsPaths/BasicTestDeviceProps.py +++ b/redhawk/src/testing/sdr/dev/devices/BasicTestDeviceWithAbsPaths/BasicTestDeviceProps.py @@ -27,144 +27,144 @@ PROPERTIES = ( ( - u'DCE:6b298d70-6735-43f2-944d-06f754cd4eb9', # ID - u'no_default_prop', # NAME - u'string', # TYPE - u'readwrite', # MODE + 'DCE:6b298d70-6735-43f2-944d-06f754cd4eb9', # ID + 'no_default_prop', # NAME + 'string', # TYPE + 'readwrite', # MODE None, # DEFAULT None, # UNITS 'external', # ACTION - (u'configure',), # KINDS + ('configure',), # KINDS ), ( - u'DCE:456310b2-7d2f-40f5-bfef-9fdf4f3560ea', # ID - u'default_prop', # NAME - u'string', # TYPE - u'readwrite', # MODE + 'DCE:456310b2-7d2f-40f5-bfef-9fdf4f3560ea', # ID + 'default_prop', # NAME + 'string', # TYPE + 'readwrite', # MODE 'default', # DEFAULT None, # UNITS 'external', # ACTION - (u'configure',), # KINDS + ('configure',), # KINDS ), ( - u'DCE:4a23ad60-0b25-4121-a630-68803a498f75', # ID - u'os_name', # NAME - u'string', # TYPE - u'readonly', # MODE + 'DCE:4a23ad60-0b25-4121-a630-68803a498f75', # ID + 'os_name', # NAME + 'string', # TYPE + 'readonly', # MODE 'Linux', # DEFAULT None, # UNITS - u'eq', # ACTION - (u'allocation',), # KINDS + 'eq', # ACTION + ('allocation',), # KINDS ), ( - u'DCE:fefb9c66-d14a-438d-ad59-2cfd1adb272b', # ID - u'processor_name', # NAME - u'string', # TYPE - u'readonly', # MODE + 'DCE:fefb9c66-d14a-438d-ad59-2cfd1adb272b', # ID + 'processor_name', # NAME + 'string', # TYPE + 'readonly', # MODE 'x86', # DEFAULT None, # UNITS - u'eq', # ACTION - (u'allocation',), # KINDS + 'eq', # ACTION + ('allocation',), # KINDS ), ( - u'DCE:7f36cdfb-f828-4e4f-b84f-446e17f1a85b', # ID - u'DeviceKind', # NAME - u'string', # TYPE - u'readonly', # MODE + 'DCE:7f36cdfb-f828-4e4f-b84f-446e17f1a85b', # ID + 'DeviceKind', # NAME + 'string', # TYPE + 'readonly', # MODE 'BasicTestDevice', # DEFAULT None, # UNITS - u'eq', # ACTION - (u'allocation',), # KINDS + 'eq', # ACTION + ('allocation',), # KINDS ), ( - u'DCE:64303822-4c67-4c04-9a5c-bf670f27cf39', # ID - u'RunsAs', # NAME - u'string', # TYPE - u'readonly', # MODE + 'DCE:64303822-4c67-4c04-9a5c-bf670f27cf39', # ID + 'RunsAs', # NAME + 'string', # TYPE + 'readonly', # MODE 'root', # DEFAULT None, # UNITS - u'ne', # ACTION - (u'allocation',), # KINDS + 'ne', # ACTION + ('allocation',), # KINDS ), ( - u'DCE:021f10cf-7a05-46ec-a507-04b513b84bd4', # ID - u'HasXMIDAS', # NAME - u'boolean', # TYPE - u'readonly', # MODE + 'DCE:021f10cf-7a05-46ec-a507-04b513b84bd4', # ID + 'HasXMIDAS', # NAME + 'boolean', # TYPE + 'readonly', # MODE True, # DEFAULT None, # UNITS - u'eq', # ACTION - (u'allocation',), # KINDS + 'eq', # ACTION + ('allocation',), # KINDS ), ( - u'DCE:ac73446e-f935-40b6-8b8d-4d9adb6b403f', # ID - u'ProvidedCpuCores', # NAME - u'short', # TYPE - u'readonly', # MODE + 'DCE:ac73446e-f935-40b6-8b8d-4d9adb6b403f', # ID + 'ProvidedCpuCores', # NAME + 'short', # TYPE + 'readonly', # MODE 8, # DEFAULT None, # UNITS - u'ge', # ACTION - (u'allocation',), # KINDS + 'ge', # ACTION + ('allocation',), # KINDS ), ( - u'DCE:dd339b67-b387-4018-94d2-9a72955d85b9', # ID - u'CoresClockRateGHz', # NAME - u'float', # TYPE - u'readonly', # MODE + 'DCE:dd339b67-b387-4018-94d2-9a72955d85b9', # ID + 'CoresClockRateGHz', # NAME + 'float', # TYPE + 'readonly', # MODE 3.0, # DEFAULT None, # UNITS - u'le', # ACTION - (u'allocation',), # KINDS + 'le', # ACTION + ('allocation',), # KINDS ), ( - u'DCE:8dcef419-b440-4bcf-b893-cab79b6024fb', # ID - u'memCapacity', # NAME - u'long', # TYPE - u'readonly', # MODE + 'DCE:8dcef419-b440-4bcf-b893-cab79b6024fb', # ID + 'memCapacity', # NAME + 'long', # TYPE + 'readonly', # MODE None, # DEFAULT None, # UNITS 'external', # ACTION - (u'allocation',), # KINDS + ('allocation',), # KINDS ), ( - u'DCE:5636c210-0346-4df7-a5a3-8fd34c5540a8', # ID - u'BogoMipsCapacity', # NAME - u'long', # TYPE - u'readonly', # MODE + 'DCE:5636c210-0346-4df7-a5a3-8fd34c5540a8', # ID + 'BogoMipsCapacity', # NAME + 'long', # TYPE + 'readonly', # MODE None, # DEFAULT None, # UNITS 'external', # ACTION - (u'allocation',), # KINDS + ('allocation',), # KINDS ), ( - u'DCE:c03e148f-e9f9-4d70-aa00-6e23d33fa648', # ID - u'SomeConfigFileLocation', # NAME - u'string', # TYPE - u'readonly', # MODE + 'DCE:c03e148f-e9f9-4d70-aa00-6e23d33fa648', # ID + 'SomeConfigFileLocation', # NAME + 'string', # TYPE + 'readonly', # MODE 'notyourfile', # DEFAULT None, # UNITS 'external', # ACTION - (u'execparam',), # KINDS + ('execparam',), # KINDS ), ( - u'DCE:dc4289a8-bb98-435b-b914-305ffaa7594f', # ID - u'ImplementationSpecificProperty', # NAME - u'string', # TYPE - u'readonly', # MODE + 'DCE:dc4289a8-bb98-435b-b914-305ffaa7594f', # ID + 'ImplementationSpecificProperty', # NAME + 'string', # TYPE + 'readonly', # MODE 'DefaultValueNoGood', # DEFAULT None, # UNITS 'external', # ACTION - (u'execparam',), # KINDS + ('execparam',), # KINDS ), ( - u'DCE:716ea1c4-059a-4b18-8b66-74804bd8d435', # ID - u'ImplementationSpecificProperty2', # NAME - u'string', # TYPE - u'readonly', # MODE + 'DCE:716ea1c4-059a-4b18-8b66-74804bd8d435', # ID + 'ImplementationSpecificProperty2', # NAME + 'string', # TYPE + 'readonly', # MODE 'DefaultValueNoGood2', # DEFAULT None, # UNITS 'external', # ACTION - (u'execparam',), # KINDS + ('execparam',), # KINDS ), ) diff --git a/redhawk/src/testing/sdr/dev/devices/BasicTestDevice_java/tests/test_BasicTestDevice_java.py b/redhawk/src/testing/sdr/dev/devices/BasicTestDevice_java/tests/test_BasicTestDevice_java.py index be4667386..5f18b69cd 100644 --- a/redhawk/src/testing/sdr/dev/devices/BasicTestDevice_java/tests/test_BasicTestDevice_java.py +++ b/redhawk/src/testing/sdr/dev/devices/BasicTestDevice_java/tests/test_BasicTestDevice_java.py @@ -60,7 +60,7 @@ def testScaBasicBehavior(self): props = dict((x.id, any.from_any(x.value)) for x in props) # Query may return more than expected, but not less for expectedProp in expectedProps: - self.assertEquals(props.has_key(expectedProp.id), True) + self.assertEqual(expectedProp.id in props, True) ####################################################################### # Verify that all expected ports are available diff --git a/redhawk/src/testing/sdr/dev/devices/BasicTestDevice_python/BasicTestDevice_python_impl1/BasicTestDevice_python_impl1.py b/redhawk/src/testing/sdr/dev/devices/BasicTestDevice_python/BasicTestDevice_python_impl1/BasicTestDevice_python_impl1.py index a4db91a4e..b92159e0c 100755 --- a/redhawk/src/testing/sdr/dev/devices/BasicTestDevice_python/BasicTestDevice_python_impl1/BasicTestDevice_python_impl1.py +++ b/redhawk/src/testing/sdr/dev/devices/BasicTestDevice_python/BasicTestDevice_python_impl1/BasicTestDevice_python_impl1.py @@ -21,11 +21,11 @@ from ossie.cf import CF, CF__POA from ossie.device import ExecutableDevice, AggregateDevice,start_device -import commands, os, sys +import subprocess, os, sys import logging import WorkModule from BasicTestDevice_python_impl1Props import PROPERTIES -import Queue, copy, time, threading +import queue, copy, time, threading NOOP = -1 NORMAL = 0 @@ -96,7 +96,7 @@ def stop(self): def releaseObject(self): try: self.stop() - except Exception, e: + except Exception as e: if self._log != None : self._log.exception("Error stopping: ", e) ExecutableDevice.releaseObject(self) @@ -127,8 +127,8 @@ def allocate_memCapacity(self, value): self._props[self.__mem_id] = self.allocated_mem return True except: - print "\tAlloc Failed: Allocated Memory: %d" % self.allocated_mem - print "\tAlloc Failed: Current Memory Usage: %d" % self._props[self.__mem_id] + print("\tAlloc Failed: Allocated Memory: %d" % self.allocated_mem) + print("\tAlloc Failed: Current Memory Usage: %d" % self._props[self.__mem_id]) return False # overrides allocateCapacity for BogoMipsCapacity @@ -143,15 +143,15 @@ def allocate_BogoMipsCapacity(self, value): self._props[self.__bog_id] = self.allocated_bog return True except: - print "\tAlloc Failed: Allocated BogoMips: %d" % self.allocated_bog - print "\tAlloc Failed: Current BogoMips Usage: %d" % self._props[self.__bog_id] + print("\tAlloc Failed: Allocated BogoMips: %d" % self.allocated_bog) + print("\tAlloc Failed: Current BogoMips Usage: %d" % self._props[self.__bog_id]) return False def allocateCapacities(self, propDict): try: successfulAllocations = [] - keys = propDict.keys() + keys = list(propDict.keys()) if self.__mem_id in keys: val = propDict[self.__mem_id] success = self.allocate_memCapacity(val) @@ -186,8 +186,8 @@ def deallocate_memCapacity(self, value): self._props[self.__mem_id] = self.allocated_mem return True - except Exception, e: - print "\tGot an error while deallocationg Memory: %s" % str(e) + except Exception as e: + print("\tGot an error while deallocationg Memory: %s" % str(e)) return False # overrides allocateCapacity for BogoMipsCapacity @@ -201,8 +201,8 @@ def deallocate_BogoMipsCapacity(self, value): self.allocated_bog = tmp_val self._props[self.__bog_id] = self.allocated_bog return True - except Exception, e: - print "\tGot an error while deallocationg BogoMips: %s" % str(e) + except Exception as e: + print("\tGot an error while deallocationg BogoMips: %s" % str(e)) return False def updateUsageState(self): diff --git a/redhawk/src/testing/sdr/dev/devices/BasicTestDevice_python/BasicTestDevice_python_impl1/BasicTestDevice_python_impl1Props.py b/redhawk/src/testing/sdr/dev/devices/BasicTestDevice_python/BasicTestDevice_python_impl1/BasicTestDevice_python_impl1Props.py index a836e4f05..79a7165b9 100644 --- a/redhawk/src/testing/sdr/dev/devices/BasicTestDevice_python/BasicTestDevice_python_impl1/BasicTestDevice_python_impl1Props.py +++ b/redhawk/src/testing/sdr/dev/devices/BasicTestDevice_python/BasicTestDevice_python_impl1/BasicTestDevice_python_impl1Props.py @@ -29,38 +29,38 @@ PROPERTIES = ( ( # ID - u'DCE:7aeaace8-350e-48da-8d77-f97c2e722e06', + 'DCE:7aeaace8-350e-48da-8d77-f97c2e722e06', # NAME - u'memCapacity', + 'memCapacity', # TYPE - u'long', + 'long', # MODE - u'readonly', + 'readonly', # DEFAULT None, # UNITS 'bytes', # ACTION - u'external', + 'external', # KINDS - (u'allocation', ), + ('allocation', ), ), ( # ID - u'DCE:bbdf708f-ce05-469f-8aed-f5c93e353e14', + 'DCE:bbdf708f-ce05-469f-8aed-f5c93e353e14', # NAME - u'BogoMipsCapacity', + 'BogoMipsCapacity', # TYPE - u'long', + 'long', # MODE - u'readonly', + 'readonly', # DEFAULT None, # UNITS 'bytes', # ACTION - u'external', + 'external', # KINDS - (u'allocation', ), + ('allocation', ), ), ) \ No newline at end of file diff --git a/redhawk/src/testing/sdr/dev/devices/BasicTestDevice_python/BasicTestDevice_python_impl1/WorkModule.py b/redhawk/src/testing/sdr/dev/devices/BasicTestDevice_python/BasicTestDevice_python_impl1/WorkModule.py index 7f5c5cad2..c3346f7b9 100644 --- a/redhawk/src/testing/sdr/dev/devices/BasicTestDevice_python/BasicTestDevice_python_impl1/WorkModule.py +++ b/redhawk/src/testing/sdr/dev/devices/BasicTestDevice_python/BasicTestDevice_python_impl1/WorkModule.py @@ -19,7 +19,7 @@ # along with this program. If not, see http://www.gnu.org/licenses/. # -import Queue +import queue import threading import os, time @@ -33,7 +33,7 @@ def __init__(self, parent): self.parent = parent # Initialize variables for input data processing - self.data_queue = Queue.Queue() + self.data_queue = queue.Queue() self.empty_queue = False # variables for thread management @@ -82,7 +82,7 @@ def Reset(self, external_flag=True): try: while self.data_queue.get_nowait(): pass - except Queue.Empty: + except queue.Empty: pass # @@ -124,7 +124,7 @@ def Process(self): try: new_data = self.data_queue.get(timeout=self.timeout_check_period) new_data_flag = True - except Queue.Empty: + except queue.Empty: new_data_flag = False if new_data_flag: diff --git a/redhawk/src/testing/sdr/dev/devices/BasicUsesDevice/BasicUsesDevice.py b/redhawk/src/testing/sdr/dev/devices/BasicUsesDevice/BasicUsesDevice.py index bbdae99a6..5f3ad6c44 100755 --- a/redhawk/src/testing/sdr/dev/devices/BasicUsesDevice/BasicUsesDevice.py +++ b/redhawk/src/testing/sdr/dev/devices/BasicUsesDevice/BasicUsesDevice.py @@ -22,7 +22,7 @@ from ossie.cf import CF, CF__POA import os, sys, stat from omniORB import URI, any -import commands, copy, time, signal, pprint, subprocess +import subprocess, copy, time, signal, pprint, subprocess import logging import signal import shutil @@ -62,7 +62,7 @@ def connectPort(self, connection, connectionId): self.parent.props[getId("number_connections")] = CF.DataType(id=getId("number_connections"), value=any.to_any(number_connections+1)) def disconnectPort(self, connectionId): - if self.outPorts.has_key(str(connectionId)): + if str(connectionId) in self.outPorts: self.outPorts.pop(str(connectionId), None) number_connections = self.parent.props[getId("number_connections")].value._v self.parent.props[getId("number_connections")] = CF.DataType(id=getId("number_connections"), value=any.to_any(number_connections-1)) @@ -151,7 +151,7 @@ def releaseObject(self): def initializeProperties(self, ctorProperties): self._log.debug("BasicUsesDevice.initializeProperties(%s)", ctorProperties) for prop in ctorProperties: - if not self.props.has_key(prop.id): + if prop.id not in self.props: self.props[prop.id] = CF.DataType(id=prop.id, value=prop.value) else: self.props[prop.id].value = prop.value @@ -162,7 +162,7 @@ def query(self, configProperties): self._log.debug("BasicUsesDevice.query(%s)", configProperties) if configProperties == []: rv = [] - for key in self.props.keys(): + for key in list(self.props.keys()): val = self.props[key].value d = CF.DataType(id=key, value=val) rv.append(d) @@ -184,7 +184,7 @@ def query(self, configProperties): def configure(self, configProperties): self._log.debug("BasicUsesDevice.configure(%s)", configProperties) for prop in configProperties: - if not self.props.has_key(prop.id): + if prop.id not in self.props: self.props[prop.id] = CF.DataType(id=prop.id, value=prop.value) else: self.props[prop.id].value = prop.value @@ -220,8 +220,8 @@ def allocateCapacity(self, properties): # Consume for prop in properties: if prop.id == getId("bandwidthCapacity"): - print type(self.props[prop.id].value._v) - print type(prop.value._v) + print(type(self.props[prop.id].value._v)) + print(type(prop.value._v)) self.props[prop.id].value._v = self.props[prop.id].value._v - prop.value._v if self.props[prop.id].value._v < 0: result = False @@ -333,7 +333,7 @@ def exit_handler(signum, frame): label = args.pop(0) if uuid == None or label == None or softwareProfile == None: - print "Missing arguments to properly start the GPPpy device" + print("Missing arguments to properly start the GPPpy device") orb = None signal.signal(signal.SIGINT, exit_handler) diff --git a/redhawk/src/testing/sdr/dev/devices/EventPortTestDevice/EventPortTestDevice.py b/redhawk/src/testing/sdr/dev/devices/EventPortTestDevice/EventPortTestDevice.py index 996876dc3..88d7b04e3 100755 --- a/redhawk/src/testing/sdr/dev/devices/EventPortTestDevice/EventPortTestDevice.py +++ b/redhawk/src/testing/sdr/dev/devices/EventPortTestDevice/EventPortTestDevice.py @@ -23,7 +23,7 @@ from omniORB import URI, any, PortableServer, CORBA from ossie.cf import CF, CF__POA from ossie.device import ExecutableDevice, start_device -import commands, os, sys +import subprocess, os, sys import logging try: import CosEventComm,CosEventComm__POA @@ -64,7 +64,7 @@ def connectPort(self, connection, connectionId): self._connectSupplierToEventChannel(port) def disconnectPort(self, connectionId): - if self.outPorts.has_key(str(connectionId)): + if str(connectionId) in self.outPorts: self.outPorts.pop(str(connectionId), None) def sendEvent(self, eventData): @@ -87,7 +87,7 @@ def _connectSupplierToEventChannel(self, channel): self._supplier = Supplier_i() self._proxy_consumer.connect_push_supplier(self._supplier._this()) except: - print "Failed to connect to channel" + print("Failed to connect to channel") class consumerOut_i(CF__POA.Port): @@ -102,7 +102,7 @@ def connectPort(self, connection, connectionId): self._connectConsumerToEventChannel(port) def disconnectPort(self, connectionId): - if self.outPorts.has_key(str(connectionId)): + if str(connectionId) in self.outPorts: self.outPorts.pop(str(connectionId), None) def getIdentifiers(self): @@ -122,7 +122,7 @@ def _connectConsumerToEventChannel(self, channel): self._consumer = Consumer_i(self) self._proxy_supplier.connect_push_consumer(self._consumer._this()) except: - print "Failed to connect to channel" + print("Failed to connect to channel") class PortDevice_impl(CF__POA.ExecutableDevice, ExecutableDevice): @@ -140,7 +140,7 @@ def __init__(self, devmgr, uuid, label, softwareProfile, compositeDevice, execpa self._props["BogoMipsCapacity"] = 100000000 def getPort(self, name): - if self.ports.has_key(name): + if name in self.ports: return self.ports[str(name)]._this() else: raise CF.PortSupplier.UnknownPort() diff --git a/redhawk/src/testing/sdr/dev/devices/EventPortTestDevice/EventPortTestDeviceProps.py b/redhawk/src/testing/sdr/dev/devices/EventPortTestDevice/EventPortTestDeviceProps.py index e6ebb06bf..b66d0d277 100644 --- a/redhawk/src/testing/sdr/dev/devices/EventPortTestDevice/EventPortTestDeviceProps.py +++ b/redhawk/src/testing/sdr/dev/devices/EventPortTestDevice/EventPortTestDeviceProps.py @@ -27,44 +27,44 @@ PROPERTIES = ( ( - u'DCE:4a23ad60-0b25-4121-a630-68803a498f75', # ID - u'os_name', # NAME - u'string', # TYPE - u'readonly', # MODE + 'DCE:4a23ad60-0b25-4121-a630-68803a498f75', # ID + 'os_name', # NAME + 'string', # TYPE + 'readonly', # MODE 'Linux', # DEFAULT None, # UNITS - u'eq', # ACTION - (u'allocation',), # KINDS + 'eq', # ACTION + ('allocation',), # KINDS ), ( - u'DCE:fefb9c66-d14a-438d-ad59-2cfd1adb272b', # ID - u'processor_name', # NAME - u'string', # TYPE - u'readonly', # MODE + 'DCE:fefb9c66-d14a-438d-ad59-2cfd1adb272b', # ID + 'processor_name', # NAME + 'string', # TYPE + 'readonly', # MODE 'i686', # DEFAULT None, # UNITS - u'eq', # ACTION - (u'allocation',), # KINDS + 'eq', # ACTION + ('allocation',), # KINDS ), ( - u'DCE:8dcef419-b440-4bcf-b893-cab79b6024fb', # ID - u'memCapacity', # NAME - u'long', # TYPE - u'readonly', # MODE + 'DCE:8dcef419-b440-4bcf-b893-cab79b6024fb', # ID + 'memCapacity', # NAME + 'long', # TYPE + 'readonly', # MODE None, # DEFAULT None, # UNITS 'external', # ACTION - (u'allocation',), # KINDS + ('allocation',), # KINDS ), ( - u'DCE:5636c210-0346-4df7-a5a3-8fd34c5540a8', # ID - u'BogoMipsCapacity', # NAME - u'long', # TYPE - u'readonly', # MODE + 'DCE:5636c210-0346-4df7-a5a3-8fd34c5540a8', # ID + 'BogoMipsCapacity', # NAME + 'long', # TYPE + 'readonly', # MODE None, # DEFAULT None, # UNITS 'external', # ACTION - (u'allocation',), # KINDS + ('allocation',), # KINDS ), ) diff --git a/redhawk/src/testing/sdr/dev/devices/GPP/cpp/GPP.cpp b/redhawk/src/testing/sdr/dev/devices/GPP/cpp/GPP.cpp index c4dfa7847..14a3cc617 100644 --- a/redhawk/src/testing/sdr/dev/devices/GPP/cpp/GPP.cpp +++ b/redhawk/src/testing/sdr/dev/devices/GPP/cpp/GPP.cpp @@ -29,7 +29,6 @@ #include #include #include -#include #include #include #include @@ -38,7 +37,12 @@ #include #include #include + +#ifdef __linux__ +#include #include +#endif + #include #include #include @@ -604,7 +608,7 @@ void GPP_i::update_grp_child_pids() { } catch ( ... ) { std::stringstream errstr; - errstr << "Unable to read "< #include #include + +#ifdef __linux__ #include +#endif + #include #include #include diff --git a/redhawk/src/testing/sdr/dev/devices/MatchingDevice/python/MatchingDevice_base.py b/redhawk/src/testing/sdr/dev/devices/MatchingDevice/python/MatchingDevice_base.py index f9d241fda..a0531befb 100644 --- a/redhawk/src/testing/sdr/dev/devices/MatchingDevice/python/MatchingDevice_base.py +++ b/redhawk/src/testing/sdr/dev/devices/MatchingDevice/python/MatchingDevice_base.py @@ -28,7 +28,7 @@ from ossie.device import Device from ossie.properties import simple_property -import Queue, copy, time, threading +import queue, copy, time, threading NOOP = -1 NORMAL = 0 diff --git a/redhawk/src/testing/sdr/dev/devices/NicExecDevice/python/NicExecDevice.py b/redhawk/src/testing/sdr/dev/devices/NicExecDevice/python/NicExecDevice.py index daa19b246..d763c3415 100755 --- a/redhawk/src/testing/sdr/dev/devices/NicExecDevice/python/NicExecDevice.py +++ b/redhawk/src/testing/sdr/dev/devices/NicExecDevice/python/NicExecDevice.py @@ -65,7 +65,7 @@ def allocate_nic(self, value): def _findAvailableNic(self): all_nics = self.nic_list[:] - for nic in self._allocatedNics.itervalues(): + for nic in self._allocatedNics.values(): all_nics.remove(nic) if not all_nics: return None @@ -75,7 +75,7 @@ def deallocate_nic(self, value): del self._allocatedNics[value.identifier] def get_nic_allocation_status(self): - return [self.NicAllocationStatusStruct(k,v) for k, v in self._allocatedNics.iteritems()] + return [self.NicAllocationStatusStruct(k,v) for k, v in self._allocatedNics.items()] nic_allocation_status = NicExecDevice_base.nic_allocation_status.rebind(fget=get_nic_allocation_status) diff --git a/redhawk/src/testing/sdr/dev/devices/NicExecDevice/python/NicExecDevice_base.py b/redhawk/src/testing/sdr/dev/devices/NicExecDevice/python/NicExecDevice_base.py index d8e160d54..5f138e1c6 100644 --- a/redhawk/src/testing/sdr/dev/devices/NicExecDevice/python/NicExecDevice_base.py +++ b/redhawk/src/testing/sdr/dev/devices/NicExecDevice/python/NicExecDevice_base.py @@ -32,7 +32,7 @@ from ossie.properties import struct_property from ossie.properties import structseq_property -import Queue, copy, time, threading +import queue, copy, time, threading class NicExecDevice_base(CF__POA.ExecutableDevice, ExecutableDevice, ThreadedComponent): # These values can be altered in the __init__ of your derived class @@ -152,10 +152,10 @@ class NicAllocation(object): def __init__(self, **kw): """Construct an initialized instance of this struct definition""" - for classattr in type(self).__dict__.itervalues(): + for classattr in type(self).__dict__.values(): if isinstance(classattr, (simple_property, simpleseq_property)): classattr.initialize(self) - for k,v in kw.items(): + for k,v in list(kw.items()): setattr(self,k,v) def __str__(self): diff --git a/redhawk/src/testing/sdr/dev/devices/PortTestDevice/PortTestDevice.py b/redhawk/src/testing/sdr/dev/devices/PortTestDevice/PortTestDevice.py index a459d5531..76143aba5 100755 --- a/redhawk/src/testing/sdr/dev/devices/PortTestDevice/PortTestDevice.py +++ b/redhawk/src/testing/sdr/dev/devices/PortTestDevice/PortTestDevice.py @@ -48,11 +48,11 @@ def connectPort(self, connection, connectionId): self.outPorts[str(connectionId)] = port def disconnectPort(self, connectionId): - if self.outPorts.has_key(str(connectionId)): + if str(connectionId) in self.outPorts: self.outPorts.pop(str(connectionId), None) def _get_connections(self): - return [ExtendedCF.UsesConnection(k,v) for k, v in self.outPorts.iteritems()] + return [ExtendedCF.UsesConnection(k,v) for k, v in self.outPorts.items()] class testOut_i(UsesPort): @@ -120,7 +120,7 @@ class PortDevice_impl(CF__POA.ExecutableDevice, ExecutableDevice): defvalue=100000000, mode='readonly', action='external', - kinds=(u'allocation',)) + kinds=('allocation',)) def __init__(self, devmgr, uuid, label, softwareProfile, compositeDevice, execparams): ExecutableDevice.__init__(self, devmgr, uuid, label, softwareProfile, compositeDevice, execparams) diff --git a/redhawk/src/testing/sdr/dev/devices/PortTestDeviceService/PortTestDeviceService.py b/redhawk/src/testing/sdr/dev/devices/PortTestDeviceService/PortTestDeviceService.py index fc5a766d4..bed977618 100755 --- a/redhawk/src/testing/sdr/dev/devices/PortTestDeviceService/PortTestDeviceService.py +++ b/redhawk/src/testing/sdr/dev/devices/PortTestDeviceService/PortTestDeviceService.py @@ -24,7 +24,7 @@ from ossie.device import ExecutableDevice, start_device from ossie.properties import simple_property from ossie.resource import usesport, providesport -import commands, os, sys +import subprocess, os, sys import logging @@ -48,7 +48,7 @@ def connectPort(self, connection, connectionId): self.outPorts[str(connectionId)] = port def disconnectPort(self, connectionId): - if self.outPorts.has_key(str(connectionId)): + if str(connectionId) in self.outPorts: self.outPorts.pop(str(connectionId), None) def query(self, propsIn): @@ -69,7 +69,7 @@ def connectPort(self, connection, connectionId): self.outPorts[str(connectionId)] = port def disconnectPort(self, connectionId): - if self.outPorts.has_key(str(connectionId)): + if str(connectionId) in self.outPorts: self.outPorts.pop(str(connectionId), None) def getIdentifiers(self): @@ -116,7 +116,7 @@ class PortDevice_impl(CF__POA.ExecutableDevice, ExecutableDevice): defvalue=100000000, mode='readonly', action='external', - kinds=(u'allocation',)) + kinds=('allocation',)) def __init__(self, devmgr, uuid, label, softwareProfile, compositeDevice, execparams): ExecutableDevice.__init__(self, devmgr, uuid, label, softwareProfile, compositeDevice, execparams) diff --git a/redhawk/src/testing/sdr/dev/devices/PythonExecDev/PythonExecDev_python_impl1/PythonExecDev_python_impl1.py b/redhawk/src/testing/sdr/dev/devices/PythonExecDev/PythonExecDev_python_impl1/PythonExecDev_python_impl1.py index 20fc173ed..40e72d07a 100755 --- a/redhawk/src/testing/sdr/dev/devices/PythonExecDev/PythonExecDev_python_impl1/PythonExecDev_python_impl1.py +++ b/redhawk/src/testing/sdr/dev/devices/PythonExecDev/PythonExecDev_python_impl1/PythonExecDev_python_impl1.py @@ -47,7 +47,7 @@ def updateUsageState(self): @returns false otherwise''' def _allocateCapacities(self, props): - if props.has_key("a") and props.has_key("b") and props.has_key("c"): + if "a" in props and "b" in props and "c" in props: return True return False diff --git a/redhawk/src/testing/sdr/dev/devices/PythonExecDev/PythonExecDev_python_impl1/PythonExecDev_python_impl1_base.py b/redhawk/src/testing/sdr/dev/devices/PythonExecDev/PythonExecDev_python_impl1/PythonExecDev_python_impl1_base.py index 7023efbcf..03b9ade7a 100644 --- a/redhawk/src/testing/sdr/dev/devices/PythonExecDev/PythonExecDev_python_impl1/PythonExecDev_python_impl1_base.py +++ b/redhawk/src/testing/sdr/dev/devices/PythonExecDev/PythonExecDev_python_impl1/PythonExecDev_python_impl1_base.py @@ -29,7 +29,7 @@ from ossie.device import ExecutableDevice -import Queue, copy, time, threading +import queue, copy, time, threading NOOP = -1 NORMAL = 0 @@ -94,7 +94,7 @@ def stop(self): def releaseObject(self): try: self.stop() - except Exception, e: + except Exception as e: self._log.exception("Error stopping: ", e) ExecutableDevice.releaseObject(self) diff --git a/redhawk/src/testing/sdr/dev/devices/PythonExecDevNoUpdateUsageState/PythonExecDev_python_impl1/PythonExecDev_python_impl1_base.py b/redhawk/src/testing/sdr/dev/devices/PythonExecDevNoUpdateUsageState/PythonExecDev_python_impl1/PythonExecDev_python_impl1_base.py index 68e22eca0..e009436b7 100644 --- a/redhawk/src/testing/sdr/dev/devices/PythonExecDevNoUpdateUsageState/PythonExecDev_python_impl1/PythonExecDev_python_impl1_base.py +++ b/redhawk/src/testing/sdr/dev/devices/PythonExecDevNoUpdateUsageState/PythonExecDev_python_impl1/PythonExecDev_python_impl1_base.py @@ -29,7 +29,7 @@ from ossie.device import ExecutableDevice -import Queue, copy, time, threading +import queue, copy, time, threading NOOP = -1 NORMAL = 0 @@ -94,7 +94,7 @@ def stop(self): def releaseObject(self): try: self.stop() - except Exception, e: + except Exception as e: self._log.exception("Error stopping: ", e) ExecutableDevice.releaseObject(self) diff --git a/redhawk/src/testing/sdr/dev/devices/SADUsesDevice/python/SADUsesDevice_base.py b/redhawk/src/testing/sdr/dev/devices/SADUsesDevice/python/SADUsesDevice_base.py index d24f390a2..5e6fea97d 100644 --- a/redhawk/src/testing/sdr/dev/devices/SADUsesDevice/python/SADUsesDevice_base.py +++ b/redhawk/src/testing/sdr/dev/devices/SADUsesDevice/python/SADUsesDevice_base.py @@ -32,7 +32,7 @@ from ossie.device import ExecutableDevice from ossie.properties import simple_property -import Queue, copy, time, threading +import queue, copy, time, threading from ossie.resource import usesport, providesport NOOP = -1 @@ -237,7 +237,7 @@ def __init__(self, parent, name): self.parent = parent self.name = name self.sri = None - self.queue = Queue.Queue() + self.queue = queue.Queue() self.port_lock = threading.Lock() def initialize(self): @@ -310,7 +310,7 @@ def initialize(self): try: try: - for connId, port in self.outConnections.items(): + for connId, port in list(self.outConnections.items()): if port != None: port.initialize() except Exception: self.parent._log.exception("The call to initialize failed on port %s connection %s instance %s", self.name, connId, port) @@ -322,7 +322,7 @@ def releaseObject(self): try: try: - for connId, port in self.outConnections.items(): + for connId, port in list(self.outConnections.items()): if port != None: port.releaseObject() except Exception: self.parent._log.exception("The call to releaseObject failed on port %s connection %s instance %s", self.name, connId, port) @@ -335,7 +335,7 @@ def runTest(self, testid, testValues): try: try: - for connId, port in self.outConnections.items(): + for connId, port in list(self.outConnections.items()): if port != None:retVal = port.runTest(testid, testValues) except Exception: self.parent._log.exception("The call to runTest failed on port %s connection %s instance %s", self.name, connId, port) @@ -349,7 +349,7 @@ def configure(self, configProperties): try: try: - for connId, port in self.outConnections.items(): + for connId, port in list(self.outConnections.items()): if port != None: port.configure(configProperties) except Exception: self.parent._log.exception("The call to configure failed on port %s connection %s instance %s", self.name, connId, port) @@ -362,7 +362,7 @@ def query(self, configProperties): try: try: - for connId, port in self.outConnections.items(): + for connId, port in list(self.outConnections.items()): if port != None:retVal = port.query(configProperties) except Exception: self.parent._log.exception("The call to query failed on port %s connection %s instance %s", self.name, connId, port) @@ -377,7 +377,7 @@ def getPort(self, name): try: try: - for connId, port in self.outConnections.items(): + for connId, port in list(self.outConnections.items()): if port != None:retVal = port.getPort(name) except Exception: self.parent._log.exception("The call to getPort failed on port %s connection %s instance %s", self.name, connId, port) @@ -391,7 +391,7 @@ def start(self): try: try: - for connId, port in self.outConnections.items(): + for connId, port in list(self.outConnections.items()): if port != None: port.start() except Exception: self.parent._log.exception("The call to start failed on port %s connection %s instance %s", self.name, connId, port) @@ -403,7 +403,7 @@ def stop(self): try: try: - for connId, port in self.outConnections.items(): + for connId, port in list(self.outConnections.items()): if port != None: port.stop() except Exception: self.parent._log.exception("The call to stop failed on port %s connection %s instance %s", self.name, connId, port) @@ -416,7 +416,7 @@ def _get_identifier(self): try: try: - for connId, port in self.outConnections.items(): + for connId, port in list(self.outConnections.items()): if port != None: retVal = port._get_identifier() except Exception: @@ -432,7 +432,7 @@ def _get_started(self): try: try: - for connId, port in self.outConnections.items(): + for connId, port in list(self.outConnections.items()): if port != None: retVal = port._get_started() except Exception: diff --git a/redhawk/src/testing/sdr/dev/devices/SelfTerminatingDevice/SelfTerminatingDevice.py b/redhawk/src/testing/sdr/dev/devices/SelfTerminatingDevice/SelfTerminatingDevice.py index 278260f31..a8eb592a0 100755 --- a/redhawk/src/testing/sdr/dev/devices/SelfTerminatingDevice/SelfTerminatingDevice.py +++ b/redhawk/src/testing/sdr/dev/devices/SelfTerminatingDevice/SelfTerminatingDevice.py @@ -24,7 +24,7 @@ from ossie.device import ExecutableDevice, AggregateDevice, start_device import os, sys, stat from omniORB import URI, any -import commands, copy, time, signal, pprint, subprocess +import subprocess, copy, time, signal, pprint, subprocess import logging import signal import shutil @@ -45,7 +45,7 @@ def __init__(self, devmgr, uuid, label, softwareProfile, compositeDevice, execpa self._props["BogoMipsCapacity"] = 100000000 self._props["nicCapacity"] = 100.0 self._props["fakeCapacity"] = 3 - self._props["execparams"] = " ".join(["%s %s" % x for x in execparams.items()]) + self._props["execparams"] = " ".join(["%s %s" % x for x in list(execparams.items())]) def configure(self, properties): ExecutableDevice.configure(self, properties) @@ -93,7 +93,7 @@ def deallocate_BogoMipsCapacity(self, value): def TerminationThread(self): self.exit_lock.acquire() time.sleep(0.1) - print "Self-terminating device ending process", os.getpid() + print("Self-terminating device ending process", os.getpid()) os.kill(os.getpid(),9) def updateUsageState(self): diff --git a/redhawk/src/testing/sdr/dev/devices/SelfTerminatingDevice/SelfTerminatingDeviceProps.py b/redhawk/src/testing/sdr/dev/devices/SelfTerminatingDevice/SelfTerminatingDeviceProps.py index 2f70656ac..55b1cb8f6 100644 --- a/redhawk/src/testing/sdr/dev/devices/SelfTerminatingDevice/SelfTerminatingDeviceProps.py +++ b/redhawk/src/testing/sdr/dev/devices/SelfTerminatingDevice/SelfTerminatingDeviceProps.py @@ -27,204 +27,204 @@ PROPERTIES = ( ( - u'DCE:6b298d70-6735-43f2-944d-06f754cd4eb9', # ID - u'no_default_prop', # NAME - u'string', # TYPE - u'readwrite', # MODE + 'DCE:6b298d70-6735-43f2-944d-06f754cd4eb9', # ID + 'no_default_prop', # NAME + 'string', # TYPE + 'readwrite', # MODE None, # DEFAULT None, # UNITS 'external', # ACTION - (u'configure',), # KINDS + ('configure',), # KINDS ), ( - u'DCE:456310b2-7d2f-40f5-bfef-9fdf4f3560ea', # ID - u'default_prop', # NAME - u'string', # TYPE - u'readwrite', # MODE + 'DCE:456310b2-7d2f-40f5-bfef-9fdf4f3560ea', # ID + 'default_prop', # NAME + 'string', # TYPE + 'readwrite', # MODE 'default', # DEFAULT None, # UNITS 'external', # ACTION - (u'configure',), # KINDS + ('configure',), # KINDS ), ( - u'pidCheck', # ID - u'pidCheck', # NAME - u'string', # TYPE - u'readwrite', # MODE + 'pidCheck', # ID + 'pidCheck', # NAME + 'string', # TYPE + 'readwrite', # MODE '', # DEFAULT None, # UNITS 'external', # ACTION - (u'configure',), # KINDS + ('configure',), # KINDS ), ( - u'DCE:4a23ad60-0b25-4121-a630-68803a498f75', # ID - u'os_name', # NAME - u'string', # TYPE - u'readonly', # MODE + 'DCE:4a23ad60-0b25-4121-a630-68803a498f75', # ID + 'os_name', # NAME + 'string', # TYPE + 'readonly', # MODE 'Linux', # DEFAULT None, # UNITS - u'eq', # ACTION - (u'allocation',), # KINDS + 'eq', # ACTION + ('allocation',), # KINDS ), ( - u'DCE:fefb9c66-d14a-438d-ad59-2cfd1adb272b', # ID - u'processor_name', # NAME - u'string', # TYPE - u'readonly', # MODE + 'DCE:fefb9c66-d14a-438d-ad59-2cfd1adb272b', # ID + 'processor_name', # NAME + 'string', # TYPE + 'readonly', # MODE 'x86', # DEFAULT None, # UNITS - u'eq', # ACTION - (u'allocation',), # KINDS + 'eq', # ACTION + ('allocation',), # KINDS ), ( - u'DCE:7f36cdfb-f828-4e4f-b84f-446e17f1a85b', # ID - u'DeviceKind', # NAME - u'string', # TYPE - u'readonly', # MODE + 'DCE:7f36cdfb-f828-4e4f-b84f-446e17f1a85b', # ID + 'DeviceKind', # NAME + 'string', # TYPE + 'readonly', # MODE 'SelfTerminatingDevice', # DEFAULT None, # UNITS - u'eq', # ACTION - (u'allocation',), # KINDS + 'eq', # ACTION + ('allocation',), # KINDS ), ( - u'DCE:64303822-4c67-4c04-9a5c-bf670f27cf39', # ID - u'RunsAs', # NAME - u'string', # TYPE - u'readonly', # MODE + 'DCE:64303822-4c67-4c04-9a5c-bf670f27cf39', # ID + 'RunsAs', # NAME + 'string', # TYPE + 'readonly', # MODE 'root', # DEFAULT None, # UNITS - u'ne', # ACTION - (u'allocation',), # KINDS + 'ne', # ACTION + ('allocation',), # KINDS ), ( - u'DCE:021f10cf-7a05-46ec-a507-04b513b84bd4', # ID - u'HasXMIDAS', # NAME - u'boolean', # TYPE - u'readonly', # MODE + 'DCE:021f10cf-7a05-46ec-a507-04b513b84bd4', # ID + 'HasXMIDAS', # NAME + 'boolean', # TYPE + 'readonly', # MODE True, # DEFAULT None, # UNITS - u'eq', # ACTION - (u'allocation',), # KINDS + 'eq', # ACTION + ('allocation',), # KINDS ), ( - u'DCE:ac73446e-f935-40b6-8b8d-4d9adb6b403f', # ID - u'ProvidedCpuCores', # NAME - u'short', # TYPE - u'readonly', # MODE + 'DCE:ac73446e-f935-40b6-8b8d-4d9adb6b403f', # ID + 'ProvidedCpuCores', # NAME + 'short', # TYPE + 'readonly', # MODE 8, # DEFAULT None, # UNITS - u'ge', # ACTION - (u'allocation',), # KINDS + 'ge', # ACTION + ('allocation',), # KINDS ), ( - u'DCE:dd339b67-b387-4018-94d2-9a72955d85b9', # ID - u'CoresClockRateGHz', # NAME - u'float', # TYPE - u'readonly', # MODE + 'DCE:dd339b67-b387-4018-94d2-9a72955d85b9', # ID + 'CoresClockRateGHz', # NAME + 'float', # TYPE + 'readonly', # MODE 3.0, # DEFAULT None, # UNITS - u'le', # ACTION - (u'allocation',), # KINDS + 'le', # ACTION + ('allocation',), # KINDS ), ( - u'DCE:8dcef419-b440-4bcf-b893-cab79b6024fb', # ID - u'memCapacity', # NAME - u'long', # TYPE - u'readonly', # MODE + 'DCE:8dcef419-b440-4bcf-b893-cab79b6024fb', # ID + 'memCapacity', # NAME + 'long', # TYPE + 'readonly', # MODE None, # DEFAULT None, # UNITS 'external', # ACTION - (u'allocation',), # KINDS + ('allocation',), # KINDS ), ( - u'DCE:4f9a57fc-8fb3-47f6-b779-3c2692f52cf9', # ID - u'nicCapacity', # NAME - u'float', # TYPE - u'readonly', # MODE + 'DCE:4f9a57fc-8fb3-47f6-b779-3c2692f52cf9', # ID + 'nicCapacity', # NAME + 'float', # TYPE + 'readonly', # MODE None, # DEFAULT None, # UNITS 'external', # ACTION - (u'allocation',), # KINDS + ('allocation',), # KINDS ), ( - u'DCE:5636c210-0346-4df7-a5a3-8fd34c5540a8', # ID - u'BogoMipsCapacity', # NAME - u'long', # TYPE - u'readonly', # MODE + 'DCE:5636c210-0346-4df7-a5a3-8fd34c5540a8', # ID + 'BogoMipsCapacity', # NAME + 'long', # TYPE + 'readonly', # MODE None, # DEFAULT None, # UNITS 'external', # ACTION - (u'allocation',), # KINDS + ('allocation',), # KINDS ), ( - u'DCE:0cfccc59-7853-4b19-9110-29dccc443374', # ID - u'fakeCapacity', # NAME - u'short', # TYPE - u'readonly', # MODE + 'DCE:0cfccc59-7853-4b19-9110-29dccc443374', # ID + 'fakeCapacity', # NAME + 'short', # TYPE + 'readonly', # MODE None, # DEFAULT None, # UNITS 'external', # ACTION - (u'allocation',), # KINDS + ('allocation',), # KINDS ), ( - u'DCE:c03e148f-e9f9-4d70-aa00-6e23d33fa648', # ID - u'SomeConfigFileLocation', # NAME - u'string', # TYPE - u'readwrite', # MODE + 'DCE:c03e148f-e9f9-4d70-aa00-6e23d33fa648', # ID + 'SomeConfigFileLocation', # NAME + 'string', # TYPE + 'readwrite', # MODE 'notyourfile', # DEFAULT None, # UNITS 'external', # ACTION - (u'execparam',), # KINDS + ('execparam',), # KINDS ), ( - u'DCE:dc4289a8-bb98-435b-b914-305ffaa7594f', # ID - u'ImplementationSpecificProperty', # NAME - u'string', # TYPE - u'readwrite', # MODE + 'DCE:dc4289a8-bb98-435b-b914-305ffaa7594f', # ID + 'ImplementationSpecificProperty', # NAME + 'string', # TYPE + 'readwrite', # MODE 'DefaultValueNoGood', # DEFAULT None, # UNITS 'external', # ACTION - (u'execparam',), # KINDS + ('execparam',), # KINDS ), ( - u'DCE:6f5881b3-433e-434b-8204-d39c89ff4be2', # ID - u'ReadOnlyProperty', # NAME - u'string', # TYPE - u'readonly', # MODE + 'DCE:6f5881b3-433e-434b-8204-d39c89ff4be2', # ID + 'ReadOnlyProperty', # NAME + 'string', # TYPE + 'readonly', # MODE 'DefaultValueGood', # DEFAULT None, # UNITS 'external', # ACTION - (u'execparam',), # KINDS + ('execparam',), # KINDS ), ( - u'DCE:716ea1c4-059a-4b18-8b66-74804bd8d435', # ID - u'ImplementationSpecificProperty2', # NAME - u'string', # TYPE - u'readwrite', # MODE + 'DCE:716ea1c4-059a-4b18-8b66-74804bd8d435', # ID + 'ImplementationSpecificProperty2', # NAME + 'string', # TYPE + 'readwrite', # MODE None, # DEFAULT None, # UNITS 'external', # ACTION - (u'execparam',), # KINDS + ('execparam',), # KINDS ), ( - u'DCE:f6fb9770-cfd9-4e14-a337-2234f7f3317b', # ID - u'ImplementationSpecificAllocationProp', # NAME - u'string', # TYPE - u'readwrite', # MODE + 'DCE:f6fb9770-cfd9-4e14-a337-2234f7f3317b', # ID + 'ImplementationSpecificAllocationProp', # NAME + 'string', # TYPE + 'readwrite', # MODE None, # DEFAULT None, # UNITS - u'eq', # ACTION - (u'allocation',), # KINDS + 'eq', # ACTION + ('allocation',), # KINDS ), ( - u'DCE:85d133fd-1658-4e4d-b3ff-1443cd44c0e2', # ID - u'execparams', # NAME - u'string', # TYPE - u'readonly', # MODE + 'DCE:85d133fd-1658-4e4d-b3ff-1443cd44c0e2', # ID + 'execparams', # NAME + 'string', # TYPE + 'readonly', # MODE None, # DEFAULT None, # UNITS 'external', # ACTION - (u'configure',), # KINDS + ('configure',), # KINDS ), ) diff --git a/redhawk/src/testing/sdr/dev/devices/alloc_test/python/alloc_test_base.py b/redhawk/src/testing/sdr/dev/devices/alloc_test/python/alloc_test_base.py index e903a6082..f9e91db38 100644 --- a/redhawk/src/testing/sdr/dev/devices/alloc_test/python/alloc_test_base.py +++ b/redhawk/src/testing/sdr/dev/devices/alloc_test/python/alloc_test_base.py @@ -30,7 +30,7 @@ from ossie.threadedcomponent import * from ossie.properties import simple_property -import Queue, copy, time, threading +import queue, copy, time, threading class alloc_test_base(CF__POA.Device, Device, ThreadedComponent): # These values can be altered in the __init__ of your derived class diff --git a/redhawk/src/testing/sdr/dev/devices/bad_init_device/python/bad_init_device_base.py b/redhawk/src/testing/sdr/dev/devices/bad_init_device/python/bad_init_device_base.py index 09f20ab0d..c43e05faa 100644 --- a/redhawk/src/testing/sdr/dev/devices/bad_init_device/python/bad_init_device_base.py +++ b/redhawk/src/testing/sdr/dev/devices/bad_init_device/python/bad_init_device_base.py @@ -28,7 +28,7 @@ from ossie.device import Device from ossie.properties import simple_property -import Queue, copy, time, threading +import queue, copy, time, threading NOOP = -1 NORMAL = 0 diff --git a/redhawk/src/testing/sdr/dev/devices/bad_init_device/tests/test_bad_init_device.py b/redhawk/src/testing/sdr/dev/devices/bad_init_device/tests/test_bad_init_device.py index d32ad17f2..d1416aae1 100644 --- a/redhawk/src/testing/sdr/dev/devices/bad_init_device/tests/test_bad_init_device.py +++ b/redhawk/src/testing/sdr/dev/devices/bad_init_device/tests/test_bad_init_device.py @@ -51,7 +51,7 @@ def testScaBasicBehavior(self): props = dict((x.id, any.from_any(x.value)) for x in props) # Query may return more than expected, but not less for expectedProp in expectedProps: - self.assertEquals(props.has_key(expectedProp.id), True) + self.assertEqual(expectedProp.id in props, True) ####################################################################### # Verify that all expected ports are available diff --git a/redhawk/src/testing/sdr/dev/devices/cmdline_dev/python/cmdline_dev_base.py b/redhawk/src/testing/sdr/dev/devices/cmdline_dev/python/cmdline_dev_base.py index afdcd557c..0adfb5c08 100644 --- a/redhawk/src/testing/sdr/dev/devices/cmdline_dev/python/cmdline_dev_base.py +++ b/redhawk/src/testing/sdr/dev/devices/cmdline_dev/python/cmdline_dev_base.py @@ -30,7 +30,7 @@ from ossie.threadedcomponent import * from ossie.properties import simple_property -import Queue, copy, time, threading +import queue, copy, time, threading class cmdline_dev_base(CF__POA.Device, Device, ThreadedComponent): # These values can be altered in the __init__ of your derived class diff --git a/redhawk/src/testing/sdr/dev/devices/configure_call_property_dev/python/configure_call_property_dev_base.py b/redhawk/src/testing/sdr/dev/devices/configure_call_property_dev/python/configure_call_property_dev_base.py index 1f68aec2a..6b9d947c4 100644 --- a/redhawk/src/testing/sdr/dev/devices/configure_call_property_dev/python/configure_call_property_dev_base.py +++ b/redhawk/src/testing/sdr/dev/devices/configure_call_property_dev/python/configure_call_property_dev_base.py @@ -11,7 +11,7 @@ from ossie.threadedcomponent import * from ossie.properties import simple_property -import Queue, copy, time, threading +import queue, copy, time, threading class configure_call_property_dev_base(CF__POA.Device, Device, ThreadedComponent): # These values can be altered in the __init__ of your derived class diff --git a/redhawk/src/testing/sdr/dev/devices/dev_comp_softpkg/python/dev_comp_softpkg_base.py b/redhawk/src/testing/sdr/dev/devices/dev_comp_softpkg/python/dev_comp_softpkg_base.py index e5ce968d2..4839081e2 100644 --- a/redhawk/src/testing/sdr/dev/devices/dev_comp_softpkg/python/dev_comp_softpkg_base.py +++ b/redhawk/src/testing/sdr/dev/devices/dev_comp_softpkg/python/dev_comp_softpkg_base.py @@ -30,7 +30,7 @@ from ossie.threadedcomponent import * from ossie.properties import simple_property -import Queue, copy, time, threading +import queue, copy, time, threading class dev_comp_softpkg_base(CF__POA.Device, Device, ThreadedComponent): # These values can be altered in the __init__ of your derived class diff --git a/redhawk/src/testing/sdr/dev/devices/dev_props_bad_numbers/python/dev_props_bad_numbers_base.py b/redhawk/src/testing/sdr/dev/devices/dev_props_bad_numbers/python/dev_props_bad_numbers_base.py index 79c7b5018..3c85b91b6 100644 --- a/redhawk/src/testing/sdr/dev/devices/dev_props_bad_numbers/python/dev_props_bad_numbers_base.py +++ b/redhawk/src/testing/sdr/dev/devices/dev_props_bad_numbers/python/dev_props_bad_numbers_base.py @@ -11,7 +11,7 @@ from ossie.threadedcomponent import * from ossie.properties import simple_property -import Queue, copy, time, threading +import queue, copy, time, threading class dev_props_bad_numbers_base(CF__POA.Device, Device, ThreadedComponent): # These values can be altered in the __init__ of your derived class diff --git a/redhawk/src/testing/sdr/dev/devices/device_fork/python/device_fork_base.py b/redhawk/src/testing/sdr/dev/devices/device_fork/python/device_fork_base.py index 62bc73222..f959dee72 100644 --- a/redhawk/src/testing/sdr/dev/devices/device_fork/python/device_fork_base.py +++ b/redhawk/src/testing/sdr/dev/devices/device_fork/python/device_fork_base.py @@ -11,7 +11,7 @@ from ossie.threadedcomponent import * from ossie.properties import simple_property -import Queue, copy, time, threading +import queue, copy, time, threading class device_fork_base(CF__POA.Device, Device, ThreadedComponent): # These values can be altered in the __init__ of your derived class diff --git a/redhawk/src/testing/sdr/dev/devices/devpy/python/devpy_base.py b/redhawk/src/testing/sdr/dev/devices/devpy/python/devpy_base.py index 044740ff7..29408c58a 100644 --- a/redhawk/src/testing/sdr/dev/devices/devpy/python/devpy_base.py +++ b/redhawk/src/testing/sdr/dev/devices/devpy/python/devpy_base.py @@ -11,7 +11,7 @@ from ossie.threadedcomponent import * from ossie.properties import simple_property -import Queue, copy, time, threading +import queue, copy, time, threading class devpy_base(CF__POA.Device, Device, ThreadedComponent): # These values can be altered in the __init__ of your derived class diff --git a/redhawk/src/testing/sdr/dev/devices/issue_111/python/issue_111_base.py b/redhawk/src/testing/sdr/dev/devices/issue_111/python/issue_111_base.py index 8facafb37..84d5c9631 100644 --- a/redhawk/src/testing/sdr/dev/devices/issue_111/python/issue_111_base.py +++ b/redhawk/src/testing/sdr/dev/devices/issue_111/python/issue_111_base.py @@ -33,7 +33,7 @@ from ossie.device import Device from ossie.properties import simple_property -import Queue, copy, time, threading +import queue, copy, time, threading NOOP = -1 NORMAL = 0 diff --git a/redhawk/src/testing/sdr/dev/devices/issue_111/tests/test_issue_111.py b/redhawk/src/testing/sdr/dev/devices/issue_111/tests/test_issue_111.py index 65ef9f2a4..04a614be2 100644 --- a/redhawk/src/testing/sdr/dev/devices/issue_111/tests/test_issue_111.py +++ b/redhawk/src/testing/sdr/dev/devices/issue_111/tests/test_issue_111.py @@ -58,7 +58,7 @@ def testScaBasicBehavior(self): props = dict((x.id, any.from_any(x.value)) for x in props) # Query may return more than expected, but not less for expectedProp in expectedProps: - self.assertEquals(props.has_key(expectedProp.id), True) + self.assertEqual(expectedProp.id in props, True) ####################################################################### # Verify that all expected ports are available diff --git a/redhawk/src/testing/sdr/dev/devices/issue_111_cpp/tests/test_issue_111_cpp.py b/redhawk/src/testing/sdr/dev/devices/issue_111_cpp/tests/test_issue_111_cpp.py index f3277e14f..12e2d500f 100644 --- a/redhawk/src/testing/sdr/dev/devices/issue_111_cpp/tests/test_issue_111_cpp.py +++ b/redhawk/src/testing/sdr/dev/devices/issue_111_cpp/tests/test_issue_111_cpp.py @@ -58,7 +58,7 @@ def testScaBasicBehavior(self): props = dict((x.id, any.from_any(x.value)) for x in props) # Query may return more than expected, but not less for expectedProp in expectedProps: - self.assertEquals(props.has_key(expectedProp.id), True) + self.assertEqual(expectedProp.id in props, True) ####################################################################### # Verify that all expected ports are available diff --git a/redhawk/src/testing/sdr/dev/devices/issue_111_java/tests/test_issue_111_java.py b/redhawk/src/testing/sdr/dev/devices/issue_111_java/tests/test_issue_111_java.py index 146087ec2..f368d7373 100644 --- a/redhawk/src/testing/sdr/dev/devices/issue_111_java/tests/test_issue_111_java.py +++ b/redhawk/src/testing/sdr/dev/devices/issue_111_java/tests/test_issue_111_java.py @@ -58,7 +58,7 @@ def testScaBasicBehavior(self): props = dict((x.id, any.from_any(x.value)) for x in props) # Query may return more than expected, but not less for expectedProp in expectedProps: - self.assertEquals(props.has_key(expectedProp.id), True) + self.assertEqual(expectedProp.id in props, True) ####################################################################### # Verify that all expected ports are available diff --git a/redhawk/src/testing/sdr/dev/devices/log_test_py/python/log_test_py_base.py b/redhawk/src/testing/sdr/dev/devices/log_test_py/python/log_test_py_base.py index f66aede1c..65ad218c4 100644 --- a/redhawk/src/testing/sdr/dev/devices/log_test_py/python/log_test_py_base.py +++ b/redhawk/src/testing/sdr/dev/devices/log_test_py/python/log_test_py_base.py @@ -11,7 +11,7 @@ from ossie.threadedcomponent import * from ossie.properties import simple_property -import Queue, copy, time, threading +import queue, copy, time, threading class log_test_py_base(CF__POA.Device, Device, ThreadedComponent): # These values can be altered in the __init__ of your derived class diff --git a/redhawk/src/testing/sdr/dev/devices/nocmdline_dev/python/nocmdline_dev_base.py b/redhawk/src/testing/sdr/dev/devices/nocmdline_dev/python/nocmdline_dev_base.py index 4708577c8..cc55227e3 100644 --- a/redhawk/src/testing/sdr/dev/devices/nocmdline_dev/python/nocmdline_dev_base.py +++ b/redhawk/src/testing/sdr/dev/devices/nocmdline_dev/python/nocmdline_dev_base.py @@ -30,7 +30,7 @@ from ossie.threadedcomponent import * from ossie.properties import simple_property -import Queue, copy, time, threading +import queue, copy, time, threading class nocmdline_dev_base(CF__POA.Device, Device, ThreadedComponent): # These values can be altered in the __init__ of your derived class diff --git a/redhawk/src/testing/sdr/dev/devices/props_test_device/tests/test_props_test_device.py b/redhawk/src/testing/sdr/dev/devices/props_test_device/tests/test_props_test_device.py index 661742fb8..91d4e2023 100644 --- a/redhawk/src/testing/sdr/dev/devices/props_test_device/tests/test_props_test_device.py +++ b/redhawk/src/testing/sdr/dev/devices/props_test_device/tests/test_props_test_device.py @@ -58,7 +58,7 @@ def testScaBasicBehavior(self): props = dict((x.id, any.from_any(x.value)) for x in props) # Query may return more than expected, but not less for expectedProp in expectedProps: - self.assertEquals(props.has_key(expectedProp.id), True) + self.assertEqual(expectedProp.id in props, True) ####################################################################### # Verify that all expected ports are available diff --git a/redhawk/src/testing/sdr/dev/devices/py_dev/python/py_dev_base.py b/redhawk/src/testing/sdr/dev/devices/py_dev/python/py_dev_base.py index 9c6b65a1e..4ab2c1f8c 100644 --- a/redhawk/src/testing/sdr/dev/devices/py_dev/python/py_dev_base.py +++ b/redhawk/src/testing/sdr/dev/devices/py_dev/python/py_dev_base.py @@ -30,7 +30,7 @@ from ossie.threadedcomponent import * from ossie.properties import simple_property -import Queue, copy, time, threading +import queue, copy, time, threading class py_dev_base(CF__POA.Device, Device, ThreadedComponent): # These values can be altered in the __init__ of your derived class diff --git a/redhawk/src/testing/sdr/dev/devices/py_dev_exec_params/python/py_dev_exec_params_base.py b/redhawk/src/testing/sdr/dev/devices/py_dev_exec_params/python/py_dev_exec_params_base.py index c9f41a7f3..8235cdd6c 100644 --- a/redhawk/src/testing/sdr/dev/devices/py_dev_exec_params/python/py_dev_exec_params_base.py +++ b/redhawk/src/testing/sdr/dev/devices/py_dev_exec_params/python/py_dev_exec_params_base.py @@ -11,7 +11,7 @@ from ossie.threadedcomponent import * from ossie.properties import simple_property -import Queue, copy, time, threading +import queue, copy, time, threading class py_dev_exec_params_base(CF__POA.Device, Device, ThreadedComponent): # These values can be altered in the __init__ of your derived class diff --git a/redhawk/src/testing/sdr/dev/devices/python_dev/python/python_dev_base.py b/redhawk/src/testing/sdr/dev/devices/python_dev/python/python_dev_base.py index 95031c411..a8a2269c9 100644 --- a/redhawk/src/testing/sdr/dev/devices/python_dev/python/python_dev_base.py +++ b/redhawk/src/testing/sdr/dev/devices/python_dev/python/python_dev_base.py @@ -30,7 +30,7 @@ from ossie.threadedcomponent import * from ossie.properties import simple_property -import Queue, copy, time, threading +import queue, copy, time, threading class python_dev_base(CF__POA.Device, Device, ThreadedComponent): # These values can be altered in the __init__ of your derived class diff --git a/redhawk/src/testing/sdr/dev/devices/simpleseqdev/simpleseqdev_python_impl1/simpleseqdev_python_impl1_base.py b/redhawk/src/testing/sdr/dev/devices/simpleseqdev/simpleseqdev_python_impl1/simpleseqdev_python_impl1_base.py index c3629ac34..6232d210f 100644 --- a/redhawk/src/testing/sdr/dev/devices/simpleseqdev/simpleseqdev_python_impl1/simpleseqdev_python_impl1_base.py +++ b/redhawk/src/testing/sdr/dev/devices/simpleseqdev/simpleseqdev_python_impl1/simpleseqdev_python_impl1_base.py @@ -34,7 +34,7 @@ from ossie.properties import simple_property from ossie.properties import simpleseq_property -import Queue, copy, time, threading +import queue, copy, time, threading NOOP = -1 NORMAL = 0 @@ -105,7 +105,7 @@ def stop(self): def releaseObject(self): try: self.stop() - except Exception, e: + except Exception as e: self._log.exception("Error stopping: " + str(e)) Device.releaseObject(self) diff --git a/redhawk/src/testing/sdr/dev/devices/simpleseqdev/tests/test_simpleseqdev.py b/redhawk/src/testing/sdr/dev/devices/simpleseqdev/tests/test_simpleseqdev.py index ab3360f49..3eb5ec0df 100644 --- a/redhawk/src/testing/sdr/dev/devices/simpleseqdev/tests/test_simpleseqdev.py +++ b/redhawk/src/testing/sdr/dev/devices/simpleseqdev/tests/test_simpleseqdev.py @@ -58,7 +58,7 @@ def testScaBasicBehavior(self): props = dict((x.id, any.from_any(x.value)) for x in props) # Query may return more than expected, but not less for expectedProp in expectedProps: - self.assertEquals(props.has_key(expectedProp.id), True) + self.assertEqual(expectedProp.id in props, True) ####################################################################### # Verify that all expected ports are available diff --git a/redhawk/src/testing/sdr/dev/devices/start_event_device/python/start_event_device_base.py b/redhawk/src/testing/sdr/dev/devices/start_event_device/python/start_event_device_base.py index 4eacfbbec..0bb8765b9 100644 --- a/redhawk/src/testing/sdr/dev/devices/start_event_device/python/start_event_device_base.py +++ b/redhawk/src/testing/sdr/dev/devices/start_event_device/python/start_event_device_base.py @@ -32,7 +32,7 @@ from ossie.properties import simpleseq_property from ossie.properties import struct_property -import Queue, copy, time, threading +import queue, copy, time, threading from ossie.resource import usesport, providesport from ossie.events import MessageSupplierPort @@ -117,10 +117,10 @@ class StateChange(object): def __init__(self, **kw): """Construct an initialized instance of this struct definition""" - for classattr in type(self).__dict__.itervalues(): + for classattr in type(self).__dict__.values(): if isinstance(classattr, (simple_property, simpleseq_property)): classattr.initialize(self) - for k,v in kw.items(): + for k,v in list(kw.items()): setattr(self,k,v) def __str__(self): @@ -164,10 +164,10 @@ class Failures(object): def __init__(self, **kw): """Construct an initialized instance of this struct definition""" - for classattr in type(self).__dict__.itervalues(): + for classattr in type(self).__dict__.values(): if isinstance(classattr, (simple_property, simpleseq_property)): classattr.initialize(self) - for k,v in kw.items(): + for k,v in list(kw.items()): setattr(self,k,v) def __str__(self): diff --git a/redhawk/src/testing/sdr/dev/devices/svc_connect_dev/python/svc_connect_dev_base.py b/redhawk/src/testing/sdr/dev/devices/svc_connect_dev/python/svc_connect_dev_base.py index bfb39da25..cefbc9fb7 100644 --- a/redhawk/src/testing/sdr/dev/devices/svc_connect_dev/python/svc_connect_dev_base.py +++ b/redhawk/src/testing/sdr/dev/devices/svc_connect_dev/python/svc_connect_dev_base.py @@ -30,7 +30,7 @@ from ossie.threadedcomponent import * from ossie.properties import simple_property -import Queue, copy, time, threading +import queue, copy, time, threading from ossie.resource import usesport, providesport from ossie.cf import ExtendedCF from ossie.cf import ExtendedCF__POA @@ -138,7 +138,7 @@ def disconnectPort(self, connectionId): def _get_connections(self): self.port_lock.acquire() try: - return [ExtendedCF.UsesConnection(name, port) for name, port in self.outConnections.iteritems()] + return [ExtendedCF.UsesConnection(name, port) for name, port in self.outConnections.items()] finally: self.port_lock.release() @@ -146,7 +146,7 @@ def configure(self, configProperties): self.port_lock.acquire() try: - for connId, port in self.outConnections.items(): + for connId, port in list(self.outConnections.items()): if port != None: try: port.configure(configProperties) @@ -160,7 +160,7 @@ def query(self, configProperties): self.port_lock.acquire() try: - for connId, port in self.outConnections.items(): + for connId, port in list(self.outConnections.items()): if port != None: try: retVal = port.query(configProperties) diff --git a/redhawk/src/testing/sdr/dev/devices/svc_port/python/svc_port_base.py b/redhawk/src/testing/sdr/dev/devices/svc_port/python/svc_port_base.py index df10f0d31..6e323967a 100644 --- a/redhawk/src/testing/sdr/dev/devices/svc_port/python/svc_port_base.py +++ b/redhawk/src/testing/sdr/dev/devices/svc_port/python/svc_port_base.py @@ -11,7 +11,7 @@ from ossie.threadedcomponent import * from ossie.properties import simple_property -import Queue, copy, time, threading +import queue, copy, time, threading from ossie.resource import usesport, providesport, PortCallError class svc_port_base(CF__POA.Device, Device, ThreadedComponent): @@ -130,7 +130,7 @@ def __init__(self, parent, name): self.parent = parent self.name = name self.sri = None - self.queue = Queue.Queue() + self.queue = queue.Queue() self.port_lock = threading.Lock() def getLogLevel(self, logger_id): diff --git a/redhawk/src/testing/sdr/dev/devices/test_collocation_device/python/test_collocation_device_base.py b/redhawk/src/testing/sdr/dev/devices/test_collocation_device/python/test_collocation_device_base.py index 947cece38..3ba314ab7 100644 --- a/redhawk/src/testing/sdr/dev/devices/test_collocation_device/python/test_collocation_device_base.py +++ b/redhawk/src/testing/sdr/dev/devices/test_collocation_device/python/test_collocation_device_base.py @@ -37,7 +37,7 @@ from ossie.events import PropertyEventSupplier -import Queue, copy, time, threading +import queue, copy, time, threading NOOP = -1 NORMAL = 0 @@ -162,10 +162,10 @@ class RedhawkReservationRequest(object): def __init__(self, **kw): """Construct an initialized instance of this struct definition""" - for classattr in type(self).__dict__.itervalues(): + for classattr in type(self).__dict__.values(): if isinstance(classattr, (simple_property, simpleseq_property)): classattr.initialize(self) - for k,v in kw.items(): + for k,v in list(kw.items()): setattr(self,k,v) def __str__(self): diff --git a/redhawk/src/testing/sdr/dev/devices/ticket_1502/python/ticket_1502_base.py b/redhawk/src/testing/sdr/dev/devices/ticket_1502/python/ticket_1502_base.py index 1382f95bc..46c05bf8c 100644 --- a/redhawk/src/testing/sdr/dev/devices/ticket_1502/python/ticket_1502_base.py +++ b/redhawk/src/testing/sdr/dev/devices/ticket_1502/python/ticket_1502_base.py @@ -28,7 +28,7 @@ from ossie.device import Device from ossie.properties import simple_property -import Queue, copy, time, threading +import queue, copy, time, threading NOOP = -1 NORMAL = 0 diff --git a/redhawk/src/testing/sdr/dev/devices/ticket_1502/tests/test_ticket_1502.py b/redhawk/src/testing/sdr/dev/devices/ticket_1502/tests/test_ticket_1502.py index d4bb081a1..e55733178 100644 --- a/redhawk/src/testing/sdr/dev/devices/ticket_1502/tests/test_ticket_1502.py +++ b/redhawk/src/testing/sdr/dev/devices/ticket_1502/tests/test_ticket_1502.py @@ -51,7 +51,7 @@ def testScaBasicBehavior(self): props = dict((x.id, any.from_any(x.value)) for x in props) # Query may return more than expected, but not less for expectedProp in expectedProps: - self.assertEquals(props.has_key(expectedProp.id), True) + self.assertEqual(expectedProp.id in props, True) ####################################################################### # Verify that all expected ports are available diff --git a/redhawk/src/testing/sdr/dev/devices/ticket_cf_939_dev/python/ticket_cf_939_dev_base.py b/redhawk/src/testing/sdr/dev/devices/ticket_cf_939_dev/python/ticket_cf_939_dev_base.py index ee0642df4..c72250ea6 100644 --- a/redhawk/src/testing/sdr/dev/devices/ticket_cf_939_dev/python/ticket_cf_939_dev_base.py +++ b/redhawk/src/testing/sdr/dev/devices/ticket_cf_939_dev/python/ticket_cf_939_dev_base.py @@ -32,7 +32,7 @@ from ossie.device import ExecutableDevice from ossie.properties import simple_property -import Queue, copy, time, threading +import queue, copy, time, threading NOOP = -1 NORMAL = 0 diff --git a/redhawk/src/testing/sdr/dev/devices/writeonly_py/python/writeonly_py_base.py b/redhawk/src/testing/sdr/dev/devices/writeonly_py/python/writeonly_py_base.py index 1ee6f1fd6..68758c52c 100644 --- a/redhawk/src/testing/sdr/dev/devices/writeonly_py/python/writeonly_py_base.py +++ b/redhawk/src/testing/sdr/dev/devices/writeonly_py/python/writeonly_py_base.py @@ -14,7 +14,7 @@ from ossie.properties import struct_property from ossie.properties import structseq_property -import Queue, copy, time, threading +import queue, copy, time, threading class writeonly_py_base(CF__POA.Device, Device, ThreadedComponent): # These values can be altered in the __init__ of your derived class @@ -104,10 +104,10 @@ class FooStruct(object): def __init__(self, **kw): """Construct an initialized instance of this struct definition""" - for classattr in type(self).__dict__.itervalues(): + for classattr in type(self).__dict__.values(): if isinstance(classattr, (simple_property, simpleseq_property)): classattr.initialize(self) - for k,v in kw.items(): + for k,v in list(kw.items()): setattr(self,k,v) def __str__(self): diff --git a/redhawk/src/testing/sdr/dev/nodes/node_exec_params/node_exec_params/DeviceManager.false-false.dcd.xml b/redhawk/src/testing/sdr/dev/nodes/node_exec_params/node_exec_params/DeviceManager.false-false.dcd.xml index b85248ecb..d1af9d79e 100644 --- a/redhawk/src/testing/sdr/dev/nodes/node_exec_params/node_exec_params/DeviceManager.false-false.dcd.xml +++ b/redhawk/src/testing/sdr/dev/nodes/node_exec_params/node_exec_params/DeviceManager.false-false.dcd.xml @@ -19,7 +19,7 @@ - + diff --git a/redhawk/src/testing/sdr/dev/nodes/node_exec_params/node_exec_params/DeviceManager.true-true.dcd.xml b/redhawk/src/testing/sdr/dev/nodes/node_exec_params/node_exec_params/DeviceManager.true-true.dcd.xml index 571df1d60..0b4a1bd40 100644 --- a/redhawk/src/testing/sdr/dev/nodes/node_exec_params/node_exec_params/DeviceManager.true-true.dcd.xml +++ b/redhawk/src/testing/sdr/dev/nodes/node_exec_params/node_exec_params/DeviceManager.true-true.dcd.xml @@ -19,7 +19,7 @@ - + diff --git a/redhawk/src/testing/sdr/dev/nodes/node_exec_params/node_svc_exec_params/DeviceManager.false-false.dcd.xml b/redhawk/src/testing/sdr/dev/nodes/node_exec_params/node_svc_exec_params/DeviceManager.false-false.dcd.xml index 46087eda3..185db630b 100644 --- a/redhawk/src/testing/sdr/dev/nodes/node_exec_params/node_svc_exec_params/DeviceManager.false-false.dcd.xml +++ b/redhawk/src/testing/sdr/dev/nodes/node_exec_params/node_svc_exec_params/DeviceManager.false-false.dcd.xml @@ -18,7 +18,8 @@ - + + diff --git a/redhawk/src/testing/sdr/dev/nodes/node_exec_params/node_svc_exec_params/DeviceManager.true-true.dcd.xml b/redhawk/src/testing/sdr/dev/nodes/node_exec_params/node_svc_exec_params/DeviceManager.true-true.dcd.xml index 365973fab..097e174b6 100644 --- a/redhawk/src/testing/sdr/dev/nodes/node_exec_params/node_svc_exec_params/DeviceManager.true-true.dcd.xml +++ b/redhawk/src/testing/sdr/dev/nodes/node_exec_params/node_svc_exec_params/DeviceManager.true-true.dcd.xml @@ -18,7 +18,7 @@ - + diff --git a/redhawk/src/testing/sdr/dev/services/BasicService/BasicService.py b/redhawk/src/testing/sdr/dev/services/BasicService/BasicService.py index 122304fdb..7eaec1126 100755 --- a/redhawk/src/testing/sdr/dev/services/BasicService/BasicService.py +++ b/redhawk/src/testing/sdr/dev/services/BasicService/BasicService.py @@ -49,7 +49,7 @@ def configure(self, configProperties): def query(self, configProperties): # If the list is empty, get all props if configProperties == []: - return [CF.DataType(id=i, value=any.to_any(v)) for i,v in self.params.items()] + return [CF.DataType(id=i, value=any.to_any(v)) for i,v in list(self.params.items())] else: result = [] for p in configProperties: @@ -59,9 +59,9 @@ def query(self, configProperties): if __name__ == "__main__": # THESE ARE FOR UNITTESTING, REGULAR SERVICES SHOULD NOT USE THEM if not "SERVICE_NAME" in sys.argv: - raise StandardError, "Missing SERVICE_NAME" + raise Exception("Missing SERVICE_NAME") if not "DEVICE_MGR_IOR" in sys.argv: - raise StandardError, "Missing DEVICE_MGR_IOR" + raise Exception("Missing DEVICE_MGR_IOR") # THIS IS THE ONLY CODE THAT A REGULAR SERVICE SHOULD HAVE IN IT'S MAIN from omniORB import PortableServer diff --git a/redhawk/src/testing/sdr/dev/services/S2/python/S2.py b/redhawk/src/testing/sdr/dev/services/S2/python/S2.py index 799825164..4d2e076ba 100755 --- a/redhawk/src/testing/sdr/dev/services/S2/python/S2.py +++ b/redhawk/src/testing/sdr/dev/services/S2/python/S2.py @@ -25,9 +25,9 @@ def __init__(self, name="S2", execparams={}): try: self._props._addProperty( S2.p1 ) self._props._addProperty( S2.p2) - except KeyError, e: + except KeyError as e: pass - except Exceptiopn, e: + except Exceptiopn as e: raise e self._props.initialize() @@ -42,13 +42,13 @@ def configure(self, configProperties): if self._props.has_id(prop.id) and self._props.isConfigurable(prop.id): try: self._props.configure(prop.id, prop.value) - except Exception, e: + except Exception as e: self._log.warning("Invalid value provided to configure for property %s: %s", prop.id, e) notSet.append(prop) else: self._log.warning("Tried to configure non-existent, readonly, or property with action not equal to external %s", prop.id) notSet.append(prop) - except Exception, e: + except Exception as e: error_message += str(e) self._log.exception("Unexpected exception.") notSet.append(prop) @@ -66,11 +66,11 @@ def query(self, configProperties): self._log.trace("query all properties") try: rv = [] - for propid in self._props.keys(): + for propid in list(self._props.keys()): if self._props.has_id(propid) and self._props.isQueryable(propid): try: value = self._props.query(propid) - except Exception, e: + except Exception as e: self._log.error('Failed to query %s: %s', propid, e) value = any.to_any(None) prp = self._props.getPropDef(propid) @@ -101,7 +101,7 @@ def query(self, configProperties): if self._props.has_id(prop.id) and self._props.isQueryable(prop.id): try: prop.value = self._props.query(prop.id) - except Exception, e: + except Exception as e: self._log.error('Failed to query %s: %s', prop.id, e) prp = self._props.getPropDef(prop.id) if type(prp) == properties.struct_property: @@ -140,13 +140,13 @@ def initializeProperties(self, ctorProps): try: # run configure on property.. disable callback feature self._props.construct(prop.id, prop.value) - except ValueError, e: + except ValueError as e: self._log.warning("Invalid value provided to construct for property %s %s", prop.id, e) notSet.append(prop) else: self._log.warning("Tried to construct non-existent, readonly, or property with action not equal to external %s", prop.id) notSet.append(prop) - except Exception, e: + except Exception as e: self._log.exception("Unexpected exception.") notSet.append(prop) diff --git a/redhawk/src/testing/sdr/dev/services/S2_pre/python/S2_pre.py b/redhawk/src/testing/sdr/dev/services/S2_pre/python/S2_pre.py index daa0f9329..9e3c5f3aa 100755 --- a/redhawk/src/testing/sdr/dev/services/S2_pre/python/S2_pre.py +++ b/redhawk/src/testing/sdr/dev/services/S2_pre/python/S2_pre.py @@ -25,9 +25,9 @@ def __init__(self, name="S2_pre", execparams={}): try: self._props._addProperty( S2_pre.p1 ) self._props._addProperty( S2_pre.p2) - except KeyError, e: + except KeyError as e: pass - except Exceptiopn, e: + except Exceptiopn as e: raise e self._props.initialize() @@ -42,13 +42,13 @@ def configure(self, configProperties): if self._props.has_id(prop.id) and self._props.isConfigurable(prop.id): try: self._props.configure(prop.id, prop.value) - except Exception, e: + except Exception as e: self._log.warning("Invalid value provided to configure for property %s: %s", prop.id, e) notSet.append(prop) else: self._log.warning("Tried to configure non-existent, readonly, or property with action not equal to external %s", prop.id) notSet.append(prop) - except Exception, e: + except Exception as e: error_message += str(e) self._log.exception("Unexpected exception.") notSet.append(prop) @@ -67,11 +67,11 @@ def query(self, configProperties): self._log.trace("query all properties") try: rv = [] - for propid in self._props.keys(): + for propid in list(self._props.keys()): if self._props.has_id(propid) and self._props.isQueryable(propid): try: value = self._props.query(propid) - except Exception, e: + except Exception as e: self._log.error('Failed to query %s: %s', propid, e) value = any.to_any(None) prp = self._props.getPropDef(propid) @@ -102,7 +102,7 @@ def query(self, configProperties): if self._props.has_id(prop.id) and self._props.isQueryable(prop.id): try: prop.value = self._props.query(prop.id) - except Exception, e: + except Exception as e: self._log.error('Failed to query %s: %s', prop.id, e) prp = self._props.getPropDef(prop.id) if type(prp) == properties.struct_property: @@ -141,13 +141,13 @@ def initializeProperties(self, ctorProps): try: # run configure on property.. disable callback feature self._props.construct(prop.id, prop.value) - except ValueError, e: + except ValueError as e: self._log.warning("Invalid value provided to construct for property %s %s", prop.id, e) notSet.append(prop) else: self._log.warning("Tried to construct non-existent, readonly, or property with action not equal to external %s", prop.id) notSet.append(prop) - except Exception, e: + except Exception as e: self._log.exception("Unexpected exception.") notSet.append(prop) diff --git a/redhawk/src/testing/sdr/dev/services/start_event_service/python/start_event_service.py b/redhawk/src/testing/sdr/dev/services/start_event_service/python/start_event_service.py index 7c76c9f9e..77f853ec0 100755 --- a/redhawk/src/testing/sdr/dev/services/start_event_service/python/start_event_service.py +++ b/redhawk/src/testing/sdr/dev/services/start_event_service/python/start_event_service.py @@ -46,10 +46,10 @@ class StateChange(object): def __init__(self, **kw): """Construct an initialized instance of this struct definition""" - for classattr in type(self).__dict__.itervalues(): + for classattr in type(self).__dict__.values(): if isinstance(classattr, (simple_property, simpleseq_property)): classattr.initialize(self) - for k,v in kw.items(): + for k,v in list(kw.items()): setattr(self,k,v) def __str__(self): diff --git a/redhawk/src/testing/sdr/dom/components/BasicAC/BasicAC_python_impl1/BasicAC_python_impl1_base.py b/redhawk/src/testing/sdr/dom/components/BasicAC/BasicAC_python_impl1/BasicAC_python_impl1_base.py index 1248020c1..9b6556de8 100644 --- a/redhawk/src/testing/sdr/dom/components/BasicAC/BasicAC_python_impl1/BasicAC_python_impl1_base.py +++ b/redhawk/src/testing/sdr/dom/components/BasicAC/BasicAC_python_impl1/BasicAC_python_impl1_base.py @@ -29,7 +29,7 @@ from ossie.resource import Resource -import Queue, copy, time, threading +import queue, copy, time, threading from ossie.resource import usesport, providesport NOOP = -1 @@ -101,7 +101,7 @@ def stop(self): def releaseObject(self): try: self.stop() - except Exception, e: + except Exception as e: self._log.exception("Error stopping: " + str(e)) Resource.releaseObject(self) @@ -162,9 +162,9 @@ def initialize(self): try: try: - for connId, port in self.outPorts.items(): + for connId, port in list(self.outPorts.items()): if port != None: port.initialize() - except Exception, e: + except Exception as e: self.parent._log.exception("The call to initialize failed with %s on port %s connection %s instance %s", e, self.name, connId, port) finally: self.port_lock.release() @@ -174,9 +174,9 @@ def releaseObject(self): try: try: - for connId, port in self.outPorts.items(): + for connId, port in list(self.outPorts.items()): if port != None: port.releaseObject() - except Exception, e: + except Exception as e: self.parent._log.exception("The call to releaseObject failed with %s on port %s connection %s instance %s", e, self.name, connId, port) finally: self.port_lock.release() @@ -187,9 +187,9 @@ def runTest(self, testid, testValues): try: try: - for connId, port in self.outPorts.items(): + for connId, port in list(self.outPorts.items()): if port != None:retVal = port.runTest(testid, testValues) - except Exception, e: + except Exception as e: self.parent._log.exception("The call to runTest failed with %s on port %s connection %s instance %s", e, self.name, connId, port) finally: self.port_lock.release() @@ -201,9 +201,9 @@ def configure(self, configProperties): try: try: - for connId, port in self.outPorts.items(): + for connId, port in list(self.outPorts.items()): if port != None: port.configure(configProperties) - except Exception, e: + except Exception as e: self.parent._log.exception("The call to configure failed with %s on port %s connection %s instance %s", e, self.name, connId, port) finally: self.port_lock.release() @@ -214,9 +214,9 @@ def query(self, configProperties): try: try: - for connId, port in self.outPorts.items(): + for connId, port in list(self.outPorts.items()): if port != None:retVal = port.query(configProperties) - except Exception, e: + except Exception as e: self.parent._log.exception("The call to query failed with %s on port %s connection %s instance %s", e, self.name, connId, port) finally: self.port_lock.release() @@ -229,9 +229,9 @@ def getPort(self, name): try: try: - for connId, port in self.outPorts.items(): + for connId, port in list(self.outPorts.items()): if port != None:retVal = port.getPort(name) - except Exception, e: + except Exception as e: self.parent._log.exception("The call to getPort failed with %s on port %s connection %s instance %s", e, self.name, connId, port) finally: self.port_lock.release() @@ -243,9 +243,9 @@ def start(self): try: try: - for connId, port in self.outPorts.items(): + for connId, port in list(self.outPorts.items()): if port != None: port.start() - except Exception, e: + except Exception as e: self.parent._log.exception("The call to start failed with %s on port %s connection %s instance %s", e, self.name, connId, port) finally: self.port_lock.release() @@ -255,9 +255,9 @@ def stop(self): try: try: - for connId, port in self.outPorts.items(): + for connId, port in list(self.outPorts.items()): if port != None: port.stop() - except Exception, e: + except Exception as e: self.parent._log.exception("The call to stop failed with %s on port %s connection %s instance %s", e, self.name, connId, port) finally: self.port_lock.release() @@ -268,10 +268,10 @@ def _get_identifier(self): try: try: - for connId, port in self.outPorts.items(): + for connId, port in list(self.outPorts.items()): if port != None: retVal = port.identifier() - except Exception, e: + except Exception as e: self.parent._log.exception("The call to identifier failed with %s on port %s connection %s instance %s", e, self.name, connId, port) finally: self.port_lock.release() @@ -284,10 +284,10 @@ def _get_started(self): try: try: - for connId, port in self.outPorts.items(): + for connId, port in list(self.outPorts.items()): if port != None: retVal = port.started() - except Exception, e: + except Exception as e: self.parent._log.exception("The call to started failed with %s on port %s connection %s instance %s", e, self.name, connId, port) finally: self.port_lock.release() diff --git a/redhawk/src/testing/sdr/dom/components/CommandWrapper/CommandWrapper.py b/redhawk/src/testing/sdr/dom/components/CommandWrapper/CommandWrapper.py index 340fd716f..d8db6582d 100755 --- a/redhawk/src/testing/sdr/dom/components/CommandWrapper/CommandWrapper.py +++ b/redhawk/src/testing/sdr/dom/components/CommandWrapper/CommandWrapper.py @@ -50,7 +50,7 @@ def __init__(self, identifier, execparams): loggerName = "CommandWrapper" Resource.__init__(self, identifier, execparams, loggerName=loggerName) self._pid = None - self.execparams = execparams.items() + self.execparams = list(execparams.items()) ##################################### # Implement the Resource interface diff --git a/redhawk/src/testing/sdr/dom/components/CommandWrapperBad/CommandWrapperBad.py b/redhawk/src/testing/sdr/dom/components/CommandWrapperBad/CommandWrapperBad.py index 3887dac08..f8aa78a2f 100755 --- a/redhawk/src/testing/sdr/dom/components/CommandWrapperBad/CommandWrapperBad.py +++ b/redhawk/src/testing/sdr/dom/components/CommandWrapperBad/CommandWrapperBad.py @@ -62,7 +62,7 @@ def __init__(self, parent_orb, execparams, poa): self.uuid = execparams['COMPONENT_IDENTIFIER'] # The storage of property values that don't have getters/setters self.propertySet = {} - execparams_value = " ".join(["%s %s" % x for x in execparams.items()]) + execparams_value = " ".join(["%s %s" % x for x in list(execparams.items())]) self.propertySet[getId("execparams")] = CF.DataType(id=getId("execparams"), value=omniORB.any.to_any(execparams_value)) # The PID of the child process @@ -119,7 +119,7 @@ def query(self, props): self._log.debug("%s.query()", self.naming_service_name) # If the properties list is empty we query all properties if len(props) == 0: - for property in self.propertySet.values(): + for property in list(self.propertySet.values()): props.append(property) for property in props: @@ -202,15 +202,15 @@ def exit_handler(signum, frame): except IndexError: pass - print execparams - if not execparams.has_key('NAMING_CONTEXT_IOR'): - print "Missing required execparam NAMING_CONTEXT_IOR" + print(execparams) + if 'NAMING_CONTEXT_IOR' not in execparams: + print("Missing required execparam NAMING_CONTEXT_IOR") sys.exit(-1) - if not execparams.has_key('COMPONENT_IDENTIFIER'): - print "Missing required execparam COMPONENT_IDENTIFIER" + if 'COMPONENT_IDENTIFIER' not in execparams: + print("Missing required execparam COMPONENT_IDENTIFIER") sys.exit(-1) - if not execparams.has_key('NAME_BINDING'): - print "Missing required execparam NAME_BINDING" + if 'NAME_BINDING' not in execparams: + print("Missing required execparam NAME_BINDING") sys.exit(-1) orb = None @@ -224,7 +224,7 @@ def exit_handler(signum, frame): # get the device manager rootContext = orb.string_to_object(execparams['NAMING_CONTEXT_IOR']) if rootContext == None: - print "Failed to lookup naming context" + print("Failed to lookup naming context") sys.exit(-1) rootContext = rootContext._narrow(CosNaming.NamingContext) diff --git a/redhawk/src/testing/sdr/dom/components/CommandWrapperEmptyDir/cmd_dir/CommandWrapper.py b/redhawk/src/testing/sdr/dom/components/CommandWrapperEmptyDir/cmd_dir/CommandWrapper.py index 0b97cb69b..c81737223 100644 --- a/redhawk/src/testing/sdr/dom/components/CommandWrapperEmptyDir/cmd_dir/CommandWrapper.py +++ b/redhawk/src/testing/sdr/dom/components/CommandWrapperEmptyDir/cmd_dir/CommandWrapper.py @@ -50,7 +50,7 @@ def __init__(self, identifier, execparams): loggerName = "CommandWrapper" Resource.__init__(self, identifier, execparams, loggerName=loggerName) self._pid = None - self.execparams = execparams.items() + self.execparams = list(execparams.items()) ##################################### # Implement the Resource interface diff --git a/redhawk/src/testing/sdr/dom/components/CommandWrapperLight/CommandWrapper.py b/redhawk/src/testing/sdr/dom/components/CommandWrapperLight/CommandWrapper.py index 8ad258637..aab995072 100755 --- a/redhawk/src/testing/sdr/dom/components/CommandWrapperLight/CommandWrapper.py +++ b/redhawk/src/testing/sdr/dom/components/CommandWrapperLight/CommandWrapper.py @@ -42,7 +42,7 @@ def __init__(self, identifier, execparams): loggerName = execparams['NAME_BINDING'].replace('/', '.') Resource.__init__(self, identifier, execparams, loggerName=loggerName) self._pid = None - self.execparams = " ".join(["%s %s" % x for x in execparams.items()]) + self.execparams = " ".join(["%s %s" % x for x in list(execparams.items())]) ##################################### # Implement the Resource interface diff --git a/redhawk/src/testing/sdr/dom/components/CommandWrapperMultipleImplementations/CommandWrapper.py b/redhawk/src/testing/sdr/dom/components/CommandWrapperMultipleImplementations/CommandWrapper.py index 6a95f5523..3ba80bdb8 100755 --- a/redhawk/src/testing/sdr/dom/components/CommandWrapperMultipleImplementations/CommandWrapper.py +++ b/redhawk/src/testing/sdr/dom/components/CommandWrapperMultipleImplementations/CommandWrapper.py @@ -29,84 +29,84 @@ PROPERTIES = ( ( - u'DCE:a4e7b230-1d17-4a86-aeff-ddc6ea3df26e', # ID - u'command', # NAME - u'string', # TYPE - u'readwrite', # MODE + 'DCE:a4e7b230-1d17-4a86-aeff-ddc6ea3df26e', # ID + 'command', # NAME + 'string', # TYPE + 'readwrite', # MODE '/bin/echo', # DEFAULT None, # UNITS 'external', # ACTION - (u'configure',), # KINDS + ('configure',), # KINDS ), ( - u'DCE:95f19cb8-679e-48fb-bece-dc199ef45f20', # ID - u'commandAlive', # NAME - u'boolean', # TYPE - u'readonly', # MODE + 'DCE:95f19cb8-679e-48fb-bece-dc199ef45f20', # ID + 'commandAlive', # NAME + 'boolean', # TYPE + 'readonly', # MODE False, # DEFAULT None, # UNITS 'external', # ACTION - (u'configure',), # KINDS + ('configure',), # KINDS ), ( - u'DCE:fa8c5924-845c-484a-81df-7941f2c5baa9', # ID - u'someprop', # NAME - u'long', # TYPE - u'readwrite', # MODE + 'DCE:fa8c5924-845c-484a-81df-7941f2c5baa9', # ID + 'someprop', # NAME + 'long', # TYPE + 'readwrite', # MODE 10, # DEFAULT None, # UNITS 'external', # ACTION - (u'configure',), # KINDS + ('configure',), # KINDS ), ( - u'DCE:85d133fd-1658-4e4d-b3ff-1443cd44c0e2', # ID - u'execparams', # NAME - u'string', # TYPE - u'readonly', # MODE + 'DCE:85d133fd-1658-4e4d-b3ff-1443cd44c0e2', # ID + 'execparams', # NAME + 'string', # TYPE + 'readonly', # MODE None, # DEFAULT None, # UNITS 'external', # ACTION - (u'configure',), # KINDS + ('configure',), # KINDS ), ( - u'EXEC_PARAM_1', # ID - u'Parameter 1', # NAME - u'string', # TYPE - u'readwrite', # MODE + 'EXEC_PARAM_1', # ID + 'Parameter 1', # NAME + 'string', # TYPE + 'readwrite', # MODE 'Test1', # DEFAULT None, # UNITS 'external', # ACTION - (u'execparam',), # KINDS + ('execparam',), # KINDS ), ( - u'EXEC_PARAM_2', # ID - u'Parameter 2', # NAME - u'string', # TYPE - u'readwrite', # MODE + 'EXEC_PARAM_2', # ID + 'Parameter 2', # NAME + 'string', # TYPE + 'readwrite', # MODE '2', # DEFAULT None, # UNITS 'external', # ACTION - (u'execparam',), # KINDS + ('execparam',), # KINDS ), ( - u'EXEC_PARAM_3', # ID - u'Parameter 3', # NAME - u'string', # TYPE - u'readwrite', # MODE + 'EXEC_PARAM_3', # ID + 'Parameter 3', # NAME + 'string', # TYPE + 'readwrite', # MODE '3.3333', # DEFAULT None, # UNITS 'external', # ACTION - (u'execparam',), # KINDS + ('execparam',), # KINDS ), ( - u'DCE:5d8bfe8d-bc25-4f26-8144-248bc343aa53', # ID - u'args', # NAME - u'string', # TYPE - u'readwrite', # MODE + 'DCE:5d8bfe8d-bc25-4f26-8144-248bc343aa53', # ID + 'args', # NAME + 'string', # TYPE + 'readwrite', # MODE ('Hello World',), # DEFAULT None, # UNITS 'external', # ACTION - (u'configure',), # KINDS + ('configure',), # KINDS ), ) @@ -122,7 +122,7 @@ class CommandWrapper_i(CF__POA.Resource, Resource): def __init__(self, identifier, execparams): loggerName = execparams['NAME_BINDING'].replace('/', '.') Resource.__init__(self, identifier, execparams, propertydefs=PROPERTIES, loggerName=loggerName) - self._props["execparams"] = " ".join(["%s %s" % x for x in execparams.items()]) + self._props["execparams"] = " ".join(["%s %s" % x for x in list(execparams.items())]) self._pid = None ##################################### diff --git a/redhawk/src/testing/sdr/dom/components/CommandWrapperNestedSPDDep/CommandWrapperNestedSPDDep.py b/redhawk/src/testing/sdr/dom/components/CommandWrapperNestedSPDDep/CommandWrapperNestedSPDDep.py index dd406babc..c11064093 100755 --- a/redhawk/src/testing/sdr/dom/components/CommandWrapperNestedSPDDep/CommandWrapperNestedSPDDep.py +++ b/redhawk/src/testing/sdr/dom/components/CommandWrapperNestedSPDDep/CommandWrapperNestedSPDDep.py @@ -46,7 +46,7 @@ def __init__(self, identifier, execparams): loggerName = execparams['NAME_BINDING'].replace('/', '.') Resource.__init__(self, identifier, execparams, loggerName=loggerName) self._pid = None - self.execparams = " ".join(["%s %s" % x for x in execparams.items()]) + self.execparams = " ".join(["%s %s" % x for x in list(execparams.items())]) ##################################### # Implement the Resource interface diff --git a/redhawk/src/testing/sdr/dom/components/CommandWrapperSPDDep/CommandWrapperSPDDep.py b/redhawk/src/testing/sdr/dom/components/CommandWrapperSPDDep/CommandWrapperSPDDep.py index d95d8f32e..40802d350 100755 --- a/redhawk/src/testing/sdr/dom/components/CommandWrapperSPDDep/CommandWrapperSPDDep.py +++ b/redhawk/src/testing/sdr/dom/components/CommandWrapperSPDDep/CommandWrapperSPDDep.py @@ -45,7 +45,7 @@ def __init__(self, identifier, execparams): loggerName = execparams['NAME_BINDING'].replace('/', '.') Resource.__init__(self, identifier, execparams, loggerName=loggerName) self._pid = None - self.execparams = " ".join(["%s %s" % x for x in execparams.items()]) + self.execparams = " ".join(["%s %s" % x for x in list(execparams.items())]) ##################################### # Implement the Resource interface diff --git a/redhawk/src/testing/sdr/dom/components/CommandWrapperSPDDep_collide/CommandWrapperSPDDep.py b/redhawk/src/testing/sdr/dom/components/CommandWrapperSPDDep_collide/CommandWrapperSPDDep.py index c53bd3cd2..7c5a2350b 100755 --- a/redhawk/src/testing/sdr/dom/components/CommandWrapperSPDDep_collide/CommandWrapperSPDDep.py +++ b/redhawk/src/testing/sdr/dom/components/CommandWrapperSPDDep_collide/CommandWrapperSPDDep.py @@ -45,7 +45,7 @@ def __init__(self, identifier, execparams): loggerName = execparams['NAME_BINDING'].replace('/', '.') Resource.__init__(self, identifier, execparams, loggerName=loggerName) self._pid = None - self.execparams = " ".join(["%s %s" % x for x in execparams.items()]) + self.execparams = " ".join(["%s %s" % x for x in list(execparams.items())]) ##################################### # Implement the Resource interface diff --git a/redhawk/src/testing/sdr/dom/components/CommandWrapperStartCounter/python/CommandWrapperStartCounter_base.py b/redhawk/src/testing/sdr/dom/components/CommandWrapperStartCounter/python/CommandWrapperStartCounter_base.py index df70317fd..1807fa055 100644 --- a/redhawk/src/testing/sdr/dom/components/CommandWrapperStartCounter/python/CommandWrapperStartCounter_base.py +++ b/redhawk/src/testing/sdr/dom/components/CommandWrapperStartCounter/python/CommandWrapperStartCounter_base.py @@ -33,7 +33,7 @@ from ossie.resource import Resource from ossie.properties import simple_property -import Queue, copy, time, threading +import queue, copy, time, threading NOOP = -1 NORMAL = 0 @@ -106,7 +106,7 @@ def stop(self): def releaseObject(self): try: self.stop() - except Exception, e: + except Exception as e: self._log.exception("Error stopping: " + str(e)) Resource.releaseObject(self) diff --git a/redhawk/src/testing/sdr/dom/components/CommandWrapperSubProcess/executables/CommandWrapperSubProcess.py b/redhawk/src/testing/sdr/dom/components/CommandWrapperSubProcess/executables/CommandWrapperSubProcess.py index 75338f676..d0b86282b 100755 --- a/redhawk/src/testing/sdr/dom/components/CommandWrapperSubProcess/executables/CommandWrapperSubProcess.py +++ b/redhawk/src/testing/sdr/dom/components/CommandWrapperSubProcess/executables/CommandWrapperSubProcess.py @@ -43,7 +43,7 @@ def __init__(self, identifier, execparams): loggerName = execparams['NAME_BINDING'].replace('/', '.') Resource.__init__(self, identifier, execparams, loggerName=loggerName) self._pid = None - self.execparams = " ".join(["%s %s" % x for x in execparams.items()]) + self.execparams = " ".join(["%s %s" % x for x in list(execparams.items())]) command = "python" args = [command, "components/CommandWrapperSubProcess/executables/FirstChild.py"] sp = subprocess.Popen(args, executable=command, cwd=os.getcwd()) diff --git a/redhawk/src/testing/sdr/dom/components/CommandWrapperWithDirectoryLoad/py_impl1/CommandWrapper.py b/redhawk/src/testing/sdr/dom/components/CommandWrapperWithDirectoryLoad/py_impl1/CommandWrapper.py index 3ade1b979..ed26946a4 100755 --- a/redhawk/src/testing/sdr/dom/components/CommandWrapperWithDirectoryLoad/py_impl1/CommandWrapper.py +++ b/redhawk/src/testing/sdr/dom/components/CommandWrapperWithDirectoryLoad/py_impl1/CommandWrapper.py @@ -29,84 +29,84 @@ PROPERTIES = ( ( - u'DCE:a4e7b230-1d17-4a86-aeff-ddc6ea3df26e', # ID - u'command', # NAME - u'string', # TYPE - u'readwrite', # MODE + 'DCE:a4e7b230-1d17-4a86-aeff-ddc6ea3df26e', # ID + 'command', # NAME + 'string', # TYPE + 'readwrite', # MODE '/bin/echo', # DEFAULT None, # UNITS 'external', # ACTION - (u'configure',), # KINDS + ('configure',), # KINDS ), ( - u'DCE:95f19cb8-679e-48fb-bece-dc199ef45f20', # ID - u'commandAlive', # NAME - u'boolean', # TYPE - u'readonly', # MODE + 'DCE:95f19cb8-679e-48fb-bece-dc199ef45f20', # ID + 'commandAlive', # NAME + 'boolean', # TYPE + 'readonly', # MODE False, # DEFAULT None, # UNITS 'external', # ACTION - (u'configure',), # KINDS + ('configure',), # KINDS ), ( - u'DCE:fa8c5924-845c-484a-81df-7941f2c5baa9', # ID - u'someprop', # NAME - u'long', # TYPE - u'readwrite', # MODE + 'DCE:fa8c5924-845c-484a-81df-7941f2c5baa9', # ID + 'someprop', # NAME + 'long', # TYPE + 'readwrite', # MODE 10, # DEFAULT None, # UNITS 'external', # ACTION - (u'configure',), # KINDS + ('configure',), # KINDS ), ( - u'DCE:85d133fd-1658-4e4d-b3ff-1443cd44c0e2', # ID - u'execparams', # NAME - u'string', # TYPE - u'readonly', # MODE + 'DCE:85d133fd-1658-4e4d-b3ff-1443cd44c0e2', # ID + 'execparams', # NAME + 'string', # TYPE + 'readonly', # MODE None, # DEFAULT None, # UNITS 'external', # ACTION - (u'configure',), # KINDS + ('configure',), # KINDS ), ( - u'EXEC_PARAM_1', # ID - u'Parameter 1', # NAME - u'string', # TYPE - u'readonly', # MODE + 'EXEC_PARAM_1', # ID + 'Parameter 1', # NAME + 'string', # TYPE + 'readonly', # MODE 'Test1', # DEFAULT None, # UNITS 'external', # ACTION - (u'execparam',), # KINDS + ('execparam',), # KINDS ), ( - u'EXEC_PARAM_2', # ID - u'Parameter 2', # NAME - u'string', # TYPE - u'readonly', # MODE + 'EXEC_PARAM_2', # ID + 'Parameter 2', # NAME + 'string', # TYPE + 'readonly', # MODE '2', # DEFAULT None, # UNITS 'external', # ACTION - (u'execparam',), # KINDS + ('execparam',), # KINDS ), ( - u'EXEC_PARAM_3', # ID - u'Parameter 3', # NAME - u'string', # TYPE - u'readonly', # MODE + 'EXEC_PARAM_3', # ID + 'Parameter 3', # NAME + 'string', # TYPE + 'readonly', # MODE '3.3333', # DEFAULT None, # UNITS 'external', # ACTION - (u'execparam',), # KINDS + ('execparam',), # KINDS ), ( - u'DCE:5d8bfe8d-bc25-4f26-8144-248bc343aa53', # ID - u'args', # NAME - u'string', # TYPE - u'readwrite', # MODE + 'DCE:5d8bfe8d-bc25-4f26-8144-248bc343aa53', # ID + 'args', # NAME + 'string', # TYPE + 'readwrite', # MODE ('Hello World',), # DEFAULT None, # UNITS 'external', # ACTION - (u'configure',), # KINDS + ('configure',), # KINDS ), ) @@ -122,7 +122,7 @@ class CommandWrapper_i(CF__POA.Resource, Resource): def __init__(self, identifier, execparams): loggerName = execparams['NAME_BINDING'].replace('/', '.') Resource.__init__(self, identifier, execparams, propertydefs=PROPERTIES, loggerName=loggerName) - self._props["execparams"] = " ".join(["%s %s" % x for x in execparams.items()]) + self._props["execparams"] = " ".join(["%s %s" % x for x in list(execparams.items())]) self._pid = None ##################################### diff --git a/redhawk/src/testing/sdr/dom/components/CommandWrapperWithRelativePaths/CommandWrapper.py b/redhawk/src/testing/sdr/dom/components/CommandWrapperWithRelativePaths/CommandWrapper.py index 3ade1b979..ed26946a4 100755 --- a/redhawk/src/testing/sdr/dom/components/CommandWrapperWithRelativePaths/CommandWrapper.py +++ b/redhawk/src/testing/sdr/dom/components/CommandWrapperWithRelativePaths/CommandWrapper.py @@ -29,84 +29,84 @@ PROPERTIES = ( ( - u'DCE:a4e7b230-1d17-4a86-aeff-ddc6ea3df26e', # ID - u'command', # NAME - u'string', # TYPE - u'readwrite', # MODE + 'DCE:a4e7b230-1d17-4a86-aeff-ddc6ea3df26e', # ID + 'command', # NAME + 'string', # TYPE + 'readwrite', # MODE '/bin/echo', # DEFAULT None, # UNITS 'external', # ACTION - (u'configure',), # KINDS + ('configure',), # KINDS ), ( - u'DCE:95f19cb8-679e-48fb-bece-dc199ef45f20', # ID - u'commandAlive', # NAME - u'boolean', # TYPE - u'readonly', # MODE + 'DCE:95f19cb8-679e-48fb-bece-dc199ef45f20', # ID + 'commandAlive', # NAME + 'boolean', # TYPE + 'readonly', # MODE False, # DEFAULT None, # UNITS 'external', # ACTION - (u'configure',), # KINDS + ('configure',), # KINDS ), ( - u'DCE:fa8c5924-845c-484a-81df-7941f2c5baa9', # ID - u'someprop', # NAME - u'long', # TYPE - u'readwrite', # MODE + 'DCE:fa8c5924-845c-484a-81df-7941f2c5baa9', # ID + 'someprop', # NAME + 'long', # TYPE + 'readwrite', # MODE 10, # DEFAULT None, # UNITS 'external', # ACTION - (u'configure',), # KINDS + ('configure',), # KINDS ), ( - u'DCE:85d133fd-1658-4e4d-b3ff-1443cd44c0e2', # ID - u'execparams', # NAME - u'string', # TYPE - u'readonly', # MODE + 'DCE:85d133fd-1658-4e4d-b3ff-1443cd44c0e2', # ID + 'execparams', # NAME + 'string', # TYPE + 'readonly', # MODE None, # DEFAULT None, # UNITS 'external', # ACTION - (u'configure',), # KINDS + ('configure',), # KINDS ), ( - u'EXEC_PARAM_1', # ID - u'Parameter 1', # NAME - u'string', # TYPE - u'readonly', # MODE + 'EXEC_PARAM_1', # ID + 'Parameter 1', # NAME + 'string', # TYPE + 'readonly', # MODE 'Test1', # DEFAULT None, # UNITS 'external', # ACTION - (u'execparam',), # KINDS + ('execparam',), # KINDS ), ( - u'EXEC_PARAM_2', # ID - u'Parameter 2', # NAME - u'string', # TYPE - u'readonly', # MODE + 'EXEC_PARAM_2', # ID + 'Parameter 2', # NAME + 'string', # TYPE + 'readonly', # MODE '2', # DEFAULT None, # UNITS 'external', # ACTION - (u'execparam',), # KINDS + ('execparam',), # KINDS ), ( - u'EXEC_PARAM_3', # ID - u'Parameter 3', # NAME - u'string', # TYPE - u'readonly', # MODE + 'EXEC_PARAM_3', # ID + 'Parameter 3', # NAME + 'string', # TYPE + 'readonly', # MODE '3.3333', # DEFAULT None, # UNITS 'external', # ACTION - (u'execparam',), # KINDS + ('execparam',), # KINDS ), ( - u'DCE:5d8bfe8d-bc25-4f26-8144-248bc343aa53', # ID - u'args', # NAME - u'string', # TYPE - u'readwrite', # MODE + 'DCE:5d8bfe8d-bc25-4f26-8144-248bc343aa53', # ID + 'args', # NAME + 'string', # TYPE + 'readwrite', # MODE ('Hello World',), # DEFAULT None, # UNITS 'external', # ACTION - (u'configure',), # KINDS + ('configure',), # KINDS ), ) @@ -122,7 +122,7 @@ class CommandWrapper_i(CF__POA.Resource, Resource): def __init__(self, identifier, execparams): loggerName = execparams['NAME_BINDING'].replace('/', '.') Resource.__init__(self, identifier, execparams, propertydefs=PROPERTIES, loggerName=loggerName) - self._props["execparams"] = " ".join(["%s %s" % x for x in execparams.items()]) + self._props["execparams"] = " ".join(["%s %s" % x for x in list(execparams.items())]) self._pid = None ##################################### diff --git a/redhawk/src/testing/sdr/dom/components/ECM_CPP/tests/test_ECM_CPP.py b/redhawk/src/testing/sdr/dom/components/ECM_CPP/tests/test_ECM_CPP.py index d5378c29e..cdadc8003 100644 --- a/redhawk/src/testing/sdr/dom/components/ECM_CPP/tests/test_ECM_CPP.py +++ b/redhawk/src/testing/sdr/dom/components/ECM_CPP/tests/test_ECM_CPP.py @@ -50,7 +50,7 @@ def testScaBasicBehavior(self): props = dict((x.id, any.from_any(x.value)) for x in props) # Query may return more than expected, but not less for expectedProp in expectedProps: - self.assertEquals(props.has_key(expectedProp.id), True) + self.assertEqual(expectedProp.id in props, True) ####################################################################### # Verify that all expected ports are available diff --git a/redhawk/src/testing/sdr/dom/components/ECM_JAVA/tests/test_ECM_JAVA.py b/redhawk/src/testing/sdr/dom/components/ECM_JAVA/tests/test_ECM_JAVA.py index 2e91b094c..284bd5714 100644 --- a/redhawk/src/testing/sdr/dom/components/ECM_JAVA/tests/test_ECM_JAVA.py +++ b/redhawk/src/testing/sdr/dom/components/ECM_JAVA/tests/test_ECM_JAVA.py @@ -50,7 +50,7 @@ def testScaBasicBehavior(self): props = dict((x.id, any.from_any(x.value)) for x in props) # Query may return more than expected, but not less for expectedProp in expectedProps: - self.assertEquals(props.has_key(expectedProp.id), True) + self.assertEqual(expectedProp.id in props, True) ####################################################################### # Verify that all expected ports are available diff --git a/redhawk/src/testing/sdr/dom/components/ECM_PY/python/ECM_PY_base.py b/redhawk/src/testing/sdr/dom/components/ECM_PY/python/ECM_PY_base.py index 3a24e5653..6164bf37f 100644 --- a/redhawk/src/testing/sdr/dom/components/ECM_PY/python/ECM_PY_base.py +++ b/redhawk/src/testing/sdr/dom/components/ECM_PY/python/ECM_PY_base.py @@ -30,7 +30,7 @@ from ossie.threadedcomponent import * from ossie.properties import simple_property -import Queue, copy, time, threading +import queue, copy, time, threading class ECM_PY_base(CF__POA.Resource, Component, ThreadedComponent): # These values can be altered in the __init__ of your derived class diff --git a/redhawk/src/testing/sdr/dom/components/ECM_PY/tests/test_ECM_PY.py b/redhawk/src/testing/sdr/dom/components/ECM_PY/tests/test_ECM_PY.py index ee31aed17..26e40d9ec 100644 --- a/redhawk/src/testing/sdr/dom/components/ECM_PY/tests/test_ECM_PY.py +++ b/redhawk/src/testing/sdr/dom/components/ECM_PY/tests/test_ECM_PY.py @@ -50,7 +50,7 @@ def testScaBasicBehavior(self): props = dict((x.id, any.from_any(x.value)) for x in props) # Query may return more than expected, but not less for expectedProp in expectedProps: - self.assertEquals(props.has_key(expectedProp.id), True) + self.assertEqual(expectedProp.id in props, True) ####################################################################### # Verify that all expected ports are available diff --git a/redhawk/src/testing/sdr/dom/components/EmptyString/python/EmptyString_base.py b/redhawk/src/testing/sdr/dom/components/EmptyString/python/EmptyString_base.py index a0ca735f2..ed5ce5ef4 100644 --- a/redhawk/src/testing/sdr/dom/components/EmptyString/python/EmptyString_base.py +++ b/redhawk/src/testing/sdr/dom/components/EmptyString/python/EmptyString_base.py @@ -11,7 +11,7 @@ from ossie.threadedcomponent import * from ossie.properties import simple_property -import Queue, copy, time, threading +import queue, copy, time, threading class EmptyString_base(CF__POA.Resource, Component, ThreadedComponent): # These values can be altered in the __init__ of your derived class diff --git a/redhawk/src/testing/sdr/dom/components/EventReceive/tests/test_EventReceive.py b/redhawk/src/testing/sdr/dom/components/EventReceive/tests/test_EventReceive.py index 3542290e5..018559db3 100644 --- a/redhawk/src/testing/sdr/dom/components/EventReceive/tests/test_EventReceive.py +++ b/redhawk/src/testing/sdr/dom/components/EventReceive/tests/test_EventReceive.py @@ -58,7 +58,7 @@ def testScaBasicBehavior(self): props = dict((x.id, any.from_any(x.value)) for x in props) # Query may return more than expected, but not less for expectedProp in expectedProps: - self.assertEquals(props.has_key(expectedProp.id), True) + self.assertEqual(expectedProp.id in props, True) ####################################################################### # Verify that all expected ports are available diff --git a/redhawk/src/testing/sdr/dom/components/EventSend/tests/test_EventSend.py b/redhawk/src/testing/sdr/dom/components/EventSend/tests/test_EventSend.py index 4204ed2ed..f6a5dcbed 100644 --- a/redhawk/src/testing/sdr/dom/components/EventSend/tests/test_EventSend.py +++ b/redhawk/src/testing/sdr/dom/components/EventSend/tests/test_EventSend.py @@ -58,7 +58,7 @@ def testScaBasicBehavior(self): props = dict((x.id, any.from_any(x.value)) for x in props) # Query may return more than expected, but not less for expectedProp in expectedProps: - self.assertEquals(props.has_key(expectedProp.id), True) + self.assertEqual(expectedProp.id in props, True) ####################################################################### # Verify that all expected ports are available diff --git a/redhawk/src/testing/sdr/dom/components/FailStartup/python/FailStartup.py b/redhawk/src/testing/sdr/dom/components/FailStartup/python/FailStartup.py index c7a5df24c..46f95bffd 100755 --- a/redhawk/src/testing/sdr/dom/components/FailStartup/python/FailStartup.py +++ b/redhawk/src/testing/sdr/dom/components/FailStartup/python/FailStartup.py @@ -32,7 +32,7 @@ class FailStartup_i(FailStartup_base): def __init__(self, identifier, execparams): if execparams['FAIL_AT'] == 'constructor': - raise StandardError + raise Exception FailStartup_base.__init__(self, identifier, execparams) def _get_identifier(self): diff --git a/redhawk/src/testing/sdr/dom/components/FailStartup/python/FailStartup_base.py b/redhawk/src/testing/sdr/dom/components/FailStartup/python/FailStartup_base.py index 75f92ff60..711ddb028 100644 --- a/redhawk/src/testing/sdr/dom/components/FailStartup/python/FailStartup_base.py +++ b/redhawk/src/testing/sdr/dom/components/FailStartup/python/FailStartup_base.py @@ -30,7 +30,7 @@ from ossie.threadedcomponent import * from ossie.properties import simple_property -import Queue, copy, time, threading +import queue, copy, time, threading class FailStartup_base(CF__POA.Resource, Component, ThreadedComponent): # These values can be altered in the __init__ of your derived class diff --git a/redhawk/src/testing/sdr/dom/components/FailableComponent/python/FailableComponent_base.py b/redhawk/src/testing/sdr/dom/components/FailableComponent/python/FailableComponent_base.py index 25730bb59..c765f039a 100644 --- a/redhawk/src/testing/sdr/dom/components/FailableComponent/python/FailableComponent_base.py +++ b/redhawk/src/testing/sdr/dom/components/FailableComponent/python/FailableComponent_base.py @@ -30,7 +30,7 @@ from ossie.threadedcomponent import * from ossie.properties import simple_property -import Queue, copy, time, threading +import queue, copy, time, threading class FailableComponent_base(CF__POA.Resource, Resource, ThreadedComponent): # These values can be altered in the __init__ of your derived class diff --git a/redhawk/src/testing/sdr/dom/components/MsgPort_P/python/MsgPort_P_base.py b/redhawk/src/testing/sdr/dom/components/MsgPort_P/python/MsgPort_P_base.py index e6f342403..7d3e3caf3 100644 --- a/redhawk/src/testing/sdr/dom/components/MsgPort_P/python/MsgPort_P_base.py +++ b/redhawk/src/testing/sdr/dom/components/MsgPort_P/python/MsgPort_P_base.py @@ -32,7 +32,7 @@ from ossie.properties import simpleseq_property from ossie.properties import struct_property -import Queue, copy, time, threading +import queue, copy, time, threading from ossie.resource import usesport, providesport from ossie.events import MessageSupplierPort @@ -99,10 +99,10 @@ class MsgOut(object): def __init__(self, **kw): """Construct an initialized instance of this struct definition""" - for classattr in type(self).__dict__.itervalues(): + for classattr in type(self).__dict__.values(): if isinstance(classattr, (simple_property, simpleseq_property)): classattr.initialize(self) - for k,v in kw.items(): + for k,v in list(kw.items()): setattr(self,k,v) def __str__(self): diff --git a/redhawk/src/testing/sdr/dom/components/NOOP_ADDITIONAL_DEP/python/NOOP_ADDITIONAL_DEP_base.py b/redhawk/src/testing/sdr/dom/components/NOOP_ADDITIONAL_DEP/python/NOOP_ADDITIONAL_DEP_base.py index 40e28c642..8d337e374 100644 --- a/redhawk/src/testing/sdr/dom/components/NOOP_ADDITIONAL_DEP/python/NOOP_ADDITIONAL_DEP_base.py +++ b/redhawk/src/testing/sdr/dom/components/NOOP_ADDITIONAL_DEP/python/NOOP_ADDITIONAL_DEP_base.py @@ -29,7 +29,7 @@ from ossie.component import Component from ossie.threadedcomponent import * -import Queue, copy, time, threading +import queue, copy, time, threading class NOOP_ADDITIONAL_DEP_base(CF__POA.Resource, Component, ThreadedComponent): # These values can be altered in the __init__ of your derived class diff --git a/redhawk/src/testing/sdr/dom/components/NOOP_CAP/python/NOOP_CAP_base.py b/redhawk/src/testing/sdr/dom/components/NOOP_CAP/python/NOOP_CAP_base.py index 6cb892581..9738ecb07 100644 --- a/redhawk/src/testing/sdr/dom/components/NOOP_CAP/python/NOOP_CAP_base.py +++ b/redhawk/src/testing/sdr/dom/components/NOOP_CAP/python/NOOP_CAP_base.py @@ -32,7 +32,7 @@ from ossie.resource import Resource -import Queue, copy, time, threading +import queue, copy, time, threading from ossie.resource import usesport, providesport from ossie.cf import ExtendedCF from omniORB import CORBA diff --git a/redhawk/src/testing/sdr/dom/components/NOOP_ROLL/python/NOOP_ROLL_base.py b/redhawk/src/testing/sdr/dom/components/NOOP_ROLL/python/NOOP_ROLL_base.py index 657ed7e8f..9fc57118b 100644 --- a/redhawk/src/testing/sdr/dom/components/NOOP_ROLL/python/NOOP_ROLL_base.py +++ b/redhawk/src/testing/sdr/dom/components/NOOP_ROLL/python/NOOP_ROLL_base.py @@ -32,7 +32,7 @@ from ossie.resource import Resource -import Queue, copy, time, threading +import queue, copy, time, threading from ossie.resource import usesport, providesport from ossie.cf import ExtendedCF from omniORB import CORBA diff --git a/redhawk/src/testing/sdr/dom/components/NOOP_ROLL/python2/NOOP_ROLL_base.py b/redhawk/src/testing/sdr/dom/components/NOOP_ROLL/python2/NOOP_ROLL_base.py index bfc094aa1..58f14ed03 100644 --- a/redhawk/src/testing/sdr/dom/components/NOOP_ROLL/python2/NOOP_ROLL_base.py +++ b/redhawk/src/testing/sdr/dom/components/NOOP_ROLL/python2/NOOP_ROLL_base.py @@ -32,7 +32,7 @@ from ossie.resource import Resource -import Queue, copy, time, threading +import queue, copy, time, threading from ossie.resource import usesport, providesport from ossie.cf import ExtendedCF from omniORB import CORBA diff --git a/redhawk/src/testing/sdr/dom/components/NOOP_SIMP/python/NOOP_SIMP_base.py b/redhawk/src/testing/sdr/dom/components/NOOP_SIMP/python/NOOP_SIMP_base.py index 89a48e0ce..9b8208a4d 100644 --- a/redhawk/src/testing/sdr/dom/components/NOOP_SIMP/python/NOOP_SIMP_base.py +++ b/redhawk/src/testing/sdr/dom/components/NOOP_SIMP/python/NOOP_SIMP_base.py @@ -32,7 +32,7 @@ from ossie.resource import Resource -import Queue, copy, time, threading +import queue, copy, time, threading from ossie.resource import usesport, providesport from ossie.cf import ExtendedCF from omniORB import CORBA diff --git a/redhawk/src/testing/sdr/dom/components/NonScaCompliant/HelloWorld.py b/redhawk/src/testing/sdr/dom/components/NonScaCompliant/HelloWorld.py index 05793047c..ab0b76c00 100755 --- a/redhawk/src/testing/sdr/dom/components/NonScaCompliant/HelloWorld.py +++ b/redhawk/src/testing/sdr/dom/components/NonScaCompliant/HelloWorld.py @@ -22,5 +22,5 @@ import time while True: - print "Hello World" + print("Hello World") time.sleep(1) diff --git a/redhawk/src/testing/sdr/dom/components/PortTest/PortTest.py b/redhawk/src/testing/sdr/dom/components/PortTest/PortTest.py index b8fc8da18..e89f3ccee 100755 --- a/redhawk/src/testing/sdr/dom/components/PortTest/PortTest.py +++ b/redhawk/src/testing/sdr/dom/components/PortTest/PortTest.py @@ -55,7 +55,7 @@ def disconnectPort(self, connectionId): raise CF.Port.InvalidPort(CF.CF_EINVAL, "No such connection '%s'" % (connectionId,)) def _get_connections(self): - return [ExtendedCF.UsesConnection(k,v) for k, v in self._connections.iteritems()] + return [ExtendedCF.UsesConnection(k,v) for k, v in self._connections.items()] def _connectPort(self, port, connectionId): return port @@ -87,7 +87,7 @@ def __init__(self): def query(self, propsIn): propsOut = [] - for propset in self._connections.values(): + for propset in list(self._connections.values()): propsOut += propset.query(propsIn) return propsOut @@ -121,7 +121,7 @@ def __init__(self): UsesPort.__init__(self, CosEventChannelAdmin.EventChannel) def sendEvent(self, event): - for consumer in self._connections.values(): + for consumer in list(self._connections.values()): try: consumer.push(event) except: diff --git a/redhawk/src/testing/sdr/dom/components/PropertyApi/python/PropertyApi_base.py b/redhawk/src/testing/sdr/dom/components/PropertyApi/python/PropertyApi_base.py index af83643f2..2b46a93d9 100644 --- a/redhawk/src/testing/sdr/dom/components/PropertyApi/python/PropertyApi_base.py +++ b/redhawk/src/testing/sdr/dom/components/PropertyApi/python/PropertyApi_base.py @@ -14,7 +14,7 @@ from ossie.properties import struct_property from ossie.properties import structseq_property -import Queue, copy, time, threading +import queue, copy, time, threading from ossie.resource import usesport, providesport, PortCallError import bulkio @@ -120,10 +120,10 @@ class StructA(object): def __init__(self, **kw): """Construct an initialized instance of this struct definition""" - for classattr in type(self).__dict__.itervalues(): + for classattr in type(self).__dict__.values(): if isinstance(classattr, (simple_property, simpleseq_property)): classattr.initialize(self) - for k,v in kw.items(): + for k,v in list(kw.items()): setattr(self,k,v) def __str__(self): diff --git a/redhawk/src/testing/sdr/dom/components/PropertyChangeEvents/PropertyChangeEvents.py b/redhawk/src/testing/sdr/dom/components/PropertyChangeEvents/PropertyChangeEvents.py index d5e891f07..53cdc2132 100755 --- a/redhawk/src/testing/sdr/dom/components/PropertyChangeEvents/PropertyChangeEvents.py +++ b/redhawk/src/testing/sdr/dom/components/PropertyChangeEvents/PropertyChangeEvents.py @@ -74,7 +74,7 @@ class SomeStruct(object): def __init__(self): """Construct an initialized instance of this struct definition""" - for attrname, classattr in type(self).__dict__.items(): + for attrname, classattr in list(type(self).__dict__.items()): if type(classattr) == simple_property: classattr.initialize(self) diff --git a/redhawk/src/testing/sdr/dom/components/PropertyChangeEventsJava/tests/test_PropertyChangeEventsJava.py b/redhawk/src/testing/sdr/dom/components/PropertyChangeEventsJava/tests/test_PropertyChangeEventsJava.py index 21034f25f..45b8a7255 100644 --- a/redhawk/src/testing/sdr/dom/components/PropertyChangeEventsJava/tests/test_PropertyChangeEventsJava.py +++ b/redhawk/src/testing/sdr/dom/components/PropertyChangeEventsJava/tests/test_PropertyChangeEventsJava.py @@ -58,7 +58,7 @@ def testScaBasicBehavior(self): props = dict((x.id, any.from_any(x.value)) for x in props) # Query may return more than expected, but not less for expectedProp in expectedProps: - self.assertEquals(props.has_key(expectedProp.id), True) + self.assertEqual(expectedProp.id in props, True) ####################################################################### # Verify that all expected ports are available diff --git a/redhawk/src/testing/sdr/dom/components/PropertyChange_P1/python/PropertyChange_P1_base.py b/redhawk/src/testing/sdr/dom/components/PropertyChange_P1/python/PropertyChange_P1_base.py index f69200312..5a9bd6fa6 100644 --- a/redhawk/src/testing/sdr/dom/components/PropertyChange_P1/python/PropertyChange_P1_base.py +++ b/redhawk/src/testing/sdr/dom/components/PropertyChange_P1/python/PropertyChange_P1_base.py @@ -30,7 +30,7 @@ from ossie.threadedcomponent import * from ossie.properties import simple_property -import Queue, copy, time, threading +import queue, copy, time, threading class PropertyChange_P1_base(CF__POA.Resource, Component, ThreadedComponent): # These values can be altered in the __init__ of your derived class diff --git a/redhawk/src/testing/sdr/dom/components/Property_CPP/tests/test_Property_CPP.py b/redhawk/src/testing/sdr/dom/components/Property_CPP/tests/test_Property_CPP.py index e4f936a39..181be4f5a 100644 --- a/redhawk/src/testing/sdr/dom/components/Property_CPP/tests/test_Property_CPP.py +++ b/redhawk/src/testing/sdr/dom/components/Property_CPP/tests/test_Property_CPP.py @@ -50,7 +50,7 @@ def testScaBasicBehavior(self): props = dict((x.id, any.from_any(x.value)) for x in props) # Query may return more than expected, but not less for expectedProp in expectedProps: - self.assertEquals(props.has_key(expectedProp.id), True) + self.assertEqual(expectedProp.id in props, True) ####################################################################### # Verify that all expected ports are available diff --git a/redhawk/src/testing/sdr/dom/components/Property_PY/python/Property_PY_base.py b/redhawk/src/testing/sdr/dom/components/Property_PY/python/Property_PY_base.py index 2183d7748..90db48949 100644 --- a/redhawk/src/testing/sdr/dom/components/Property_PY/python/Property_PY_base.py +++ b/redhawk/src/testing/sdr/dom/components/Property_PY/python/Property_PY_base.py @@ -32,7 +32,7 @@ from ossie.properties import simpleseq_property from ossie.properties import struct_property -import Queue, copy, time, threading +import queue, copy, time, threading class Property_PY_base(CF__POA.Resource, Component, ThreadedComponent): # These values can be altered in the __init__ of your derived class @@ -108,10 +108,10 @@ class P4(object): def __init__(self, **kw): """Construct an initialized instance of this struct definition""" - for attrname, classattr in type(self).__dict__.items(): + for attrname, classattr in list(type(self).__dict__.items()): if type(classattr) == simple_property or type(classattr) == simpleseq_property: classattr.initialize(self) - for k,v in kw.items(): + for k,v in list(kw.items()): setattr(self,k,v) def __str__(self): diff --git a/redhawk/src/testing/sdr/dom/components/PyCallbacks/python/PyCallbacks_base.py b/redhawk/src/testing/sdr/dom/components/PyCallbacks/python/PyCallbacks_base.py index 629d7d204..7af6e0dfe 100644 --- a/redhawk/src/testing/sdr/dom/components/PyCallbacks/python/PyCallbacks_base.py +++ b/redhawk/src/testing/sdr/dom/components/PyCallbacks/python/PyCallbacks_base.py @@ -34,7 +34,7 @@ from ossie.properties import struct_property from ossie.properties import structseq_property -import Queue, copy, time, threading +import queue, copy, time, threading class PyCallbacks_base(CF__POA.Resource, Resource, ThreadedComponent): # These values can be altered in the __init__ of your derived class @@ -119,10 +119,10 @@ class Station(object): def __init__(self, **kw): """Construct an initialized instance of this struct definition""" - for attrname, classattr in type(self).__dict__.items(): + for attrname, classattr in list(type(self).__dict__.items()): if type(classattr) == simple_property: classattr.initialize(self) - for k,v in kw.items(): + for k,v in list(kw.items()): setattr(self,k,v) def __str__(self): diff --git a/redhawk/src/testing/sdr/dom/components/PythonComponent/PythonComponent_python_impl1/PythonComponent_python_impl1.py b/redhawk/src/testing/sdr/dom/components/PythonComponent/PythonComponent_python_impl1/PythonComponent_python_impl1.py index 1fb102ebc..1691192cb 100755 --- a/redhawk/src/testing/sdr/dom/components/PythonComponent/PythonComponent_python_impl1/PythonComponent_python_impl1.py +++ b/redhawk/src/testing/sdr/dom/components/PythonComponent/PythonComponent_python_impl1/PythonComponent_python_impl1.py @@ -85,7 +85,7 @@ def process(self): """ time.sleep(1) - print "Processing some data..." + print("Processing some data...") return NOOP if __name__ == '__main__': diff --git a/redhawk/src/testing/sdr/dom/components/PythonComponent/PythonComponent_python_impl1/PythonComponent_python_impl1_base.py b/redhawk/src/testing/sdr/dom/components/PythonComponent/PythonComponent_python_impl1/PythonComponent_python_impl1_base.py index 177bfa69b..8235b7a5c 100644 --- a/redhawk/src/testing/sdr/dom/components/PythonComponent/PythonComponent_python_impl1/PythonComponent_python_impl1_base.py +++ b/redhawk/src/testing/sdr/dom/components/PythonComponent/PythonComponent_python_impl1/PythonComponent_python_impl1_base.py @@ -29,7 +29,7 @@ from ossie.resource import Resource -import Queue, copy, time, threading +import queue, copy, time, threading NOOP = -1 NORMAL = 0 @@ -95,7 +95,7 @@ def stop(self): def releaseObject(self): try: self.stop() - except Exception, e: + except Exception as e: self._log.exception("Error stopping: ", e) Resource.releaseObject(self) diff --git a/redhawk/src/testing/sdr/dom/components/SADUsesComponent/python/SADUsesComponent.py b/redhawk/src/testing/sdr/dom/components/SADUsesComponent/python/SADUsesComponent.py index 2b0d05f2c..baeddbef7 100755 --- a/redhawk/src/testing/sdr/dom/components/SADUsesComponent/python/SADUsesComponent.py +++ b/redhawk/src/testing/sdr/dom/components/SADUsesComponent/python/SADUsesComponent.py @@ -39,7 +39,7 @@ class ResourceOutPort(ExtendedCF__POA.QueryablePort, PortCFResourceOut_i): def _get_connections(self): self.port_lock.acquire() try: - return [ExtendedCF.UsesConnection(connId, port) for connId, port in self.outConnections.items()] + return [ExtendedCF.UsesConnection(connId, port) for connId, port in list(self.outConnections.items())] finally: self.port_lock.release() diff --git a/redhawk/src/testing/sdr/dom/components/SADUsesComponent/python/SADUsesComponent_base.py b/redhawk/src/testing/sdr/dom/components/SADUsesComponent/python/SADUsesComponent_base.py index e45571044..0533915be 100644 --- a/redhawk/src/testing/sdr/dom/components/SADUsesComponent/python/SADUsesComponent_base.py +++ b/redhawk/src/testing/sdr/dom/components/SADUsesComponent/python/SADUsesComponent_base.py @@ -32,7 +32,7 @@ from ossie.resource import Resource from ossie.properties import simple_property -import Queue, copy, time, threading +import queue, copy, time, threading from ossie.resource import usesport, providesport NOOP = -1 @@ -215,7 +215,7 @@ def __init__(self, parent, name): self.parent = parent self.name = name self.sri = None - self.queue = Queue.Queue() + self.queue = queue.Queue() self.port_lock = threading.Lock() def initialize(self): @@ -288,7 +288,7 @@ def initialize(self): try: try: - for connId, port in self.outConnections.items(): + for connId, port in list(self.outConnections.items()): if port != None: port.initialize() except Exception: self.parent._log.exception("The call to initialize failed on port %s connection %s instance %s", self.name, connId, port) @@ -300,7 +300,7 @@ def releaseObject(self): try: try: - for connId, port in self.outConnections.items(): + for connId, port in list(self.outConnections.items()): if port != None: port.releaseObject() except Exception: self.parent._log.exception("The call to releaseObject failed on port %s connection %s instance %s", self.name, connId, port) @@ -313,7 +313,7 @@ def runTest(self, testid, testValues): try: try: - for connId, port in self.outConnections.items(): + for connId, port in list(self.outConnections.items()): if port != None:retVal = port.runTest(testid, testValues) except Exception: self.parent._log.exception("The call to runTest failed on port %s connection %s instance %s", self.name, connId, port) @@ -327,7 +327,7 @@ def configure(self, configProperties): try: try: - for connId, port in self.outConnections.items(): + for connId, port in list(self.outConnections.items()): if port != None: port.configure(configProperties) except Exception: self.parent._log.exception("The call to configure failed on port %s connection %s instance %s", self.name, connId, port) @@ -340,7 +340,7 @@ def query(self, configProperties): try: try: - for connId, port in self.outConnections.items(): + for connId, port in list(self.outConnections.items()): if port != None:retVal = port.query(configProperties) except Exception: self.parent._log.exception("The call to query failed on port %s connection %s instance %s", self.name, connId, port) @@ -355,7 +355,7 @@ def getPort(self, name): try: try: - for connId, port in self.outConnections.items(): + for connId, port in list(self.outConnections.items()): if port != None:retVal = port.getPort(name) except Exception: self.parent._log.exception("The call to getPort failed on port %s connection %s instance %s", self.name, connId, port) @@ -369,7 +369,7 @@ def start(self): try: try: - for connId, port in self.outConnections.items(): + for connId, port in list(self.outConnections.items()): if port != None: port.start() except Exception: self.parent._log.exception("The call to start failed on port %s connection %s instance %s", self.name, connId, port) @@ -381,7 +381,7 @@ def stop(self): try: try: - for connId, port in self.outConnections.items(): + for connId, port in list(self.outConnections.items()): if port != None: port.stop() except Exception: self.parent._log.exception("The call to stop failed on port %s connection %s instance %s", self.name, connId, port) @@ -394,7 +394,7 @@ def _get_identifier(self): try: try: - for connId, port in self.outConnections.items(): + for connId, port in list(self.outConnections.items()): if port != None: retVal = port._get_identifier() except Exception: @@ -410,7 +410,7 @@ def _get_started(self): try: try: - for connId, port in self.outConnections.items(): + for connId, port in list(self.outConnections.items()): if port != None: retVal = port._get_started() except Exception: diff --git a/redhawk/src/testing/sdr/dom/components/Sandbox/python/Sandbox_base.py b/redhawk/src/testing/sdr/dom/components/Sandbox/python/Sandbox_base.py index b4cea1f6e..be0f94135 100644 --- a/redhawk/src/testing/sdr/dom/components/Sandbox/python/Sandbox_base.py +++ b/redhawk/src/testing/sdr/dom/components/Sandbox/python/Sandbox_base.py @@ -36,7 +36,7 @@ from ossie.properties import struct_property from ossie.properties import structseq_property -import Queue, copy, time, threading +import queue, copy, time, threading NOOP = -1 NORMAL = 0 @@ -271,10 +271,10 @@ class MyStruct(object): def __init__(self, **kw): """Construct an initialized instance of this struct definition""" - for attrname, classattr in type(self).__dict__.items(): + for attrname, classattr in list(type(self).__dict__.items()): if type(classattr) == simple_property: classattr.initialize(self) - for k,v in kw.items(): + for k,v in list(kw.items()): setattr(self,k,v) def __str__(self): @@ -319,10 +319,10 @@ class EscapeStruct(object): def __init__(self, **kw): """Construct an initialized instance of this struct definition""" - for attrname, classattr in type(self).__dict__.items(): + for attrname, classattr in list(type(self).__dict__.items()): if type(classattr) == simple_property: classattr.initialize(self) - for k,v in kw.items(): + for k,v in list(kw.items()): setattr(self,k,v) def __str__(self): @@ -356,10 +356,10 @@ class ReadonlyStruct(object): def __init__(self, **kw): """Construct an initialized instance of this struct definition""" - for attrname, classattr in type(self).__dict__.items(): + for attrname, classattr in list(type(self).__dict__.items()): if type(classattr) == simple_property: classattr.initialize(self) - for k,v in kw.items(): + for k,v in list(kw.items()): setattr(self,k,v) def __str__(self): diff --git a/redhawk/src/testing/sdr/dom/components/ServiceComponent/python/ServiceComponent.py b/redhawk/src/testing/sdr/dom/components/ServiceComponent/python/ServiceComponent.py index a3b1b9766..9d4daeea8 100755 --- a/redhawk/src/testing/sdr/dom/components/ServiceComponent/python/ServiceComponent.py +++ b/redhawk/src/testing/sdr/dom/components/ServiceComponent/python/ServiceComponent.py @@ -50,7 +50,7 @@ def initialize(self): def start(self): self.res = self.port_output.query([]) for curr in self.res: - print curr + print(curr) def process(self): """ diff --git a/redhawk/src/testing/sdr/dom/components/ServiceComponent/python/ServiceComponent_base.py b/redhawk/src/testing/sdr/dom/components/ServiceComponent/python/ServiceComponent_base.py index 26a4c3b75..38b5edc90 100644 --- a/redhawk/src/testing/sdr/dom/components/ServiceComponent/python/ServiceComponent_base.py +++ b/redhawk/src/testing/sdr/dom/components/ServiceComponent/python/ServiceComponent_base.py @@ -34,7 +34,7 @@ from ossie.resource import Resource -import Queue, copy, time, threading +import queue, copy, time, threading from ossie.resource import usesport, providesport NOOP = -1 @@ -215,7 +215,7 @@ def disconnectPort(self, connectionId): def _get_connections(self): self.port_lock.acquire() try: - return [ExtendedCF.UsesConnection(name, port) for name, port in self.outConnections.iteritems()] + return [ExtendedCF.UsesConnection(name, port) for name, port in self.outConnections.items()] finally: self.port_lock.release() @@ -223,7 +223,7 @@ def configure(self, configProperties): self.port_lock.acquire() try: - for connId, port in self.outConnections.items(): + for connId, port in list(self.outConnections.items()): if port != None: try: port.configure(configProperties) @@ -238,7 +238,7 @@ def query(self, configProperties): self.port_lock.acquire() try: - for connId, port in self.outConnections.items(): + for connId, port in list(self.outConnections.items()): if port != None: try: retVal = port.query(configProperties) diff --git a/redhawk/src/testing/sdr/dom/components/TestAllPropTypes/python/TestAllPropTypes_base.py b/redhawk/src/testing/sdr/dom/components/TestAllPropTypes/python/TestAllPropTypes_base.py index 5e3db66b3..7eef12e4a 100644 --- a/redhawk/src/testing/sdr/dom/components/TestAllPropTypes/python/TestAllPropTypes_base.py +++ b/redhawk/src/testing/sdr/dom/components/TestAllPropTypes/python/TestAllPropTypes_base.py @@ -36,7 +36,7 @@ from ossie.properties import struct_property from ossie.properties import structseq_property -import Queue, copy, time, threading +import queue, copy, time, threading NOOP = -1 NORMAL = 0 @@ -352,10 +352,10 @@ class StructVars(object): def __init__(self, **kw): """Construct an initialized instance of this struct definition""" - for attrname, classattr in type(self).__dict__.items(): + for attrname, classattr in list(type(self).__dict__.items()): if type(classattr) == simple_property: classattr.initialize(self) - for k,v in kw.items(): + for k,v in list(kw.items()): setattr(self,k,v) def __str__(self): diff --git a/redhawk/src/testing/sdr/dom/components/TestCompInit/python/test_componentinit_base.py b/redhawk/src/testing/sdr/dom/components/TestCompInit/python/test_componentinit_base.py index 94fb3b98b..d34442239 100644 --- a/redhawk/src/testing/sdr/dom/components/TestCompInit/python/test_componentinit_base.py +++ b/redhawk/src/testing/sdr/dom/components/TestCompInit/python/test_componentinit_base.py @@ -10,7 +10,7 @@ from ossie.component import Component from ossie.threadedcomponent import * -import Queue, copy, time, threading +import queue, copy, time, threading class test_componentinit_base(CF__POA.Resource, Component, ThreadedComponent): # These values can be altered in the __init__ of your derived class diff --git a/redhawk/src/testing/sdr/dom/components/TestComplexProps/python/TestComplexProps_base.py b/redhawk/src/testing/sdr/dom/components/TestComplexProps/python/TestComplexProps_base.py index e5f4bec6d..ba5969e74 100644 --- a/redhawk/src/testing/sdr/dom/components/TestComplexProps/python/TestComplexProps_base.py +++ b/redhawk/src/testing/sdr/dom/components/TestComplexProps/python/TestComplexProps_base.py @@ -14,7 +14,7 @@ from ossie.properties import struct_property from ossie.properties import structseq_property -import Queue, copy, time, threading +import queue, copy, time, threading class TestComplexProps_base(CF__POA.Resource, Component, ThreadedComponent): # These values can be altered in the __init__ of your derived class @@ -170,10 +170,10 @@ class _Float(object): def __init__(self, **kw): """Construct an initialized instance of this struct definition""" - for classattr in type(self).__dict__.itervalues(): + for classattr in type(self).__dict__.values(): if isinstance(classattr, (simple_property, simpleseq_property)): classattr.initialize(self) - for k,v in kw.items(): + for k,v in list(kw.items()): setattr(self,k,v) def __str__(self): @@ -219,10 +219,10 @@ class ComplexFloat(object): def __init__(self, **kw): """Construct an initialized instance of this struct definition""" - for classattr in type(self).__dict__.itervalues(): + for classattr in type(self).__dict__.values(): if isinstance(classattr, (simple_property, simpleseq_property)): classattr.initialize(self) - for k,v in kw.items(): + for k,v in list(kw.items()): setattr(self,k,v) def __str__(self): diff --git a/redhawk/src/testing/sdr/dom/components/TestComplexProps/tests/test_TestComplexProps.py b/redhawk/src/testing/sdr/dom/components/TestComplexProps/tests/test_TestComplexProps.py index 0759966f0..68eb38518 100644 --- a/redhawk/src/testing/sdr/dom/components/TestComplexProps/tests/test_TestComplexProps.py +++ b/redhawk/src/testing/sdr/dom/components/TestComplexProps/tests/test_TestComplexProps.py @@ -57,7 +57,7 @@ def testScaBasicBehavior(self): props = dict((x.id, any.from_any(x.value)) for x in props) # Query may return more than expected, but not less for expectedProp in expectedProps: - self.assertEquals(props.has_key(expectedProp.id), True) + self.assertEqual(expectedProp.id in props, True) ####################################################################### # Verify that all expected ports are available diff --git a/redhawk/src/testing/sdr/dom/components/TestComponentProperty/python/TestComponentProperty_base.py b/redhawk/src/testing/sdr/dom/components/TestComponentProperty/python/TestComponentProperty_base.py index 89f1c8076..9f0518416 100644 --- a/redhawk/src/testing/sdr/dom/components/TestComponentProperty/python/TestComponentProperty_base.py +++ b/redhawk/src/testing/sdr/dom/components/TestComponentProperty/python/TestComponentProperty_base.py @@ -31,7 +31,7 @@ from ossie.properties import struct_property from ossie.properties import structseq_property -import Queue, copy, time, threading +import queue, copy, time, threading NOOP = -1 NORMAL = 0 @@ -189,10 +189,10 @@ class MyStruct(object): def __init__(self, **kw): """Construct an initialized instance of this struct definition""" - for attrname, classattr in type(self).__dict__.items(): + for attrname, classattr in list(type(self).__dict__.items()): if type(classattr) == simple_property: classattr.initialize(self) - for k,v in kw.items(): + for k,v in list(kw.items()): setattr(self,k,v) def __str__(self): @@ -234,10 +234,10 @@ class Tests(object): def __init__(self, **kw): """Construct an initialized instance of this struct definition""" - for attrname, classattr in type(self).__dict__.items(): + for attrname, classattr in list(type(self).__dict__.items()): if type(classattr) == simple_property: classattr.initialize(self) - for k,v in kw.items(): + for k,v in list(kw.items()): setattr(self,k,v) def __str__(self): diff --git a/redhawk/src/testing/sdr/dom/components/TestJavaOptionalProps/tests/test_TestJavaOptionalProps.py b/redhawk/src/testing/sdr/dom/components/TestJavaOptionalProps/tests/test_TestJavaOptionalProps.py index a998129ab..b77097d98 100644 --- a/redhawk/src/testing/sdr/dom/components/TestJavaOptionalProps/tests/test_TestJavaOptionalProps.py +++ b/redhawk/src/testing/sdr/dom/components/TestJavaOptionalProps/tests/test_TestJavaOptionalProps.py @@ -50,7 +50,7 @@ def testScaBasicBehavior(self): props = dict((x.id, any.from_any(x.value)) for x in props) # Query may return more than expected, but not less for expectedProp in expectedProps: - self.assertEquals(props.has_key(expectedProp.id), True) + self.assertEqual(expectedProp.id in props, True) ####################################################################### # Verify that all expected ports are available diff --git a/redhawk/src/testing/sdr/dom/components/TestLoggingAPI/python/TestLoggingAPI.py b/redhawk/src/testing/sdr/dom/components/TestLoggingAPI/python/TestLoggingAPI.py index 6ce446ed7..08d4e7d36 100755 --- a/redhawk/src/testing/sdr/dom/components/TestLoggingAPI/python/TestLoggingAPI.py +++ b/redhawk/src/testing/sdr/dom/components/TestLoggingAPI/python/TestLoggingAPI.py @@ -44,7 +44,7 @@ def logConfigChanged( self, new_config): """""" def __init__(self, identifier, execparams): TestLoggingAPI_base.__init__(self, identifier, execparams ) - if execparams.has_key('DISABLE_CB'): + if 'DISABLE_CB' in execparams: if execparams['DISABLE_CB'].upper() != 'TRUE': self.setLogListenerCallback( TestLoggingAPI_i.MyLogListenerCB(self) ) else: diff --git a/redhawk/src/testing/sdr/dom/components/TestLoggingAPI/python/TestLoggingAPI_base.py b/redhawk/src/testing/sdr/dom/components/TestLoggingAPI/python/TestLoggingAPI_base.py index ed6b2e519..f2ba3a92d 100644 --- a/redhawk/src/testing/sdr/dom/components/TestLoggingAPI/python/TestLoggingAPI_base.py +++ b/redhawk/src/testing/sdr/dom/components/TestLoggingAPI/python/TestLoggingAPI_base.py @@ -30,7 +30,7 @@ from ossie.threadedcomponent import * from ossie.properties import simple_property -import Queue, copy, time, threading +import queue, copy, time, threading class TestLoggingAPI_base(CF__POA.Resource, Resource, ThreadedComponent): # These values can be altered in the __init__ of your derived class diff --git a/redhawk/src/testing/sdr/dom/components/TestLoggingAPI/tests/test_TestLoggingAPI.py b/redhawk/src/testing/sdr/dom/components/TestLoggingAPI/tests/test_TestLoggingAPI.py index 09bed5c47..4f087be89 100644 --- a/redhawk/src/testing/sdr/dom/components/TestLoggingAPI/tests/test_TestLoggingAPI.py +++ b/redhawk/src/testing/sdr/dom/components/TestLoggingAPI/tests/test_TestLoggingAPI.py @@ -50,7 +50,7 @@ def testScaBasicBehavior(self): props = dict((x.id, any.from_any(x.value)) for x in props) # Query may return more than expected, but not less for expectedProp in expectedProps: - self.assertEquals(props.has_key(expectedProp.id), True) + self.assertEqual(expectedProp.id in props, True) ####################################################################### # Verify that all expected ports are available diff --git a/redhawk/src/testing/sdr/dom/components/TestPythonOptionalProps/python/TestPythonOptionalProps_base.py b/redhawk/src/testing/sdr/dom/components/TestPythonOptionalProps/python/TestPythonOptionalProps_base.py index 7c9c158a4..e5884ed32 100644 --- a/redhawk/src/testing/sdr/dom/components/TestPythonOptionalProps/python/TestPythonOptionalProps_base.py +++ b/redhawk/src/testing/sdr/dom/components/TestPythonOptionalProps/python/TestPythonOptionalProps_base.py @@ -32,7 +32,7 @@ from ossie.properties import simpleseq_property from ossie.properties import struct_property -import Queue, copy, time, threading +import queue, copy, time, threading class TestPythonOptionalProps_base(CF__POA.Resource, Component, ThreadedComponent): # These values can be altered in the __init__ of your derived class @@ -185,10 +185,10 @@ class MyStructName(object): def __init__(self, **kw): """Construct an initialized instance of this struct definition""" - for attrname, classattr in type(self).__dict__.items(): + for attrname, classattr in list(type(self).__dict__.items()): if type(classattr) == simple_property or type(classattr) == simpleseq_property: classattr.initialize(self) - for k,v in kw.items(): + for k,v in list(kw.items()): setattr(self,k,v) def __str__(self): diff --git a/redhawk/src/testing/sdr/dom/components/TestPythonPropsRange/python/TestPythonPropsRange_base.py b/redhawk/src/testing/sdr/dom/components/TestPythonPropsRange/python/TestPythonPropsRange_base.py index 04ec8684d..0a0d6b10f 100644 --- a/redhawk/src/testing/sdr/dom/components/TestPythonPropsRange/python/TestPythonPropsRange_base.py +++ b/redhawk/src/testing/sdr/dom/components/TestPythonPropsRange/python/TestPythonPropsRange_base.py @@ -33,7 +33,7 @@ from ossie.properties import struct_property from ossie.properties import structseq_property -import Queue, copy, time, threading +import queue, copy, time, threading class TestPythonPropsRange_base(CF__POA.Resource, Component, ThreadedComponent): # These values can be altered in the __init__ of your derived class @@ -346,10 +346,10 @@ class MyStructName(object): def __init__(self, **kw): """Construct an initialized instance of this struct definition""" - for attrname, classattr in type(self).__dict__.items(): + for attrname, classattr in list(type(self).__dict__.items()): if type(classattr) == simple_property or type(classattr) == simpleseq_property: classattr.initialize(self) - for k,v in kw.items(): + for k,v in list(kw.items()): setattr(self,k,v) def __str__(self): diff --git a/redhawk/src/testing/sdr/dom/components/ac_with_properties/python/ac_with_properties_base.py b/redhawk/src/testing/sdr/dom/components/ac_with_properties/python/ac_with_properties_base.py index 7aa74eb1f..cb31fea69 100644 --- a/redhawk/src/testing/sdr/dom/components/ac_with_properties/python/ac_with_properties_base.py +++ b/redhawk/src/testing/sdr/dom/components/ac_with_properties/python/ac_with_properties_base.py @@ -32,7 +32,7 @@ from ossie.resource import Resource from ossie.properties import simple_property -import Queue, copy, time, threading +import queue, copy, time, threading from ossie.resource import usesport, providesport NOOP = -1 @@ -227,7 +227,7 @@ def initialize(self): try: try: - for connId, port in self.outConnections.items(): + for connId, port in list(self.outConnections.items()): if port != None: port.initialize() except Exception: self.parent._log.exception("The call to initialize failed on port %s connection %s instance %s", self.name, connId, port) @@ -239,7 +239,7 @@ def releaseObject(self): try: try: - for connId, port in self.outConnections.items(): + for connId, port in list(self.outConnections.items()): if port != None: port.releaseObject() except Exception: self.parent._log.exception("The call to releaseObject failed on port %s connection %s instance %s", self.name, connId, port) @@ -252,7 +252,7 @@ def runTest(self, testid, testValues): try: try: - for connId, port in self.outConnections.items(): + for connId, port in list(self.outConnections.items()): if port != None:retVal = port.runTest(testid, testValues) except Exception: self.parent._log.exception("The call to runTest failed on port %s connection %s instance %s", self.name, connId, port) @@ -266,7 +266,7 @@ def configure(self, configProperties): try: try: - for connId, port in self.outConnections.items(): + for connId, port in list(self.outConnections.items()): if port != None: port.configure(configProperties) except Exception: self.parent._log.exception("The call to configure failed on port %s connection %s instance %s", self.name, connId, port) @@ -279,7 +279,7 @@ def query(self, configProperties): try: try: - for connId, port in self.outConnections.items(): + for connId, port in list(self.outConnections.items()): if port != None:retVal = port.query(configProperties) except Exception: self.parent._log.exception("The call to query failed on port %s connection %s instance %s", self.name, connId, port) @@ -294,7 +294,7 @@ def getPort(self, name): try: try: - for connId, port in self.outConnections.items(): + for connId, port in list(self.outConnections.items()): if port != None:retVal = port.getPort(name) except Exception: self.parent._log.exception("The call to getPort failed on port %s connection %s instance %s", self.name, connId, port) @@ -308,7 +308,7 @@ def start(self): try: try: - for connId, port in self.outConnections.items(): + for connId, port in list(self.outConnections.items()): if port != None: port.start() except Exception: self.parent._log.exception("The call to start failed on port %s connection %s instance %s", self.name, connId, port) @@ -320,7 +320,7 @@ def stop(self): try: try: - for connId, port in self.outConnections.items(): + for connId, port in list(self.outConnections.items()): if port != None: port.stop() except Exception: self.parent._log.exception("The call to stop failed on port %s connection %s instance %s", self.name, connId, port) @@ -333,7 +333,7 @@ def _get_identifier(self): try: try: - for connId, port in self.outConnections.items(): + for connId, port in list(self.outConnections.items()): if port != None: retVal = port._get_identifier() except Exception: @@ -349,7 +349,7 @@ def _get_started(self): try: try: - for connId, port in self.outConnections.items(): + for connId, port in list(self.outConnections.items()): if port != None: retVal = port._get_started() except Exception: diff --git a/redhawk/src/testing/sdr/dom/components/ac_with_properties/tests/test_ac_with_properties.py b/redhawk/src/testing/sdr/dom/components/ac_with_properties/tests/test_ac_with_properties.py index 40350f35f..c07b4883a 100644 --- a/redhawk/src/testing/sdr/dom/components/ac_with_properties/tests/test_ac_with_properties.py +++ b/redhawk/src/testing/sdr/dom/components/ac_with_properties/tests/test_ac_with_properties.py @@ -57,7 +57,7 @@ def testScaBasicBehavior(self): props = dict((x.id, any.from_any(x.value)) for x in props) # Query may return more than expected, but not less for expectedProp in expectedProps: - self.assertEquals(props.has_key(expectedProp.id), True) + self.assertEqual(expectedProp.id in props, True) ####################################################################### # Verify that all expected ports are available diff --git a/redhawk/src/testing/sdr/dom/components/another_ticket_462/python/another_ticket_462_base.py b/redhawk/src/testing/sdr/dom/components/another_ticket_462/python/another_ticket_462_base.py index a7df91258..f39d55374 100644 --- a/redhawk/src/testing/sdr/dom/components/another_ticket_462/python/another_ticket_462_base.py +++ b/redhawk/src/testing/sdr/dom/components/another_ticket_462/python/another_ticket_462_base.py @@ -35,7 +35,7 @@ from ossie.properties import struct_property from ossie.properties import structseq_property -import Queue, copy, time, threading +import queue, copy, time, threading NOOP = -1 NORMAL = 0 @@ -165,10 +165,10 @@ class StructProp(object): def __init__(self, **kw): """Construct an initialized instance of this struct definition""" - for attrname, classattr in type(self).__dict__.items(): + for attrname, classattr in list(type(self).__dict__.items()): if type(classattr) == simple_property: classattr.initialize(self) - for k,v in kw.items(): + for k,v in list(kw.items()): setattr(self,k,v) def __str__(self): diff --git a/redhawk/src/testing/sdr/dom/components/cf_1535_p1/python/cf_1535_p1_base.py b/redhawk/src/testing/sdr/dom/components/cf_1535_p1/python/cf_1535_p1_base.py index d1a553f48..ed3523543 100644 --- a/redhawk/src/testing/sdr/dom/components/cf_1535_p1/python/cf_1535_p1_base.py +++ b/redhawk/src/testing/sdr/dom/components/cf_1535_p1/python/cf_1535_p1_base.py @@ -33,7 +33,7 @@ from ossie.properties import struct_property from ossie.properties import structseq_property -import Queue, copy, time, threading +import queue, copy, time, threading from ossie.resource import usesport, providesport import bulkio @@ -140,10 +140,10 @@ class St1(object): def __init__(self, **kw): """Construct an initialized instance of this struct definition""" - for classattr in type(self).__dict__.itervalues(): + for classattr in type(self).__dict__.values(): if isinstance(classattr, (simple_property, simpleseq_property)): classattr.initialize(self) - for k,v in kw.items(): + for k,v in list(kw.items()): setattr(self,k,v) def __str__(self): diff --git a/redhawk/src/testing/sdr/dom/components/cmdline_def_py/python/cmdline_def_py_base.py b/redhawk/src/testing/sdr/dom/components/cmdline_def_py/python/cmdline_def_py_base.py index 36e1c0741..7f93b4017 100644 --- a/redhawk/src/testing/sdr/dom/components/cmdline_def_py/python/cmdline_def_py_base.py +++ b/redhawk/src/testing/sdr/dom/components/cmdline_def_py/python/cmdline_def_py_base.py @@ -11,7 +11,7 @@ from ossie.threadedcomponent import * from ossie.properties import simple_property -import Queue, copy, time, threading +import queue, copy, time, threading class cmdline_def_py_base(CF__POA.Resource, Component, ThreadedComponent): # These values can be altered in the __init__ of your derived class diff --git a/redhawk/src/testing/sdr/dom/components/cmdline_py/python/cmdline_py_base.py b/redhawk/src/testing/sdr/dom/components/cmdline_py/python/cmdline_py_base.py index cc46dd684..7de36f6a7 100644 --- a/redhawk/src/testing/sdr/dom/components/cmdline_py/python/cmdline_py_base.py +++ b/redhawk/src/testing/sdr/dom/components/cmdline_py/python/cmdline_py_base.py @@ -11,7 +11,7 @@ from ossie.threadedcomponent import * from ossie.properties import simple_property -import Queue, copy, time, threading +import queue, copy, time, threading class cmdline_py_base(CF__POA.Resource, Component, ThreadedComponent): # These values can be altered in the __init__ of your derived class diff --git a/redhawk/src/testing/sdr/dom/components/comp_prop_special_char/python/comp_prop_special_char_base.py b/redhawk/src/testing/sdr/dom/components/comp_prop_special_char/python/comp_prop_special_char_base.py index 2c30be8e1..46c501c33 100644 --- a/redhawk/src/testing/sdr/dom/components/comp_prop_special_char/python/comp_prop_special_char_base.py +++ b/redhawk/src/testing/sdr/dom/components/comp_prop_special_char/python/comp_prop_special_char_base.py @@ -33,7 +33,7 @@ from ossie.properties import struct_property from ossie.properties import structseq_property -import Queue, copy, time, threading +import queue, copy, time, threading class comp_prop_special_char_base(CF__POA.Resource, Component, ThreadedComponent): # These values can be altered in the __init__ of your derived class @@ -95,10 +95,10 @@ class MyBase(object): def __init__(self, **kw): """Construct an initialized instance of this struct definition""" - for classattr in type(self).__dict__.itervalues(): + for classattr in type(self).__dict__.values(): if isinstance(classattr, (simple_property, simpleseq_property)): classattr.initialize(self) - for k,v in kw.items(): + for k,v in list(kw.items()): setattr(self,k,v) def __str__(self): diff --git a/redhawk/src/testing/sdr/dom/components/comp_snk/python/comp_snk_base.py b/redhawk/src/testing/sdr/dom/components/comp_snk/python/comp_snk_base.py index 801985b48..366471fc1 100644 --- a/redhawk/src/testing/sdr/dom/components/comp_snk/python/comp_snk_base.py +++ b/redhawk/src/testing/sdr/dom/components/comp_snk/python/comp_snk_base.py @@ -10,7 +10,7 @@ from ossie.component import Component from ossie.threadedcomponent import * -import Queue, copy, time, threading +import queue, copy, time, threading from ossie.resource import usesport, providesport from ossie.events import MessageConsumerPort diff --git a/redhawk/src/testing/sdr/dom/components/comp_src/python/comp_src_base.py b/redhawk/src/testing/sdr/dom/components/comp_src/python/comp_src_base.py index d6d0396fb..cce8c84b6 100644 --- a/redhawk/src/testing/sdr/dom/components/comp_src/python/comp_src_base.py +++ b/redhawk/src/testing/sdr/dom/components/comp_src/python/comp_src_base.py @@ -10,7 +10,7 @@ from ossie.component import Component from ossie.threadedcomponent import * -import Queue, copy, time, threading +import queue, copy, time, threading from ossie.resource import usesport, providesport from ossie.events import MessageSupplierPort diff --git a/redhawk/src/testing/sdr/dom/components/configure_call_property/python/configure_call_property_base.py b/redhawk/src/testing/sdr/dom/components/configure_call_property/python/configure_call_property_base.py index 533548575..3d0bcb5d2 100644 --- a/redhawk/src/testing/sdr/dom/components/configure_call_property/python/configure_call_property_base.py +++ b/redhawk/src/testing/sdr/dom/components/configure_call_property/python/configure_call_property_base.py @@ -11,7 +11,7 @@ from ossie.threadedcomponent import * from ossie.properties import simple_property -import Queue, copy, time, threading +import queue, copy, time, threading class configure_call_property_base(CF__POA.Resource, Component, ThreadedComponent): # These values can be altered in the __init__ of your derived class diff --git a/redhawk/src/testing/sdr/dom/components/cpp_with_deps/tests/test_cpp_with_deps.py b/redhawk/src/testing/sdr/dom/components/cpp_with_deps/tests/test_cpp_with_deps.py index 230192525..84e338bc8 100644 --- a/redhawk/src/testing/sdr/dom/components/cpp_with_deps/tests/test_cpp_with_deps.py +++ b/redhawk/src/testing/sdr/dom/components/cpp_with_deps/tests/test_cpp_with_deps.py @@ -51,7 +51,7 @@ def testScaBasicBehavior(self): props = dict((x.id, any.from_any(x.value)) for x in props) # Query may return more than expected, but not less for expectedProp in expectedProps: - self.assertEquals(props.has_key(expectedProp.id), True) + self.assertEqual(expectedProp.id in props, True) ####################################################################### # Verify that all expected ports are available diff --git a/redhawk/src/testing/sdr/dom/components/default_kinds/python/default_kinds_base.py b/redhawk/src/testing/sdr/dom/components/default_kinds/python/default_kinds_base.py index a436aef82..d28c27365 100644 --- a/redhawk/src/testing/sdr/dom/components/default_kinds/python/default_kinds_base.py +++ b/redhawk/src/testing/sdr/dom/components/default_kinds/python/default_kinds_base.py @@ -33,7 +33,7 @@ from ossie.properties import struct_property from ossie.properties import structseq_property -import Queue, copy, time, threading +import queue, copy, time, threading class default_kinds_base(CF__POA.Resource, Resource, ThreadedComponent): # These values can be altered in the __init__ of your derived class @@ -101,10 +101,10 @@ class StructProp(object): def __init__(self, **kw): """Construct an initialized instance of this struct definition""" - for attrname, classattr in type(self).__dict__.items(): + for attrname, classattr in list(type(self).__dict__.items()): if type(classattr) == simple_property: classattr.initialize(self) - for k,v in kw.items(): + for k,v in list(kw.items()): setattr(self,k,v) def __str__(self): diff --git a/redhawk/src/testing/sdr/dom/components/execcheck/python/execcheck_base.py b/redhawk/src/testing/sdr/dom/components/execcheck/python/execcheck_base.py index 9fb14845f..2ac7e8902 100644 --- a/redhawk/src/testing/sdr/dom/components/execcheck/python/execcheck_base.py +++ b/redhawk/src/testing/sdr/dom/components/execcheck/python/execcheck_base.py @@ -30,7 +30,7 @@ from ossie.threadedcomponent import * from ossie.properties import simple_property -import Queue, copy, time, threading +import queue, copy, time, threading class execcheck_base(CF__POA.Resource, Resource, ThreadedComponent): # These values can be altered in the __init__ of your derived class diff --git a/redhawk/src/testing/sdr/dom/components/foo/bar/py/python/py_base.py b/redhawk/src/testing/sdr/dom/components/foo/bar/py/python/py_base.py index a42179064..3fcd70397 100644 --- a/redhawk/src/testing/sdr/dom/components/foo/bar/py/python/py_base.py +++ b/redhawk/src/testing/sdr/dom/components/foo/bar/py/python/py_base.py @@ -29,7 +29,7 @@ from ossie.component import Component from ossie.threadedcomponent import * -import Queue, copy, time, threading +import queue, copy, time, threading class py_base(CF__POA.Resource, Component, ThreadedComponent): # These values can be altered in the __init__ of your derived class diff --git a/redhawk/src/testing/sdr/dom/components/hanging_stop/python/hanging_stop_base.py b/redhawk/src/testing/sdr/dom/components/hanging_stop/python/hanging_stop_base.py index 99bc6f672..64ef5b795 100644 --- a/redhawk/src/testing/sdr/dom/components/hanging_stop/python/hanging_stop_base.py +++ b/redhawk/src/testing/sdr/dom/components/hanging_stop/python/hanging_stop_base.py @@ -10,7 +10,7 @@ from ossie.component import Component from ossie.threadedcomponent import * -import Queue, copy, time, threading +import queue, copy, time, threading class hanging_stop_base(CF__POA.Resource, Component, ThreadedComponent): # These values can be altered in the __init__ of your derived class diff --git a/redhawk/src/testing/sdr/dom/components/hanging_stop_and_release/python/hanging_stop_and_release_base.py b/redhawk/src/testing/sdr/dom/components/hanging_stop_and_release/python/hanging_stop_and_release_base.py index f400de5cd..5dda0b098 100644 --- a/redhawk/src/testing/sdr/dom/components/hanging_stop_and_release/python/hanging_stop_and_release_base.py +++ b/redhawk/src/testing/sdr/dom/components/hanging_stop_and_release/python/hanging_stop_and_release_base.py @@ -29,7 +29,7 @@ from ossie.resource import Resource from ossie.threadedcomponent import * -import Queue, copy, time, threading +import queue, copy, time, threading class hanging_stop_and_release_base(CF__POA.Resource, Resource, ThreadedComponent): # These values can be altered in the __init__ of your derived class diff --git a/redhawk/src/testing/sdr/dom/components/huge_msg_python/python/huge_msg_python_base.py b/redhawk/src/testing/sdr/dom/components/huge_msg_python/python/huge_msg_python_base.py index f20378af3..f5af41379 100644 --- a/redhawk/src/testing/sdr/dom/components/huge_msg_python/python/huge_msg_python_base.py +++ b/redhawk/src/testing/sdr/dom/components/huge_msg_python/python/huge_msg_python_base.py @@ -13,7 +13,7 @@ from ossie.properties import simpleseq_property from ossie.properties import struct_property -import Queue, copy, time, threading +import queue, copy, time, threading from ossie.resource import usesport, providesport from ossie.events import MessageSupplierPort @@ -75,10 +75,10 @@ class MyMsg(object): def __init__(self, **kw): """Construct an initialized instance of this struct definition""" - for classattr in type(self).__dict__.itervalues(): + for classattr in type(self).__dict__.values(): if isinstance(classattr, (simple_property, simpleseq_property)): classattr.initialize(self) - for k,v in kw.items(): + for k,v in list(kw.items()): setattr(self,k,v) def __str__(self): diff --git a/redhawk/src/testing/sdr/dom/components/logger_py/python/logger_py_base.py b/redhawk/src/testing/sdr/dom/components/logger_py/python/logger_py_base.py index 127c54f5a..80f166711 100644 --- a/redhawk/src/testing/sdr/dom/components/logger_py/python/logger_py_base.py +++ b/redhawk/src/testing/sdr/dom/components/logger_py/python/logger_py_base.py @@ -10,7 +10,7 @@ from ossie.component import Component from ossie.threadedcomponent import * -import Queue, copy, time, threading +import queue, copy, time, threading class logger_py_base(CF__POA.Resource, Component, ThreadedComponent): # These values can be altered in the __init__ of your derived class diff --git a/redhawk/src/testing/sdr/dom/components/math_py/python/math_py_base.py b/redhawk/src/testing/sdr/dom/components/math_py/python/math_py_base.py index 9d217e050..3bd2b6fc0 100644 --- a/redhawk/src/testing/sdr/dom/components/math_py/python/math_py_base.py +++ b/redhawk/src/testing/sdr/dom/components/math_py/python/math_py_base.py @@ -11,7 +11,7 @@ from ossie.threadedcomponent import * from ossie.properties import simple_property -import Queue, copy, time, threading +import queue, copy, time, threading class math_py_base(CF__POA.Resource, Component, ThreadedComponent): # These values can be altered in the __init__ of your derived class @@ -60,7 +60,7 @@ def releaseObject(self): # or by using the IDE. prop1 = simple_property(id_="prop1", type_="longlong", - defvalue=10000L, + defvalue=10000, mode="readwrite", action="external", kinds=("property",)) diff --git a/redhawk/src/testing/sdr/dom/components/msg_through/python/msg_through_base.py b/redhawk/src/testing/sdr/dom/components/msg_through/python/msg_through_base.py index ad70e9682..ba37fbb89 100644 --- a/redhawk/src/testing/sdr/dom/components/msg_through/python/msg_through_base.py +++ b/redhawk/src/testing/sdr/dom/components/msg_through/python/msg_through_base.py @@ -13,7 +13,7 @@ from ossie.properties import simpleseq_property from ossie.properties import struct_property -import Queue, copy, time, threading +import queue, copy, time, threading from ossie.resource import usesport, providesport from ossie.events import MessageConsumerPort from ossie.events import MessageSupplierPort @@ -91,10 +91,10 @@ class Foo(object): def __init__(self, **kw): """Construct an initialized instance of this struct definition""" - for classattr in type(self).__dict__.itervalues(): + for classattr in type(self).__dict__.values(): if isinstance(classattr, (simple_property, simpleseq_property)): classattr.initialize(self) - for k,v in kw.items(): + for k,v in list(kw.items()): setattr(self,k,v) def __str__(self): diff --git a/redhawk/src/testing/sdr/dom/components/newtime/python/newtime_base.py b/redhawk/src/testing/sdr/dom/components/newtime/python/newtime_base.py index e125073e9..2948da43e 100644 --- a/redhawk/src/testing/sdr/dom/components/newtime/python/newtime_base.py +++ b/redhawk/src/testing/sdr/dom/components/newtime/python/newtime_base.py @@ -11,7 +11,7 @@ from ossie.threadedcomponent import * from ossie.properties import simple_property -import Queue, copy, time, threading +import queue, copy, time, threading class newtime_base(CF__POA.Resource, Component, ThreadedComponent): # These values can be altered in the __init__ of your derived class diff --git a/redhawk/src/testing/sdr/dom/components/non_ac_with_properties/python/non_ac_with_properties_base.py b/redhawk/src/testing/sdr/dom/components/non_ac_with_properties/python/non_ac_with_properties_base.py index 726f227a3..ea5f7e7d7 100644 --- a/redhawk/src/testing/sdr/dom/components/non_ac_with_properties/python/non_ac_with_properties_base.py +++ b/redhawk/src/testing/sdr/dom/components/non_ac_with_properties/python/non_ac_with_properties_base.py @@ -32,7 +32,7 @@ from ossie.resource import Resource from ossie.properties import simple_property -import Queue, copy, time, threading +import queue, copy, time, threading NOOP = -1 NORMAL = 0 diff --git a/redhawk/src/testing/sdr/dom/components/non_ac_with_properties/tests/test_non_ac_with_properties.py b/redhawk/src/testing/sdr/dom/components/non_ac_with_properties/tests/test_non_ac_with_properties.py index 2b44ddf93..613fd9368 100644 --- a/redhawk/src/testing/sdr/dom/components/non_ac_with_properties/tests/test_non_ac_with_properties.py +++ b/redhawk/src/testing/sdr/dom/components/non_ac_with_properties/tests/test_non_ac_with_properties.py @@ -57,7 +57,7 @@ def testScaBasicBehavior(self): props = dict((x.id, any.from_any(x.value)) for x in props) # Query may return more than expected, but not less for expectedProp in expectedProps: - self.assertEquals(props.has_key(expectedProp.id), True) + self.assertEqual(expectedProp.id in props, True) ####################################################################### # Verify that all expected ports are available diff --git a/redhawk/src/testing/sdr/dom/components/noop_mix_one/python/noop_mix_one_base.py b/redhawk/src/testing/sdr/dom/components/noop_mix_one/python/noop_mix_one_base.py index 3fbde7f19..6a92edd1f 100644 --- a/redhawk/src/testing/sdr/dom/components/noop_mix_one/python/noop_mix_one_base.py +++ b/redhawk/src/testing/sdr/dom/components/noop_mix_one/python/noop_mix_one_base.py @@ -29,7 +29,7 @@ from ossie.resource import Resource from ossie.threadedcomponent import * -import Queue, copy, time, threading +import queue, copy, time, threading class noop_mix_one_base(CF__POA.Resource, Resource, ThreadedComponent): # These values can be altered in the __init__ of your derived class diff --git a/redhawk/src/testing/sdr/dom/components/noop_mix_one/tests/test_noop_mix_one.py b/redhawk/src/testing/sdr/dom/components/noop_mix_one/tests/test_noop_mix_one.py index 731b06e77..b6a6a3171 100644 --- a/redhawk/src/testing/sdr/dom/components/noop_mix_one/tests/test_noop_mix_one.py +++ b/redhawk/src/testing/sdr/dom/components/noop_mix_one/tests/test_noop_mix_one.py @@ -50,7 +50,7 @@ def testScaBasicBehavior(self): props = dict((x.id, any.from_any(x.value)) for x in props) # Query may return more than expected, but not less for expectedProp in expectedProps: - self.assertEquals(props.has_key(expectedProp.id), True) + self.assertEqual(expectedProp.id in props, True) ####################################################################### # Verify that all expected ports are available diff --git a/redhawk/src/testing/sdr/dom/components/noop_mix_three/python/noop_mix_three_base.py b/redhawk/src/testing/sdr/dom/components/noop_mix_three/python/noop_mix_three_base.py index 5f7c60b9c..04562c6f6 100644 --- a/redhawk/src/testing/sdr/dom/components/noop_mix_three/python/noop_mix_three_base.py +++ b/redhawk/src/testing/sdr/dom/components/noop_mix_three/python/noop_mix_three_base.py @@ -29,7 +29,7 @@ from ossie.resource import Resource from ossie.threadedcomponent import * -import Queue, copy, time, threading +import queue, copy, time, threading class noop_mix_three_base(CF__POA.Resource, Resource, ThreadedComponent): # These values can be altered in the __init__ of your derived class diff --git a/redhawk/src/testing/sdr/dom/components/noop_mix_three/tests/test_noop_mix_three.py b/redhawk/src/testing/sdr/dom/components/noop_mix_three/tests/test_noop_mix_three.py index 61d746929..2584a960a 100644 --- a/redhawk/src/testing/sdr/dom/components/noop_mix_three/tests/test_noop_mix_three.py +++ b/redhawk/src/testing/sdr/dom/components/noop_mix_three/tests/test_noop_mix_three.py @@ -50,7 +50,7 @@ def testScaBasicBehavior(self): props = dict((x.id, any.from_any(x.value)) for x in props) # Query may return more than expected, but not less for expectedProp in expectedProps: - self.assertEquals(props.has_key(expectedProp.id), True) + self.assertEqual(expectedProp.id in props, True) ####################################################################### # Verify that all expected ports are available diff --git a/redhawk/src/testing/sdr/dom/components/noop_mix_two/python/noop_mix_two_base.py b/redhawk/src/testing/sdr/dom/components/noop_mix_two/python/noop_mix_two_base.py index 42407a412..efa3a475c 100644 --- a/redhawk/src/testing/sdr/dom/components/noop_mix_two/python/noop_mix_two_base.py +++ b/redhawk/src/testing/sdr/dom/components/noop_mix_two/python/noop_mix_two_base.py @@ -29,7 +29,7 @@ from ossie.resource import Resource from ossie.threadedcomponent import * -import Queue, copy, time, threading +import queue, copy, time, threading class noop_mix_two_base(CF__POA.Resource, Resource, ThreadedComponent): # These values can be altered in the __init__ of your derived class diff --git a/redhawk/src/testing/sdr/dom/components/noop_mix_two/tests/test_noop_mix_two.py b/redhawk/src/testing/sdr/dom/components/noop_mix_two/tests/test_noop_mix_two.py index 83aea0a7b..86f7075ba 100644 --- a/redhawk/src/testing/sdr/dom/components/noop_mix_two/tests/test_noop_mix_two.py +++ b/redhawk/src/testing/sdr/dom/components/noop_mix_two/tests/test_noop_mix_two.py @@ -50,7 +50,7 @@ def testScaBasicBehavior(self): props = dict((x.id, any.from_any(x.value)) for x in props) # Query may return more than expected, but not less for expectedProp in expectedProps: - self.assertEquals(props.has_key(expectedProp.id), True) + self.assertEqual(expectedProp.id in props, True) ####################################################################### # Verify that all expected ports are available diff --git a/redhawk/src/testing/sdr/dom/components/property_init/python/property_init.py b/redhawk/src/testing/sdr/dom/components/property_init/python/property_init.py index 59a9cfe8b..b01b9670f 100755 --- a/redhawk/src/testing/sdr/dom/components/property_init/python/property_init.py +++ b/redhawk/src/testing/sdr/dom/components/property_init/python/property_init.py @@ -32,7 +32,7 @@ class property_init_i(property_init_base): """""" def __init__(self, identifier, execparams): property_init_base.__init__(self, identifier, execparams) - self.cmdline_args = execparams.keys() + self.cmdline_args = list(execparams.keys()) def constructor(self): """ diff --git a/redhawk/src/testing/sdr/dom/components/property_init/python/property_init_base.py b/redhawk/src/testing/sdr/dom/components/property_init/python/property_init_base.py index f743e6f97..4ef8b9053 100644 --- a/redhawk/src/testing/sdr/dom/components/property_init/python/property_init_base.py +++ b/redhawk/src/testing/sdr/dom/components/property_init/python/property_init_base.py @@ -31,7 +31,7 @@ from ossie.properties import simple_property from ossie.properties import simpleseq_property -import Queue, copy, time, threading +import queue, copy, time, threading class property_init_base(CF__POA.Resource, Component, ThreadedComponent): # These values can be altered in the __init__ of your derived class diff --git a/redhawk/src/testing/sdr/dom/components/props_bad_numbers/python/props_bad_numbers_base.py b/redhawk/src/testing/sdr/dom/components/props_bad_numbers/python/props_bad_numbers_base.py index 0b8293050..8d77c0671 100644 --- a/redhawk/src/testing/sdr/dom/components/props_bad_numbers/python/props_bad_numbers_base.py +++ b/redhawk/src/testing/sdr/dom/components/props_bad_numbers/python/props_bad_numbers_base.py @@ -11,7 +11,7 @@ from ossie.threadedcomponent import * from ossie.properties import simple_property -import Queue, copy, time, threading +import queue, copy, time, threading class props_bad_numbers_base(CF__POA.Resource, Component, ThreadedComponent): # These values can be altered in the __init__ of your derived class diff --git a/redhawk/src/testing/sdr/dom/components/py_comp/python/py_comp.py b/redhawk/src/testing/sdr/dom/components/py_comp/python/py_comp.py index 13f198c31..be500077c 100755 --- a/redhawk/src/testing/sdr/dom/components/py_comp/python/py_comp.py +++ b/redhawk/src/testing/sdr/dom/components/py_comp/python/py_comp.py @@ -43,12 +43,12 @@ def constructor(self): try: self.app_id = self.getApplication().ref._get_identifier() self.number_components = len(self.getApplication().ref._get_registeredComponents()) - except Exception, e: + except Exception as e: self.app_id = "" self.number_components = -2 try: self.dom_id = self.getDomainManager().ref._get_identifier() - except Exception, e: + except Exception as e: self.dom_id = "" self.nic_name = self.getNetwork().getNic() diff --git a/redhawk/src/testing/sdr/dom/components/py_comp/python/py_comp_base.py b/redhawk/src/testing/sdr/dom/components/py_comp/python/py_comp_base.py index 8b6634516..4626d36c2 100644 --- a/redhawk/src/testing/sdr/dom/components/py_comp/python/py_comp_base.py +++ b/redhawk/src/testing/sdr/dom/components/py_comp/python/py_comp_base.py @@ -30,7 +30,7 @@ from ossie.threadedcomponent import * from ossie.properties import simple_property -import Queue, copy, time, threading +import queue, copy, time, threading class py_comp_base(CF__POA.Resource, Component, ThreadedComponent): # These values can be altered in the __init__ of your derived class diff --git a/redhawk/src/testing/sdr/dom/components/py_prop_writeonly/python/py_prop_writeonly_base.py b/redhawk/src/testing/sdr/dom/components/py_prop_writeonly/python/py_prop_writeonly_base.py index f08339cd6..97682f9e6 100644 --- a/redhawk/src/testing/sdr/dom/components/py_prop_writeonly/python/py_prop_writeonly_base.py +++ b/redhawk/src/testing/sdr/dom/components/py_prop_writeonly/python/py_prop_writeonly_base.py @@ -11,7 +11,7 @@ from ossie.threadedcomponent import * from ossie.properties import simple_property -import Queue, copy, time, threading +import queue, copy, time, threading class py_prop_writeonly_base(CF__POA.Resource, Component, ThreadedComponent): # These values can be altered in the __init__ of your derived class diff --git a/redhawk/src/testing/sdr/dom/components/pythonSoftpkgDep/python/pythonSoftpkgDep.py b/redhawk/src/testing/sdr/dom/components/pythonSoftpkgDep/python/pythonSoftpkgDep.py index 93bc5fa21..6dab6315a 100755 --- a/redhawk/src/testing/sdr/dom/components/pythonSoftpkgDep/python/pythonSoftpkgDep.py +++ b/redhawk/src/testing/sdr/dom/components/pythonSoftpkgDep/python/pythonSoftpkgDep.py @@ -32,7 +32,7 @@ def start(self): pythonSoftpkgDep_base.start(self) self.prop1 = self.h1.c['goober'] self.prop2 = self.h2.c['jones'] - self.prop3 = self.h3.c.keys()[2] + self.prop3 = list(self.h3.c.keys())[2] def process(self): """ diff --git a/redhawk/src/testing/sdr/dom/components/pythonSoftpkgDep/python/pythonSoftpkgDep_base.py b/redhawk/src/testing/sdr/dom/components/pythonSoftpkgDep/python/pythonSoftpkgDep_base.py index a9dbac9ca..9409d3b55 100644 --- a/redhawk/src/testing/sdr/dom/components/pythonSoftpkgDep/python/pythonSoftpkgDep_base.py +++ b/redhawk/src/testing/sdr/dom/components/pythonSoftpkgDep/python/pythonSoftpkgDep_base.py @@ -11,7 +11,7 @@ from ossie.threadedcomponent import * from ossie.properties import simple_property -import Queue, copy, time, threading +import queue, copy, time, threading class pythonSoftpkgDep_base(CF__POA.Resource, Component, ThreadedComponent): # These values can be altered in the __init__ of your derived class diff --git a/redhawk/src/testing/sdr/dom/components/python_runtest/python/python_runtest_base.py b/redhawk/src/testing/sdr/dom/components/python_runtest/python/python_runtest_base.py index df31932fa..ca826b9c6 100644 --- a/redhawk/src/testing/sdr/dom/components/python_runtest/python/python_runtest_base.py +++ b/redhawk/src/testing/sdr/dom/components/python_runtest/python/python_runtest_base.py @@ -29,7 +29,7 @@ from ossie.component import Component from ossie.threadedcomponent import * -import Queue, copy, time, threading +import queue, copy, time, threading class python_runtest_base(CF__POA.Resource, Component, ThreadedComponent): # These values can be altered in the __init__ of your derived class diff --git a/redhawk/src/testing/sdr/dom/components/sdds_src/python/sdds_src_base.py b/redhawk/src/testing/sdr/dom/components/sdds_src/python/sdds_src_base.py index b0bfd05a4..34520f122 100644 --- a/redhawk/src/testing/sdr/dom/components/sdds_src/python/sdds_src_base.py +++ b/redhawk/src/testing/sdr/dom/components/sdds_src/python/sdds_src_base.py @@ -29,7 +29,7 @@ from ossie.component import Component from ossie.threadedcomponent import * -import Queue, copy, time, threading +import queue, copy, time, threading from ossie.resource import usesport, providesport import bulkio diff --git a/redhawk/src/testing/sdr/dom/components/slow_stop/python/slow_stop_base.py b/redhawk/src/testing/sdr/dom/components/slow_stop/python/slow_stop_base.py index 880a4d9b4..71f11b82d 100644 --- a/redhawk/src/testing/sdr/dom/components/slow_stop/python/slow_stop_base.py +++ b/redhawk/src/testing/sdr/dom/components/slow_stop/python/slow_stop_base.py @@ -10,7 +10,7 @@ from ossie.component import Component from ossie.threadedcomponent import * -import Queue, copy, time, threading +import queue, copy, time, threading class slow_stop_base(CF__POA.Resource, Component, ThreadedComponent): # These values can be altered in the __init__ of your derived class diff --git a/redhawk/src/testing/sdr/dom/components/softpkgDep/spdDepLibrary/__init__.py b/redhawk/src/testing/sdr/dom/components/softpkgDep/spdDepLibrary/__init__.py index 3599d511e..43e56e6dd 100644 --- a/redhawk/src/testing/sdr/dom/components/softpkgDep/spdDepLibrary/__init__.py +++ b/redhawk/src/testing/sdr/dom/components/softpkgDep/spdDepLibrary/__init__.py @@ -18,4 +18,4 @@ # along with this program. If not, see http://www.gnu.org/licenses/. # -from spdDepLibrary import * +from .spdDepLibrary import * diff --git a/redhawk/src/testing/sdr/dom/components/softpkgDep/spdDepLibrary/spdDepLibrary.py b/redhawk/src/testing/sdr/dom/components/softpkgDep/spdDepLibrary/spdDepLibrary.py index 394591992..7c0898e19 100644 --- a/redhawk/src/testing/sdr/dom/components/softpkgDep/spdDepLibrary/spdDepLibrary.py +++ b/redhawk/src/testing/sdr/dom/components/softpkgDep/spdDepLibrary/spdDepLibrary.py @@ -18,7 +18,7 @@ # along with this program. If not, see http://www.gnu.org/licenses/. # -print "hello world" +print("hello world") class bar: def __init__(self): diff --git a/redhawk/src/testing/sdr/dom/components/softpkgDep/spdDepLibrary_64/spdDepLibrary.py b/redhawk/src/testing/sdr/dom/components/softpkgDep/spdDepLibrary_64/spdDepLibrary.py index a8053fd4a..11fe3ff6f 100644 --- a/redhawk/src/testing/sdr/dom/components/softpkgDep/spdDepLibrary_64/spdDepLibrary.py +++ b/redhawk/src/testing/sdr/dom/components/softpkgDep/spdDepLibrary_64/spdDepLibrary.py @@ -18,4 +18,4 @@ # along with this program. If not, see http://www.gnu.org/licenses/. # -print "hello world" +print("hello world") diff --git a/redhawk/src/testing/sdr/dom/components/softpkgDep_collide/spdDepLibrary/__init__.py b/redhawk/src/testing/sdr/dom/components/softpkgDep_collide/spdDepLibrary/__init__.py index 3599d511e..43e56e6dd 100644 --- a/redhawk/src/testing/sdr/dom/components/softpkgDep_collide/spdDepLibrary/__init__.py +++ b/redhawk/src/testing/sdr/dom/components/softpkgDep_collide/spdDepLibrary/__init__.py @@ -18,4 +18,4 @@ # along with this program. If not, see http://www.gnu.org/licenses/. # -from spdDepLibrary import * +from .spdDepLibrary import * diff --git a/redhawk/src/testing/sdr/dom/components/softpkgNested2Dep/spdNested2DepLibrary/spdNested2DepLibrary.py b/redhawk/src/testing/sdr/dom/components/softpkgNested2Dep/spdNested2DepLibrary/spdNested2DepLibrary.py index a8053fd4a..11fe3ff6f 100644 --- a/redhawk/src/testing/sdr/dom/components/softpkgNested2Dep/spdNested2DepLibrary/spdNested2DepLibrary.py +++ b/redhawk/src/testing/sdr/dom/components/softpkgNested2Dep/spdNested2DepLibrary/spdNested2DepLibrary.py @@ -18,4 +18,4 @@ # along with this program. If not, see http://www.gnu.org/licenses/. # -print "hello world" +print("hello world") diff --git a/redhawk/src/testing/sdr/dom/components/softpkgNestedDep/spdNestedDepLibrary/spdNestedDepLibrary.py b/redhawk/src/testing/sdr/dom/components/softpkgNestedDep/spdNestedDepLibrary/spdNestedDepLibrary.py index a8053fd4a..11fe3ff6f 100644 --- a/redhawk/src/testing/sdr/dom/components/softpkgNestedDep/spdNestedDepLibrary/spdNestedDepLibrary.py +++ b/redhawk/src/testing/sdr/dom/components/softpkgNestedDep/spdNestedDepLibrary/spdNestedDepLibrary.py @@ -18,4 +18,4 @@ # along with this program. If not, see http://www.gnu.org/licenses/. # -print "hello world" +print("hello world") diff --git a/redhawk/src/testing/sdr/dom/components/start_timeout/python/start_timeout_base.py b/redhawk/src/testing/sdr/dom/components/start_timeout/python/start_timeout_base.py index 98e392a97..9fcd4129e 100644 --- a/redhawk/src/testing/sdr/dom/components/start_timeout/python/start_timeout_base.py +++ b/redhawk/src/testing/sdr/dom/components/start_timeout/python/start_timeout_base.py @@ -29,7 +29,7 @@ from ossie.component import Component from ossie.threadedcomponent import * -import Queue, copy, time, threading +import queue, copy, time, threading class start_timeout_base(CF__POA.Resource, Component, ThreadedComponent): # These values can be altered in the __init__ of your derived class diff --git a/redhawk/src/testing/sdr/dom/components/struct_fields/python/struct_fields_base.py b/redhawk/src/testing/sdr/dom/components/struct_fields/python/struct_fields_base.py index 48a5b068c..f07b69b5e 100644 --- a/redhawk/src/testing/sdr/dom/components/struct_fields/python/struct_fields_base.py +++ b/redhawk/src/testing/sdr/dom/components/struct_fields/python/struct_fields_base.py @@ -31,7 +31,7 @@ from ossie.properties import simple_property from ossie.properties import struct_property -import Queue, copy, time, threading +import queue, copy, time, threading class struct_fields_base(CF__POA.Resource, Resource, ThreadedComponent): # These values can be altered in the __init__ of your derived class @@ -91,10 +91,10 @@ class First(object): def __init__(self, **kw): """Construct an initialized instance of this struct definition""" - for attrname, classattr in type(self).__dict__.items(): + for attrname, classattr in list(type(self).__dict__.items()): if type(classattr) == simple_property: classattr.initialize(self) - for k,v in kw.items(): + for k,v in list(kw.items()): setattr(self,k,v) def __str__(self): @@ -131,10 +131,10 @@ class Second(object): def __init__(self, **kw): """Construct an initialized instance of this struct definition""" - for attrname, classattr in type(self).__dict__.items(): + for attrname, classattr in list(type(self).__dict__.items()): if type(classattr) == simple_property: classattr.initialize(self) - for k,v in kw.items(): + for k,v in list(kw.items()): setattr(self,k,v) def __str__(self): diff --git a/redhawk/src/testing/sdr/dom/components/struct_prop_check/python/struct_prop_check_base.py b/redhawk/src/testing/sdr/dom/components/struct_prop_check/python/struct_prop_check_base.py index a2161d744..619417c5d 100644 --- a/redhawk/src/testing/sdr/dom/components/struct_prop_check/python/struct_prop_check_base.py +++ b/redhawk/src/testing/sdr/dom/components/struct_prop_check/python/struct_prop_check_base.py @@ -13,7 +13,7 @@ from ossie.properties import simpleseq_property from ossie.properties import struct_property -import Queue, copy, time, threading +import queue, copy, time, threading class struct_prop_check_base(CF__POA.Resource, Component, ThreadedComponent): # These values can be altered in the __init__ of your derived class @@ -73,10 +73,10 @@ class SomeStruct(object): def __init__(self, **kw): """Construct an initialized instance of this struct definition""" - for classattr in type(self).__dict__.itervalues(): + for classattr in type(self).__dict__.values(): if isinstance(classattr, (simple_property, simpleseq_property)): classattr.initialize(self) - for k,v in kw.items(): + for k,v in list(kw.items()): setattr(self,k,v) def __str__(self): diff --git a/redhawk/src/testing/sdr/dom/components/svc_fn_error/python/svc_fn_error_base.py b/redhawk/src/testing/sdr/dom/components/svc_fn_error/python/svc_fn_error_base.py index 3dce6b593..7d54e6197 100644 --- a/redhawk/src/testing/sdr/dom/components/svc_fn_error/python/svc_fn_error_base.py +++ b/redhawk/src/testing/sdr/dom/components/svc_fn_error/python/svc_fn_error_base.py @@ -29,7 +29,7 @@ from ossie.component import Component from ossie.threadedcomponent import * -import Queue, copy, time, threading +import queue, copy, time, threading class svc_fn_error_base(CF__POA.Resource, Component, ThreadedComponent): # These values can be altered in the __init__ of your derived class diff --git a/redhawk/src/testing/sdr/dom/components/svc_fn_error_cpp/cpp/Makefile.am b/redhawk/src/testing/sdr/dom/components/svc_fn_error_cpp/cpp/Makefile.am index 50213e7c6..c04273330 100644 --- a/redhawk/src/testing/sdr/dom/components/svc_fn_error_cpp/cpp/Makefile.am +++ b/redhawk/src/testing/sdr/dom/components/svc_fn_error_cpp/cpp/Makefile.am @@ -28,7 +28,7 @@ noinst_PROGRAMS = svc_fn_error_cpp # you wish to manually control these options. include $(srcdir)/Makefile.am.ide svc_fn_error_cpp_SOURCES = $(redhawk_SOURCES_auto) -svc_fn_error_cpp_LDADD = $(CFDIR)/framework/libossiecf.la $(CFDIR)/framework/idl/libossieidl.la $(SOFTPKG_LIBS) $(PROJECTDEPS_LIBS) $(BOOST_LDFLAGS) $(BOOST_THREAD_LIB) $(BOOST_REGEX_LIB) $(BOOST_SYSTEM_LIB) $(INTERFACEDEPS_LIBS) $(redhawk_LDADD_auto) +svc_fn_error_cpp_LDADD = $(CFDIR)/framework/libossiecf.la $(CFDIR)/framework/idl/libossieidl.la $(SOFTPKG_LIBS) $(PROJECTDEPS_LIBS) $(BOOST_LDFLAGS) $(BOOST_THREAD_LIB) $(BOOST_REGEX_LIB) $(BOOST_SYSTEM_LIB) $(INTERFACEDEPS_LIBS) $(redhawk_LDADD_auto) $(OMNIORB_LIBS) -ldl svc_fn_error_cpp_CXXFLAGS = -Wall $(SOFTPKG_CFLAGS) $(PROJECTDEPS_CFLAGS) $(BOOST_CPPFLAGS) $(INTERFACEDEPS_CFLAGS) $(redhawk_INCLUDES_auto) svc_fn_error_cpp_LDFLAGS = -Wall $(redhawk_LDFLAGS_auto) diff --git a/redhawk/src/testing/sdr/dom/components/testcomp/python/testcomp_base.py b/redhawk/src/testing/sdr/dom/components/testcomp/python/testcomp_base.py index b62ccc6a3..3704e7416 100644 --- a/redhawk/src/testing/sdr/dom/components/testcomp/python/testcomp_base.py +++ b/redhawk/src/testing/sdr/dom/components/testcomp/python/testcomp_base.py @@ -11,7 +11,7 @@ from ossie.threadedcomponent import * from ossie.properties import simpleseq_property -import Queue, copy, time, threading +import queue, copy, time, threading class testcomp_base(CF__POA.Resource, Component, ThreadedComponent): # These values can be altered in the __init__ of your derived class diff --git a/redhawk/src/testing/sdr/dom/components/through/python/through_base.py b/redhawk/src/testing/sdr/dom/components/through/python/through_base.py index b5b3f88cc..51f5017e1 100644 --- a/redhawk/src/testing/sdr/dom/components/through/python/through_base.py +++ b/redhawk/src/testing/sdr/dom/components/through/python/through_base.py @@ -29,7 +29,7 @@ from ossie.component import Component from ossie.threadedcomponent import * -import Queue, copy, time, threading +import queue, copy, time, threading from ossie.resource import usesport, providesport from ossie.cf import ExtendedCF from ossie.cf import ExtendedCF__POA @@ -117,7 +117,7 @@ def __init__(self, parent, name): self.parent = parent self.name = name self.sri = None - self.queue = Queue.Queue() + self.queue = queue.Queue() self.port_lock = threading.Lock() def initialize(self): @@ -155,7 +155,7 @@ def disconnectPort(self, connectionId): def _get_connections(self): self.port_lock.acquire() try: - return [ExtendedCF.UsesConnection(name, port) for name, port in self.outConnections.iteritems()] + return [ExtendedCF.UsesConnection(name, port) for name, port in self.outConnections.items()] finally: self.port_lock.release() @@ -163,7 +163,7 @@ def initialize(self): self.port_lock.acquire() try: - for connId, port in self.outConnections.items(): + for connId, port in list(self.outConnections.items()): if port != None: try: port.initialize() @@ -176,7 +176,7 @@ def releaseObject(self): self.port_lock.acquire() try: - for connId, port in self.outConnections.items(): + for connId, port in list(self.outConnections.items()): if port != None: try: port.releaseObject() diff --git a/redhawk/src/testing/sdr/dom/components/ticket2093/tests/test_ticket2093.py b/redhawk/src/testing/sdr/dom/components/ticket2093/tests/test_ticket2093.py index 08602fc56..dae5314bd 100644 --- a/redhawk/src/testing/sdr/dom/components/ticket2093/tests/test_ticket2093.py +++ b/redhawk/src/testing/sdr/dom/components/ticket2093/tests/test_ticket2093.py @@ -58,7 +58,7 @@ def testScaBasicBehavior(self): props = dict((x.id, any.from_any(x.value)) for x in props) # Query may return more than expected, but not less for expectedProp in expectedProps: - self.assertEquals(props.has_key(expectedProp.id), True) + self.assertEqual(expectedProp.id in props, True) ####################################################################### # Verify that all expected ports are available diff --git a/redhawk/src/testing/sdr/dom/components/ticket_462/python/ticket_462_base.py b/redhawk/src/testing/sdr/dom/components/ticket_462/python/ticket_462_base.py index bd6876780..4219aec02 100644 --- a/redhawk/src/testing/sdr/dom/components/ticket_462/python/ticket_462_base.py +++ b/redhawk/src/testing/sdr/dom/components/ticket_462/python/ticket_462_base.py @@ -35,7 +35,7 @@ from ossie.properties import struct_property from ossie.properties import structseq_property -import Queue, copy, time, threading +import queue, copy, time, threading NOOP = -1 NORMAL = 0 @@ -165,10 +165,10 @@ class OverStruct(object): def __init__(self, **kw): """Construct an initialized instance of this struct definition""" - for attrname, classattr in type(self).__dict__.items(): + for attrname, classattr in list(type(self).__dict__.items()): if type(classattr) == simple_property: classattr.initialize(self) - for k,v in kw.items(): + for k,v in list(kw.items()): setattr(self,k,v) def __str__(self): diff --git a/redhawk/src/testing/sdr/dom/components/ticket_462/tests/test_ticket_462.py b/redhawk/src/testing/sdr/dom/components/ticket_462/tests/test_ticket_462.py index 57a746e40..26e3223dc 100644 --- a/redhawk/src/testing/sdr/dom/components/ticket_462/tests/test_ticket_462.py +++ b/redhawk/src/testing/sdr/dom/components/ticket_462/tests/test_ticket_462.py @@ -57,7 +57,7 @@ def testScaBasicBehavior(self): props = dict((x.id, any.from_any(x.value)) for x in props) # Query may return more than expected, but not less for expectedProp in expectedProps: - self.assertEquals(props.has_key(expectedProp.id), True) + self.assertEqual(expectedProp.id in props, True) ####################################################################### # Verify that all expected ports are available diff --git a/redhawk/src/testing/sdr/dom/components/ticket_462_ac/python/ticket_462_ac_base.py b/redhawk/src/testing/sdr/dom/components/ticket_462_ac/python/ticket_462_ac_base.py index 220a22e95..c705ad962 100644 --- a/redhawk/src/testing/sdr/dom/components/ticket_462_ac/python/ticket_462_ac_base.py +++ b/redhawk/src/testing/sdr/dom/components/ticket_462_ac/python/ticket_462_ac_base.py @@ -34,7 +34,7 @@ from ossie.properties import simpleseq_property from ossie.properties import struct_property -import Queue, copy, time, threading +import queue, copy, time, threading NOOP = -1 NORMAL = 0 @@ -158,10 +158,10 @@ class BasicStruct(object): def __init__(self, **kw): """Construct an initialized instance of this struct definition""" - for attrname, classattr in type(self).__dict__.items(): + for attrname, classattr in list(type(self).__dict__.items()): if type(classattr) == simple_property: classattr.initialize(self) - for k,v in kw.items(): + for k,v in list(kw.items()): setattr(self,k,v) def __str__(self): diff --git a/redhawk/src/testing/sdr/dom/components/ticket_462_ac/tests/test_ticket_462_ac.py b/redhawk/src/testing/sdr/dom/components/ticket_462_ac/tests/test_ticket_462_ac.py index 6d5db9cab..e32f2ae78 100644 --- a/redhawk/src/testing/sdr/dom/components/ticket_462_ac/tests/test_ticket_462_ac.py +++ b/redhawk/src/testing/sdr/dom/components/ticket_462_ac/tests/test_ticket_462_ac.py @@ -57,7 +57,7 @@ def testScaBasicBehavior(self): props = dict((x.id, any.from_any(x.value)) for x in props) # Query may return more than expected, but not less for expectedProp in expectedProps: - self.assertEquals(props.has_key(expectedProp.id), True) + self.assertEqual(expectedProp.id in props, True) ####################################################################### # Verify that all expected ports are available diff --git a/redhawk/src/testing/sdr/dom/components/ticket_490_double/python/ticket_490_double_base.py b/redhawk/src/testing/sdr/dom/components/ticket_490_double/python/ticket_490_double_base.py index 3a271ab49..a9808c6db 100644 --- a/redhawk/src/testing/sdr/dom/components/ticket_490_double/python/ticket_490_double_base.py +++ b/redhawk/src/testing/sdr/dom/components/ticket_490_double/python/ticket_490_double_base.py @@ -27,7 +27,7 @@ from ossie.resource import Resource -import Queue, copy, time, threading +import queue, copy, time, threading NOOP = -1 NORMAL = 0 diff --git a/redhawk/src/testing/sdr/dom/components/ticket_490_double/tests/test_ticket_490_double.py b/redhawk/src/testing/sdr/dom/components/ticket_490_double/tests/test_ticket_490_double.py index 25e362e02..956721695 100644 --- a/redhawk/src/testing/sdr/dom/components/ticket_490_double/tests/test_ticket_490_double.py +++ b/redhawk/src/testing/sdr/dom/components/ticket_490_double/tests/test_ticket_490_double.py @@ -49,7 +49,7 @@ def testScaBasicBehavior(self): props = dict((x.id, any.from_any(x.value)) for x in props) # Query may return more than expected, but not less for expectedProp in expectedProps: - self.assertEquals(props.has_key(expectedProp.id), True) + self.assertEqual(expectedProp.id in props, True) ####################################################################### # Verify that all expected ports are available diff --git a/redhawk/src/testing/sdr/dom/components/ticket_490_none/python/ticket_490_none_base.py b/redhawk/src/testing/sdr/dom/components/ticket_490_none/python/ticket_490_none_base.py index b3ddbe922..6eeb2d894 100644 --- a/redhawk/src/testing/sdr/dom/components/ticket_490_none/python/ticket_490_none_base.py +++ b/redhawk/src/testing/sdr/dom/components/ticket_490_none/python/ticket_490_none_base.py @@ -27,7 +27,7 @@ from ossie.resource import Resource -import Queue, copy, time, threading +import queue, copy, time, threading NOOP = -1 NORMAL = 0 diff --git a/redhawk/src/testing/sdr/dom/components/ticket_490_none/tests/test_ticket_490_none.py b/redhawk/src/testing/sdr/dom/components/ticket_490_none/tests/test_ticket_490_none.py index 911c2bac7..5cdff8073 100644 --- a/redhawk/src/testing/sdr/dom/components/ticket_490_none/tests/test_ticket_490_none.py +++ b/redhawk/src/testing/sdr/dom/components/ticket_490_none/tests/test_ticket_490_none.py @@ -49,7 +49,7 @@ def testScaBasicBehavior(self): props = dict((x.id, any.from_any(x.value)) for x in props) # Query may return more than expected, but not less for expectedProp in expectedProps: - self.assertEquals(props.has_key(expectedProp.id), True) + self.assertEqual(expectedProp.id in props, True) ####################################################################### # Verify that all expected ports are available diff --git a/redhawk/src/testing/sdr/dom/components/ticket_490_single/python/ticket_490_single_base.py b/redhawk/src/testing/sdr/dom/components/ticket_490_single/python/ticket_490_single_base.py index b09529c97..d48b3ad34 100644 --- a/redhawk/src/testing/sdr/dom/components/ticket_490_single/python/ticket_490_single_base.py +++ b/redhawk/src/testing/sdr/dom/components/ticket_490_single/python/ticket_490_single_base.py @@ -27,7 +27,7 @@ from ossie.resource import Resource -import Queue, copy, time, threading +import queue, copy, time, threading NOOP = -1 NORMAL = 0 diff --git a/redhawk/src/testing/sdr/dom/components/ticket_490_single/tests/test_ticket_490_single.py b/redhawk/src/testing/sdr/dom/components/ticket_490_single/tests/test_ticket_490_single.py index 8edd269d0..8c056f9a7 100644 --- a/redhawk/src/testing/sdr/dom/components/ticket_490_single/tests/test_ticket_490_single.py +++ b/redhawk/src/testing/sdr/dom/components/ticket_490_single/tests/test_ticket_490_single.py @@ -49,7 +49,7 @@ def testScaBasicBehavior(self): props = dict((x.id, any.from_any(x.value)) for x in props) # Query may return more than expected, but not less for expectedProp in expectedProps: - self.assertEquals(props.has_key(expectedProp.id), True) + self.assertEqual(expectedProp.id in props, True) ####################################################################### # Verify that all expected ports are available diff --git a/redhawk/src/testing/sdr/dom/components/ticket_cf_1066_comp/python/ticket_cf_1066_comp_base.py b/redhawk/src/testing/sdr/dom/components/ticket_cf_1066_comp/python/ticket_cf_1066_comp_base.py index 84b2e18d7..370079243 100644 --- a/redhawk/src/testing/sdr/dom/components/ticket_cf_1066_comp/python/ticket_cf_1066_comp_base.py +++ b/redhawk/src/testing/sdr/dom/components/ticket_cf_1066_comp/python/ticket_cf_1066_comp_base.py @@ -35,7 +35,7 @@ from ossie.properties import struct_property from ossie.properties import structseq_property -import Queue, copy, time, threading +import queue, copy, time, threading NOOP = -1 NORMAL = 0 @@ -169,10 +169,10 @@ class StructProp(object): def __init__(self, **kw): """Construct an initialized instance of this struct definition""" - for attrname, classattr in type(self).__dict__.items(): + for attrname, classattr in list(type(self).__dict__.items()): if type(classattr) == simple_property: classattr.initialize(self) - for k,v in kw.items(): + for k,v in list(kw.items()): setattr(self,k,v) def __str__(self): diff --git a/redhawk/src/testing/sdr/dom/components/ticket_cf_1067_comp/python/ticket_cf_1067_comp_base.py b/redhawk/src/testing/sdr/dom/components/ticket_cf_1067_comp/python/ticket_cf_1067_comp_base.py index 2fa97817b..c889c11c5 100644 --- a/redhawk/src/testing/sdr/dom/components/ticket_cf_1067_comp/python/ticket_cf_1067_comp_base.py +++ b/redhawk/src/testing/sdr/dom/components/ticket_cf_1067_comp/python/ticket_cf_1067_comp_base.py @@ -30,7 +30,7 @@ from ossie.threadedcomponent import * from ossie.properties import simple_property -import Queue, copy, time, threading +import queue, copy, time, threading class ticket_cf_1067_comp_base(CF__POA.Resource, Resource, ThreadedComponent): # These values can be altered in the __init__ of your derived class diff --git a/redhawk/src/testing/sdr/dom/components/ticket_cf_1067_comp/tests/test_ticket_cf_1067_comp.py b/redhawk/src/testing/sdr/dom/components/ticket_cf_1067_comp/tests/test_ticket_cf_1067_comp.py index c8301396f..a14112e3a 100644 --- a/redhawk/src/testing/sdr/dom/components/ticket_cf_1067_comp/tests/test_ticket_cf_1067_comp.py +++ b/redhawk/src/testing/sdr/dom/components/ticket_cf_1067_comp/tests/test_ticket_cf_1067_comp.py @@ -50,7 +50,7 @@ def testScaBasicBehavior(self): props = dict((x.id, any.from_any(x.value)) for x in props) # Query may return more than expected, but not less for expectedProp in expectedProps: - self.assertEquals(props.has_key(expectedProp.id), True) + self.assertEqual(expectedProp.id in props, True) ####################################################################### # Verify that all expected ports are available diff --git a/redhawk/src/testing/sdr/dom/components/ticket_cf_939_comp/python/ticket_cf_939_comp_base.py b/redhawk/src/testing/sdr/dom/components/ticket_cf_939_comp/python/ticket_cf_939_comp_base.py index 896e9576f..d1c9fbef8 100644 --- a/redhawk/src/testing/sdr/dom/components/ticket_cf_939_comp/python/ticket_cf_939_comp_base.py +++ b/redhawk/src/testing/sdr/dom/components/ticket_cf_939_comp/python/ticket_cf_939_comp_base.py @@ -31,7 +31,7 @@ from ossie.resource import Resource -import Queue, copy, time, threading +import queue, copy, time, threading NOOP = -1 NORMAL = 0 diff --git a/redhawk/src/testing/sdr/dom/components/time_py_now/python/time_py_now_base.py b/redhawk/src/testing/sdr/dom/components/time_py_now/python/time_py_now_base.py index 9b4d9e0f2..2a9502d44 100644 --- a/redhawk/src/testing/sdr/dom/components/time_py_now/python/time_py_now_base.py +++ b/redhawk/src/testing/sdr/dom/components/time_py_now/python/time_py_now_base.py @@ -12,7 +12,7 @@ from ossie.properties import simple_property from ossie.properties import simpleseq_property -import Queue, copy, time, threading +import queue, copy, time, threading class time_py_now_base(CF__POA.Resource, Component, ThreadedComponent): # These values can be altered in the __init__ of your derived class diff --git a/redhawk/src/testing/sdr/dom/components/timeprop_py/python/timeprop_py_base.py b/redhawk/src/testing/sdr/dom/components/timeprop_py/python/timeprop_py_base.py index 1ef931abb..fc5fba845 100644 --- a/redhawk/src/testing/sdr/dom/components/timeprop_py/python/timeprop_py_base.py +++ b/redhawk/src/testing/sdr/dom/components/timeprop_py/python/timeprop_py_base.py @@ -11,7 +11,7 @@ from ossie.threadedcomponent import * from ossie.properties import simple_property -import Queue, copy, time, threading +import queue, copy, time, threading class timeprop_py_base(CF__POA.Resource, Component, ThreadedComponent): # These values can be altered in the __init__ of your derived class diff --git a/redhawk/src/testing/sdr/dom/components/zero_length/python/zero_length_base.py b/redhawk/src/testing/sdr/dom/components/zero_length/python/zero_length_base.py index 7ebcef73a..250117f83 100644 --- a/redhawk/src/testing/sdr/dom/components/zero_length/python/zero_length_base.py +++ b/redhawk/src/testing/sdr/dom/components/zero_length/python/zero_length_base.py @@ -13,7 +13,7 @@ from ossie.properties import simpleseq_property from ossie.properties import struct_property -import Queue, copy, time, threading +import queue, copy, time, threading class zero_length_base(CF__POA.Resource, Component, ThreadedComponent): # These values can be altered in the __init__ of your derived class @@ -77,10 +77,10 @@ class Mystruct(object): def __init__(self, **kw): """Construct an initialized instance of this struct definition""" - for classattr in type(self).__dict__.itervalues(): + for classattr in type(self).__dict__.values(): if isinstance(classattr, (simple_property, simpleseq_property)): classattr.initialize(self) - for k,v in kw.items(): + for k,v in list(kw.items()): setattr(self,k,v) def __str__(self): diff --git a/redhawk/src/testing/setup.py b/redhawk/src/testing/setup.py index fb435cdc0..4a26caee7 100644 --- a/redhawk/src/testing/setup.py +++ b/redhawk/src/testing/setup.py @@ -28,18 +28,18 @@ except ImportError: pass else: - import StringIO + import io stdout, stderr = sys.stdout, sys.stderr - sys.stdout = co = StringIO.StringIO() - sys.stderr = ce = StringIO.StringIO() + sys.stdout = co = io.StringIO() + sys.stderr = ce = io.StringIO() # Tabnanny doesn't provide any mechanism other than print outs so we have # to capture the output tabnanny.check("_unitTestHelpers") sys.stdout = stdout sys.stderr = stderr if len(co.getvalue().strip()) != 0: - print "Incosistent tab usage:" - print co.getvalue() + print("Incosistent tab usage:") + print((co.getvalue())) sys.exit(-1) unitTestHelper = [ diff --git a/redhawk/src/testing/tests/test_00_Log4py.py b/redhawk/src/testing/tests/test_00_Log4py.py index 7a599b01c..c02aa03a6 100644 --- a/redhawk/src/testing/tests/test_00_Log4py.py +++ b/redhawk/src/testing/tests/test_00_Log4py.py @@ -26,7 +26,7 @@ import os import sys import contextlib -import cStringIO +import io import re logcfg=""" @@ -89,7 +89,7 @@ def _run_test(self, fmt_key): if len(conv) > 2: logline = logline.split(conv[2])[0] pval = pval.split(conv[2])[0] - self.assertEquals( pval, logline) + self.assertEqual( pval, logline) def test_date1(self): @@ -171,7 +171,7 @@ def test_fileappender_abs_path(self): fp = None fp = open(fname,'r') - self.assertNotEquals(fp,None) + self.assertNotEqual(fp,None) try: os.remove(fname) except: @@ -204,16 +204,16 @@ def test_fileappender_rel_path(self): floc = os.getcwd() fp = None fp = open(fname,'r') - self.assertNotEquals(fp,None) + self.assertNotEqual(fp,None) try: os.remove(fname) - except Exception, e: + except Exception as e: pass try: os os.rmdir('tmp/foo/bar') - except Exception, e: + except Exception as e: pass try: os.rmdir('tmp/foo') @@ -323,7 +323,7 @@ def tearDown(self): def _try_config_test(self, logcfg, epattern, foundTest=None ): import ossie.utils.log4py.config - with stdout_redirect(cStringIO.StringIO()) as new_stdout: + with stdout_redirect(io.StringIO()) as new_stdout: ossie.utils.log4py.config.strConfig(logcfg,None) new_stdout.seek(0) diff --git a/redhawk/src/testing/tests/test_00_PythonFramework.py b/redhawk/src/testing/tests/test_00_PythonFramework.py index dd229a279..9a1c299b7 100644 --- a/redhawk/src/testing/tests/test_00_PythonFramework.py +++ b/redhawk/src/testing/tests/test_00_PythonFramework.py @@ -41,144 +41,144 @@ # for populating the PropertyStore PROPERTIES = ( ( - u'DCE:6b298d70-6735-43f2-944d-06f754cd4eb9', # ID - u'no_default_prop', # NAME - u'string', # TYPE - u'readwrite', # MODE + 'DCE:6b298d70-6735-43f2-944d-06f754cd4eb9', # ID + 'no_default_prop', # NAME + 'string', # TYPE + 'readwrite', # MODE None, # DEFAULT None, # UNITS 'external', # ACTION - (u'configure',), # KINDS + ('configure',), # KINDS ), ( - u'DCE:456310b2-7d2f-40f5-bfef-9fdf4f3560ea', # ID - u'default_prop', # NAME - u'string', # TYPE - u'readwrite', # MODE + 'DCE:456310b2-7d2f-40f5-bfef-9fdf4f3560ea', # ID + 'default_prop', # NAME + 'string', # TYPE + 'readwrite', # MODE 'default', # DEFAULT None, # UNITS 'external', # ACTION - (u'configure',), # KINDS + ('configure',), # KINDS ), ( - u'DCE:4a23ad60-0b25-4121-a630-68803a498f75', # ID - u'os_name', # NAME - u'string', # TYPE - u'readonly', # MODE + 'DCE:4a23ad60-0b25-4121-a630-68803a498f75', # ID + 'os_name', # NAME + 'string', # TYPE + 'readonly', # MODE 'Linux', # DEFAULT None, # UNITS - u'eq', # ACTION - (u'allocation',), # KINDS + 'eq', # ACTION + ('allocation',), # KINDS ), ( - u'DCE:fefb9c66-d14a-438d-ad59-2cfd1adb272b', # ID - u'processor_name', # NAME - u'string', # TYPE - u'readonly', # MODE + 'DCE:fefb9c66-d14a-438d-ad59-2cfd1adb272b', # ID + 'processor_name', # NAME + 'string', # TYPE + 'readonly', # MODE 'x86', # DEFAULT None, # UNITS - u'eq', # ACTION - (u'allocation',), # KINDS + 'eq', # ACTION + ('allocation',), # KINDS ), ( - u'DCE:7f36cdfb-f828-4e4f-b84f-446e17f1a85b', # ID - u'DeviceKind', # NAME - u'string', # TYPE - u'readonly', # MODE + 'DCE:7f36cdfb-f828-4e4f-b84f-446e17f1a85b', # ID + 'DeviceKind', # NAME + 'string', # TYPE + 'readonly', # MODE 'BasicTestDevice', # DEFAULT None, # UNITS - u'eq', # ACTION - (u'allocation',), # KINDS + 'eq', # ACTION + ('allocation',), # KINDS ), ( - u'DCE:64303822-4c67-4c04-9a5c-bf670f27cf39', # ID - u'RunsAs', # NAME - u'string', # TYPE - u'readonly', # MODE + 'DCE:64303822-4c67-4c04-9a5c-bf670f27cf39', # ID + 'RunsAs', # NAME + 'string', # TYPE + 'readonly', # MODE 'root', # DEFAULT None, # UNITS - u'ne', # ACTION - (u'allocation',), # KINDS + 'ne', # ACTION + ('allocation',), # KINDS ), ( - u'DCE:021f10cf-7a05-46ec-a507-04b513b84bd4', # ID - u'HasXMIDAS', # NAME - u'boolean', # TYPE - u'readonly', # MODE + 'DCE:021f10cf-7a05-46ec-a507-04b513b84bd4', # ID + 'HasXMIDAS', # NAME + 'boolean', # TYPE + 'readonly', # MODE True, # DEFAULT None, # UNITS - u'eq', # ACTION - (u'allocation',), # KINDS + 'eq', # ACTION + ('allocation',), # KINDS ), ( - u'DCE:ac73446e-f935-40b6-8b8d-4d9adb6b403f', # ID - u'ProvidedCpuCores', # NAME - u'short', # TYPE - u'readonly', # MODE + 'DCE:ac73446e-f935-40b6-8b8d-4d9adb6b403f', # ID + 'ProvidedCpuCores', # NAME + 'short', # TYPE + 'readonly', # MODE 8, # DEFAULT None, # UNITS - u'ge', # ACTION - (u'allocation',), # KINDS + 'ge', # ACTION + ('allocation',), # KINDS ), ( - u'DCE:dd339b67-b387-4018-94d2-9a72955d85b9', # ID - u'CoresClockRateGHz', # NAME - u'float', # TYPE - u'readonly', # MODE + 'DCE:dd339b67-b387-4018-94d2-9a72955d85b9', # ID + 'CoresClockRateGHz', # NAME + 'float', # TYPE + 'readonly', # MODE 3.0, # DEFAULT None, # UNITS - u'le', # ACTION - (u'allocation',), # KINDS + 'le', # ACTION + ('allocation',), # KINDS ), ( - u'DCE:8dcef419-b440-4bcf-b893-cab79b6024fb', # ID - u'memCapacity', # NAME - u'long', # TYPE - u'readonly', # MODE + 'DCE:8dcef419-b440-4bcf-b893-cab79b6024fb', # ID + 'memCapacity', # NAME + 'long', # TYPE + 'readonly', # MODE None, # DEFAULT None, # UNITS 'external', # ACTION - (u'allocation',), # KINDS + ('allocation',), # KINDS ), ( - u'DCE:5636c210-0346-4df7-a5a3-8fd34c5540a8', # ID - u'BogoMipsCapacity', # NAME - u'long', # TYPE - u'readonly', # MODE + 'DCE:5636c210-0346-4df7-a5a3-8fd34c5540a8', # ID + 'BogoMipsCapacity', # NAME + 'long', # TYPE + 'readonly', # MODE None, # DEFAULT None, # UNITS 'external', # ACTION - (u'allocation',), # KINDS + ('allocation',), # KINDS ), ( - u'DCE:c03e148f-e9f9-4d70-aa00-6e23d33fa648', # ID - u'SomeConfigFileLocation', # NAME - u'string', # TYPE - u'readonly', # MODE + 'DCE:c03e148f-e9f9-4d70-aa00-6e23d33fa648', # ID + 'SomeConfigFileLocation', # NAME + 'string', # TYPE + 'readonly', # MODE 'notyourfile', # DEFAULT None, # UNITS 'external', # ACTION - (u'execparam',), # KINDS + ('execparam',), # KINDS ), ( - u'DCE:dc4289a8-bb98-435b-b914-305ffaa7594f', # ID - u'ImplementationSpecificProperty', # NAME - u'string', # TYPE - u'readonly', # MODE + 'DCE:dc4289a8-bb98-435b-b914-305ffaa7594f', # ID + 'ImplementationSpecificProperty', # NAME + 'string', # TYPE + 'readonly', # MODE 'DefaultValueNoGood', # DEFAULT None, # UNITS 'external', # ACTION - (u'execparam',), # KINDS + ('execparam',), # KINDS ), ( - u'DCE:716ea1c4-059a-4b18-8b66-74804bd8d435', # ID - u'ImplementationSpecificProperty2', # NAME - u'long', # TYPE - u'readonly', # MODE + 'DCE:716ea1c4-059a-4b18-8b66-74804bd8d435', # ID + 'ImplementationSpecificProperty2', # NAME + 'long', # TYPE + 'readonly', # MODE 0, # DEFAULT None, # UNITS 'external', # ACTION - (u'execparam',), # KINDS + ('execparam',), # KINDS ), ) @@ -439,11 +439,11 @@ class TestPythonFramework(scatest.OssieTestCase): def test_TupleInitialization(self): tr = TestResource() tr.initialize() # Initialize *must* be called, normally this is done by the coreframework - self.assertEqual(tr._props.has_key("InvalidKey"), False) + self.assertEqual("InvalidKey" in tr._props, False) for p in PROPERTIES: - self.assert_(tr._props.isValidPropId(p[0])) - self.assert_(tr._props.has_key(p[0])) - self.assert_(tr._props.has_key(p[1])) + self.assertTrue(tr._props.isValidPropId(p[0])) + self.assertTrue(p[0] in tr._props) + self.assertTrue(p[1] in tr._props) self.assertEqual(tr._props[p[0]], tr._props[p[1]]) configurable = ("configure" in p[7]) @@ -497,7 +497,7 @@ def test_PropertyType(self): # Testing query props = tr.query([]) props = dict([(p.id, p.value._v) for p in props]) - self.assertEqual(props.has_key("EXEC_PARAM_3"), True) + self.assertEqual("EXEC_PARAM_3" in props, True) def test_NewStyle(self): # Test the new behaviors @@ -604,9 +604,9 @@ def test_NewStyle(self): props = tr.query([]) props = dict([(p.id, p.value._v) for p in props]) - self.assertEqual(props.has_key("EXEC_PARAM_3"), True) + self.assertEqual("EXEC_PARAM_3" in props, True) self.assertEqual(props["EXEC_PARAM_3"], 3.125) - self.assertEqual(props.has_key("EXEC_PARAM_4"), False) + self.assertEqual("EXEC_PARAM_4" in props, False) # Check that we cannot query a "writeonly" execparam self.assertRaises(CF.UnknownProperties, tr.query, [CF.DataType(id="EXEC_PARAM_4", value=any.to_any(None))]) @@ -637,7 +637,7 @@ def test_NewStyle(self): 'name':"someprop", 'defvalue':10} # Expects a ValueError Exception, fails if not raised - self.failUnlessRaises(ValueError, simple_property, **kwds) + self.assertRaises(ValueError, simple_property, **kwds) # Check that a valid type does not raise an exception valid type @@ -885,18 +885,18 @@ class StructPropStruct(object): structdef=StructPropStruct) def getter(id_): - for fld_id, fld_val in struct_prop.fields.iteritems(): + for fld_id, fld_val in struct_prop.fields.items(): if fld_id == id_: return fld_val[1] def setter(id_, prop): - for fld_id, fld_val in struct_prop.fields.iteritems(): + for fld_id, fld_val in struct_prop.fields.items(): if fld_id == id_: struct_prop.fields[prop.id_] = (prop.name, prop) del struct_prop.fields[fld_id] def validator(id_, value): - for fld_id, fld_val in struct_prop.fields.iteritems(): + for fld_id, fld_val in struct_prop.fields.items(): if fld_id == id_: fld_val[1].defvalue = value @@ -1041,7 +1041,7 @@ def onconfigure_prop_seq_prop(self, oldvalue, value): ###################################################### def query_prop_test_struct(self): result = [] - for name, attr in self.struct_prop.__dict__.items(): + for name, attr in list(self.struct_prop.__dict__.items()): if name.startswith('__') and name.endswith('__'): name = name[2:-2] result.append(CF.DataType(id=name, value=any.to_any(attr))) @@ -1201,16 +1201,16 @@ def test_PortHandling(self): tr.initialize() # Initialize *must* be called, normally this is done by the coreframework input = tr.getPort("input") - self.assert_(input != None) - self.assert_(input._is_a("IDL:CF/LifeCycle:1.0")) + self.assertTrue(input != None) + self.assertTrue(input._is_a("IDL:CF/LifeCycle:1.0")) input = tr.getPort("input2") - self.assert_(input != None) - self.assert_(input._is_a("IDL:CF/LifeCycle:1.0")) + self.assertTrue(input != None) + self.assertTrue(input._is_a("IDL:CF/LifeCycle:1.0")) output = tr.getPort("output") - self.assert_(output != None) - self.assert_(output._is_a("IDL:CF/Port:1.0")) + self.assertTrue(output != None) + self.assertTrue(output._is_a("IDL:CF/Port:1.0")) self.assertRaises(CF.PortSupplier.UnknownPort, tr.getPort, "nonexistant") @@ -1231,13 +1231,13 @@ def test_eventChannelManager(self): channel2 = chanMgr.createEventChannel("TestChan", force=False) self.assertNotEqual(channel2, None) self.assertNotEqual(channel2._narrow(CosEventChannelAdmin.EventChannel), None) - self.assert_(channel1._is_equivalent(channel2)) + self.assertTrue(channel1._is_equivalent(channel2)) # Get should return the right one channel3 = chanMgr.getEventChannel("TestChan") self.assertNotEqual(channel3, None) self.assertNotEqual(channel3._narrow(CosEventChannelAdmin.EventChannel), None) - self.assert_(channel1._is_equivalent(channel3)) + self.assertTrue(channel1._is_equivalent(channel3)) # This should create a new channel channel4 = chanMgr.createEventChannel("TestChan", force=True) diff --git a/redhawk/src/testing/tests/test_00_PythonUtils.py b/redhawk/src/testing/tests/test_00_PythonUtils.py index fcc8a88fe..f7c697f98 100644 --- a/redhawk/src/testing/tests/test_00_PythonUtils.py +++ b/redhawk/src/testing/tests/test_00_PythonUtils.py @@ -141,8 +141,8 @@ def test_WeakObject(self): objref = weakobj.objectref(obj) objref2 = weakobj.objectref(obj) - self.assertEquals(objref, objref2) - self.assertEquals(objref.foo(), obj.foo()) + self.assertEqual(objref, objref2) + self.assertEqual(objref.foo(), obj.foo()) # Delete what should be the only reference to the original object. del obj diff --git a/redhawk/src/testing/tests/test_01_DeviceManager.py b/redhawk/src/testing/tests/test_01_DeviceManager.py index 76349acb9..e5768743e 100644 --- a/redhawk/src/testing/tests/test_01_DeviceManager.py +++ b/redhawk/src/testing/tests/test_01_DeviceManager.py @@ -23,14 +23,14 @@ from omniORB import URI, any, CORBA from ossie.cf import CF from ossie import properties -import commands +import subprocess import CosNaming import tempfile -import commands +import subprocess import shutil def getChildren(parentPid): - process_listing = commands.getoutput('ls /proc').split('\n') + process_listing = subprocess.getoutput('ls /proc').split('\n') children = [] for entry in process_listing: try: @@ -71,27 +71,27 @@ def setUp(self): def tearDown(self): scatest.CorbaTestCase.tearDown(self) killChildProcesses(os.getpid()) - (status,output) = commands.getstatusoutput('chmod 755 '+os.getcwd()+'/sdr/cache/.BasicTestDevice_node') - (status,output) = commands.getstatusoutput('rm -rf devmgr_runtest.props') + (status,output) = subprocess.getstatusoutput('chmod 755 '+os.getcwd()+'/sdr/cache/.BasicTestDevice_node') + (status,output) = subprocess.getstatusoutput('rm -rf devmgr_runtest.props') def test_NoWriteCache(self): cachedir = os.getcwd()+'/sdr/cache/.BasicTestDevice_node' - (status,output) = commands.getstatusoutput('mkdir -p '+cachedir) - (status,output) = commands.getstatusoutput('chmod 000 '+cachedir) + (status,output) = subprocess.getstatusoutput('mkdir -p '+cachedir) + (status,output) = subprocess.getstatusoutput('chmod 000 '+cachedir) self.assertFalse(os.access(cachedir, os.R_OK|os.W_OK|os.X_OK), 'Current user can still access directory') devmgr_nb = None while not devmgr_nb: try: devmgr_nb, devMgr = self.launchDeviceManager("/nodes/test_BasicTestDevice_node/DeviceManager.dcd.xml") - except Exception, e: - print e + except Exception as e: + print(e) if not devmgr_nb: time.sleep(2) # pause before trying again begin_time = time.time() while time.time()-begin_time < 5 and devmgr_nb.returncode == None: devmgr_nb.poll() time.sleep(0.1) - self.assertEquals(255, devmgr_nb.returncode) + self.assertEqual(255, devmgr_nb.returncode) class DeviceManagerTest(scatest.CorbaTestCase): def setUp(self): @@ -127,7 +127,7 @@ def test_CleanShutDown(self): # as per DeviceManager requirement SR:482 devMgr.shutdown() - self.assert_(self.waitTermination(devmgr_nb), "Nodebooter did not die after shutdown") + self.assertTrue(self.waitTermination(devmgr_nb), "Nodebooter did not die after shutdown") self.assertEqual(len(self._domMgr._get_deviceManagers()), 0) @@ -149,7 +149,7 @@ def test_BadReleaseShutDown(self): self.assertEqual(True, True) - self.assert_(self.waitTermination(devmgr_nb), "Nodebooter did not die after shutdown") + self.assertTrue(self.waitTermination(devmgr_nb), "Nodebooter did not die after shutdown") self.assertEqual(len(self._domMgr._get_deviceManagers()), 0) @@ -170,7 +170,7 @@ def test_deadDeviceShutdownNode(self): # as per DeviceManager requirement SR:482 devMgr.shutdown() - self.assert_(self.waitTermination(devmgr_nb), "Nodebooter did not die after shutdown") + self.assertTrue(self.waitTermination(devmgr_nb), "Nodebooter did not die after shutdown") self.assertEqual(len(self._domMgr._get_deviceManagers()), 0) def test_deadDeviceManager(self): @@ -220,7 +220,7 @@ def test_CatatrophicUnregister(self): # as per DeviceManager requirement SR:482 devMgr.shutdown() - self.assert_(self.waitTermination(devmgr_nb), "Nodebooter did not die after shutdown") + self.assertTrue(self.waitTermination(devmgr_nb), "Nodebooter did not die after shutdown") def test_IgnoreDevMgrDuplicate(self): # These two nodes use the same identifier, but have different names to distinguish them @@ -269,7 +269,7 @@ def test_DeviceBadOverload(self): else: devMgr = None break - self.assertEquals(devMgr, None) + self.assertEqual(devMgr, None) def test_DeviceInitializeFail(self): # These two nodes use the same identifier, but have different names to distinguish them @@ -383,7 +383,7 @@ def test_cmdline_props(self): nodebooter, devMgr = self.launchDeviceManager("/nodes/cmdline_node/DeviceManager.dcd.xml") self.assertNotEqual(devMgr, None) - status,output = commands.getstatusoutput('ps -ww -f | grep cmdline_dev') + status,output = subprocess.getstatusoutput('ps -ww -f | grep cmdline_dev') lines = output.split('\n') for line in lines: if 'IOR' in line: @@ -401,7 +401,7 @@ def test_nocmdline_props(self): nodebooter, devMgr = self.launchDeviceManager("/nodes/nocmdline_node/DeviceManager.dcd.xml") self.assertNotEqual(devMgr, None) - status,output = commands.getstatusoutput('ps -ww -f | grep cmdline_dev') + status,output = subprocess.getstatusoutput('ps -ww -f | grep cmdline_dev') lines = output.split('\n') for line in lines: if 'IOR' in line: @@ -444,7 +444,7 @@ def test_ConfigureNotCalledProperty(self): device = devMgr._get_registeredDevices()[0] # this device implementation will put a non-nil value on the property (even if a nil has been passed in a configure call) configure_called = device.query([CF.DataType(id='configure_called',value=any.to_any(None))]) - self.assertEquals(configure_called[0].value._v, False) + self.assertEqual(configure_called[0].value._v, False) def test_ComponentPlacementNoPropOverride(self): devmgr_nb, devMgr = self.launchDeviceManager("/nodes/test_DCDSimpleSeq_node/DeviceManager.dcd.xml") @@ -866,11 +866,11 @@ def test_ReleaseDevice(self): self._domMgr.installApplication(sadpath) appFact = self._domMgr._get_applicationFactories()[0] self._app = appFact.create(appFact._get_name(), [], []) - except Exception, e: + except Exception as e: pass try: self._app.start() - except Exception, e: + except Exception as e: pass @@ -922,7 +922,7 @@ def _test_BasicService(self, node, expected_name): svcName = URI.stringToName(scatest.getTestDomainName() + "/" + expected_name) svcobj = self._root.resolve(svcName)._narrow(CF.PropertySet) self.assertNotEqual(svcobj, None) - self.assert_(obj._is_equivalent(svcobj)) + self.assertTrue(obj._is_equivalent(svcobj)) # Check that all the parameters got set correctly props = obj.query([]) @@ -934,7 +934,7 @@ def _test_BasicService(self, node, expected_name): self.assertAlmostEqual(d["PARAM3"], 3.1459) self.assertEqual(d["PARAM4"], False) self.assertEqual(d["PARAM5"], "Hello World") - self.assertEqual(d.has_key("PARAM6"), False) + self.assertEqual("PARAM6" in d, False) # Check that we unregister correctly os.kill(devmgr_nb.pid, signal.SIGTERM) @@ -976,7 +976,7 @@ def test_blockStartupResponseDevice(self): # now clean up the test.... devMgr.shutdown() - self.assert_(self.waitTermination(devmgr_nb), "Nodebooter did not die after shutdown") + self.assertTrue(self.waitTermination(devmgr_nb), "Nodebooter did not die after shutdown") def test_longStartup1ResponseDevice(self): from ossie.utils import redhawk @@ -988,7 +988,7 @@ def test_longStartup1ResponseDevice(self): # now clean up the test.... devMgr.shutdown() - self.assert_(self.waitTermination(devmgr_nb), "Nodebooter did not die after shutdown") + self.assertTrue(self.waitTermination(devmgr_nb), "Nodebooter did not die after shutdown") def test_longStartup2ResponseDevice(self): from ossie.utils import redhawk @@ -1000,7 +1000,7 @@ def test_longStartup2ResponseDevice(self): # now clean up the test.... devMgr.shutdown() - self.assert_(self.waitTermination(devmgr_nb), "Nodebooter did not die after shutdown") + self.assertTrue(self.waitTermination(devmgr_nb), "Nodebooter did not die after shutdown") def test_blockResponseDevice(self): @@ -1016,7 +1016,7 @@ def test_blockResponseDevice(self): ld.delay=0 # now clean up the test.... devMgr.shutdown() - self.assert_(self.waitTermination(devmgr_nb), "Nodebooter did not die after shutdown") + self.assertTrue(self.waitTermination(devmgr_nb), "Nodebooter did not die after shutdown") def test_normalResponseDevice(self): from ossie.utils import redhawk @@ -1028,7 +1028,7 @@ def test_normalResponseDevice(self): # now clean up the test.... devMgr.shutdown() - self.assert_(self.waitTermination(devmgr_nb), "Nodebooter did not die after shutdown") + self.assertTrue(self.waitTermination(devmgr_nb), "Nodebooter did not die after shutdown") def test_processGroupDevSvc(self): from ossie.utils import redhawk @@ -1137,7 +1137,7 @@ def test_ExternalServices(self): svcName = URI.stringToName(scatest.getTestDomainName() + "/" + svc.serviceName) svcobj = self._root.resolve(svcName)._narrow(CF.PropertySet) self.assertNotEqual(svcobj, None) - self.assert_(obj._is_equivalent(svcobj)) + self.assertTrue(obj._is_equivalent(svcobj)) # Check that all the parameters got set correctly props = obj.query([]) @@ -1149,14 +1149,14 @@ def test_ExternalServices(self): self.assertEqual(d["PARAM3"], 3.1459) self.assertEqual(d["PARAM4"], False) self.assertEqual(d["PARAM5"], "Hello World") - self.assertEqual(d.has_key("PARAM6"), False) + self.assertEqual("PARAM6" in d, False) # Make sure a component can communicate with the Service self._domMgr.installApplication("/waveforms/ServiceConnection/ServiceConnection.sad.xml") - self.assertEquals(len(self._domMgr._get_applicationFactories()), 1) + self.assertEqual(len(self._domMgr._get_applicationFactories()), 1) factory = self._domMgr._get_applicationFactories()[0] app = factory.create(factory._get_name(), [], []) - self.assertEquals(len(self._domMgr._get_applications()), 1) + self.assertEqual(len(self._domMgr._get_applications()), 1) # Make sure an app that uses external services can launch app.start() @@ -1178,7 +1178,7 @@ def test_ExternalServices(self): svcNames.append(URI.stringToName(scatest.getTestDomainName() + "/" + n)) # Needs to allow time for unregistering - self.assert_(self.waitTermination(devmgr_nb), "Nodebooter did not die after shutdown") + self.assertTrue(self.waitTermination(devmgr_nb), "Nodebooter did not die after shutdown") # Don't use assertRaises, so we can simplify things for name in svcNames: @@ -1190,7 +1190,7 @@ def test_ExternalServices(self): self.fail("Expected service to not exist in the naming service") # Makes sure all children are cleaned - self.assertEquals(len(getChildren(devmgr_nb.pid)), 0) + self.assertEqual(len(getChildren(devmgr_nb.pid)), 0) def test_RogueService(self): devmgr_nb, devMgr = self.launchDeviceManager("/nodes/test_BasicTestDevice_node/DeviceManager.dcd.xml") @@ -1225,8 +1225,8 @@ def test_RogueService(self): time.sleep(1) # check rogue service is removed - self.assertEquals(len(devMgr._get_registeredServices()), 0) - self.assertEquals(len(rhdom.services), 0) + self.assertEqual(len(devMgr._get_registeredServices()), 0) + self.assertEqual(len(rhdom.services), 0) def test_ServiceShutdown_DomMgr(self): @@ -1246,7 +1246,7 @@ def test_ServiceShutdown_DomMgr(self): self.assertEqual(len(devMgr._get_registeredServices()), num_services) # Makes sure that the correct number of processes forked - self.assertEquals(len(getChildren(devmgr_nb.pid)), num_services + num_devices) + self.assertEqual(len(getChildren(devmgr_nb.pid)), num_services + num_devices) svcName = URI.stringToName(scatest.getTestDomainName() + "/BasicService1") self._root.resolve(svcName)._narrow(CF.PropertySet) @@ -1265,7 +1265,7 @@ def test_ServiceShutdown_DomMgr(self): svcName = URI.stringToName(scatest.getTestDomainName() + "/" + svc.serviceName) svcobj = self._root.resolve(svcName)._narrow(CF.PropertySet) self.assertNotEqual(svcobj, None) - self.assert_(obj._is_equivalent(svcobj)) + self.assertTrue(obj._is_equivalent(svcobj)) # Check that all the parameters got set correctly props = obj.query([]) @@ -1277,7 +1277,7 @@ def test_ServiceShutdown_DomMgr(self): self.assertEqual(d["PARAM3"], 3.1459) self.assertEqual(d["PARAM4"], False) self.assertEqual(d["PARAM5"], "Hello World") - self.assertEqual(d.has_key("PARAM6"), False) + self.assertEqual("PARAM6" in d, False) # Check that we unregister correctly os.kill(self._domBooter.pid, signal.SIGINT) @@ -1288,7 +1288,7 @@ def test_ServiceShutdown_DomMgr(self): svcNames.append(URI.stringToName(scatest.getTestDomainName() + "/" + n)) # Needs to allow time for unregistering - self.assert_(self.waitTermination(self._domBooter), "Nodebooter did not die after shutdown") + self.assertTrue(self.waitTermination(self._domBooter), "Nodebooter did not die after shutdown") # Don't use assertRaises, so we can simplify things for name in svcNames: @@ -1302,8 +1302,8 @@ def test_ServiceShutdown_DomMgr(self): # Makes sure that all children are dead; on slower systems, the service # processes may take a while to exit, so wait for the DeviceManager to # exit first - self.assert_(self.waitTermination(devmgr_nb), "DeviceManager did not exit after shutdown") - self.assertEquals(len(getChildren(devmgr_nb.pid)), 0) + self.assertTrue(self.waitTermination(devmgr_nb), "DeviceManager did not exit after shutdown") + self.assertEqual(len(getChildren(devmgr_nb.pid)), 0) def test_ServiceShutdown_DevMgr(self): num_services = 5 @@ -1317,7 +1317,7 @@ def test_ServiceShutdown_DevMgr(self): self.assertEqual(len(devMgr._get_registeredServices()), num_services) # Makes sure that the correct number of processes forked - self.assertEquals(len(getChildren(devmgr_nb.pid)), num_services + num_devices) + self.assertEqual(len(getChildren(devmgr_nb.pid)), num_services + num_devices) svcName = URI.stringToName(scatest.getTestDomainName() + "/BasicService1") self._root.resolve(svcName)._narrow(CF.PropertySet) @@ -1336,7 +1336,7 @@ def test_ServiceShutdown_DevMgr(self): svcName = URI.stringToName(scatest.getTestDomainName() + "/" + svc.serviceName) svcobj = self._root.resolve(svcName)._narrow(CF.PropertySet) self.assertNotEqual(svcobj, None) - self.assert_(obj._is_equivalent(svcobj)) + self.assertTrue(obj._is_equivalent(svcobj)) # Check that all the parameters got set correctly props = obj.query([]) @@ -1348,7 +1348,7 @@ def test_ServiceShutdown_DevMgr(self): self.assertEqual(d["PARAM3"], 3.1459) self.assertEqual(d["PARAM4"], False) self.assertEqual(d["PARAM5"], "Hello World") - self.assertEqual(d.has_key("PARAM6"), False) + self.assertEqual("PARAM6" in d, False) # Check that we unregister correctly os.kill(devmgr_nb.pid, signal.SIGINT) @@ -1359,7 +1359,7 @@ def test_ServiceShutdown_DevMgr(self): svcNames.append(URI.stringToName(scatest.getTestDomainName() + "/" + n)) # Needs to allow time for unregistering - self.assert_(self.waitTermination(devmgr_nb), "Nodebooter did not die after shutdown") + self.assertTrue(self.waitTermination(devmgr_nb), "Nodebooter did not die after shutdown") # Don't use assertRaises, so we can simplify things for name in svcNames: @@ -1371,7 +1371,7 @@ def test_ServiceShutdown_DevMgr(self): self.fail("Expected service to not exist in the naming service: " + str(name)) # Makes sure that all children are dead - self.assertEquals(len(getChildren(devmgr_nb.pid)), 0) + self.assertEqual(len(getChildren(devmgr_nb.pid)), 0) def test_ServicePort_DevMgrShutdown(self): num_services = 4 @@ -1385,16 +1385,16 @@ def test_ServicePort_DevMgrShutdown(self): self.assertEqual(len(devMgr._get_registeredServices()), num_services) # Makes sure that the correct number of processes forked - self.assertEquals(len(getChildren(devmgr_nb.pid)), num_devices) + self.assertEqual(len(getChildren(devmgr_nb.pid)), num_devices) # Check that we unregister correctly os.kill(devmgr_nb.pid, signal.SIGTERM) # Needs to allow time for unregistering - self.assert_(self.waitTermination(devmgr_nb), "Nodebooter did not die after shutdown") + self.assertTrue(self.waitTermination(devmgr_nb), "Nodebooter did not die after shutdown") # Makes sure that all children are dead - self.assertEquals(len(getChildren(devmgr_nb.pid)), 0) + self.assertEqual(len(getChildren(devmgr_nb.pid)), 0) def _test_Valgrind(self, valgrind): # Clear the device cache to prevent false positives @@ -1850,7 +1850,7 @@ def test_BadCompositeDevice(self): devmgr_nb, devMgr = self.launchDeviceManager("/nodes/BadPersonaNode/DeviceManager.dcd.xml") self.assertNotEqual(devMgr, None) num_devices = 1 - self.assertEquals(len(getChildren(devmgr_nb.pid)), num_devices) + self.assertEqual(len(getChildren(devmgr_nb.pid)), num_devices) class DeviceManagerDepsTest(scatest.CorbaTestCase): def setUp(self): @@ -1871,7 +1871,7 @@ def test_DevCppDeps(self): devMgr.shutdown() - self.assert_(self.waitTermination(devmgr_nb), "Nodebooter did not die after shutdown") + self.assertTrue(self.waitTermination(devmgr_nb), "Nodebooter did not die after shutdown") self.assertEqual(len(self._domMgr._get_deviceManagers()), 0) @@ -1884,7 +1884,7 @@ def test_DevPyDeps(self): devMgr.shutdown() - self.assert_(self.waitTermination(devmgr_nb), "Nodebooter did not die after shutdown") + self.assertTrue(self.waitTermination(devmgr_nb), "Nodebooter did not die after shutdown") self.assertEqual(len(self._domMgr._get_deviceManagers()), 0) @@ -1898,7 +1898,7 @@ def test_DevCppPyDeps(self): devMgr.shutdown() - self.assert_(self.waitTermination(devmgr_nb), "Nodebooter did not die after shutdown") + self.assertTrue(self.waitTermination(devmgr_nb), "Nodebooter did not die after shutdown") self.assertEqual(len(self._domMgr._get_deviceManagers()), 0) @@ -1915,8 +1915,8 @@ def test_DevCppPyDeps2(self): devMgr_1.shutdown() devMgr_2.shutdown() - self.assert_(self.waitTermination(devmgr_nb_1), "Nodebooter did not die after shutdown") - self.assert_(self.waitTermination(devmgr_nb_2), "Nodebooter did not die after shutdown") + self.assertTrue(self.waitTermination(devmgr_nb_1), "Nodebooter did not die after shutdown") + self.assertTrue(self.waitTermination(devmgr_nb_2), "Nodebooter did not die after shutdown") self.assertEqual(len(self._domMgr._get_deviceManagers()), 0) @@ -1931,7 +1931,7 @@ def test_DevJavaDeps(self): devMgr.shutdown() - self.assert_(self.waitTermination(devmgr_nb), "Nodebooter did not die after shutdown") + self.assertTrue(self.waitTermination(devmgr_nb), "Nodebooter did not die after shutdown") self.assertEqual(len(self._domMgr._get_deviceManagers()), 0) @@ -1945,7 +1945,7 @@ def test_DevCppPyJavaDeps(self): devMgr.shutdown() - self.assert_(self.waitTermination(devmgr_nb), "Nodebooter did not die after shutdown") + self.assertTrue(self.waitTermination(devmgr_nb), "Nodebooter did not die after shutdown") self.assertEqual(len(self._domMgr._get_deviceManagers()), 0) diff --git a/redhawk/src/testing/tests/test_01_DomainManager.py b/redhawk/src/testing/tests/test_01_DomainManager.py index 39aaacfaf..dca2234cf 100644 --- a/redhawk/src/testing/tests/test_01_DomainManager.py +++ b/redhawk/src/testing/tests/test_01_DomainManager.py @@ -18,7 +18,7 @@ # along with this program. If not, see http://www.gnu.org/licenses/. # -import unittest, os, signal, commands, shutil +import unittest, os, signal, subprocess, shutil from _unitTestHelpers import scatest from xml.dom import minidom from ossie.cf import CF @@ -35,7 +35,7 @@ def getChildren(parentPid): - process_listing = commands.getoutput('ls /proc').split('\n') + process_listing = subprocess.getoutput('ls /proc').split('\n') children = [] for entry in process_listing: try: @@ -124,7 +124,7 @@ def test_DeviceFailure(self): # as per DeviceManager requirement SR:482 devMgr.shutdown() - self.assert_(self.waitTermination(devmgr_nb), "Nodebooter did not die after shutdown") + self.assertTrue(self.waitTermination(devmgr_nb), "Nodebooter did not die after shutdown") self.assertEqual(len(self._domMgr._get_deviceManagers()), 0) self.assertNotEqual(self._domMgr, None) self.assertEqual(len(self._domMgr._get_applicationFactories()), 0) @@ -134,7 +134,7 @@ def test_DeviceFailure(self): def test_DomainManagerPropertyOverride(self): # in order to test the nodeBooter execparam first we need to set the execparams self.tearDown() - print "Waiting to give tearDown some time" + print("Waiting to give tearDown some time") time.sleep(2) # the id used to set the COMPONENT_BINDING_TIMEOUT diff --git a/redhawk/src/testing/tests/test_02_logging_config.py b/redhawk/src/testing/tests/test_02_logging_config.py index 3b645b4a5..b79e5ad6f 100644 --- a/redhawk/src/testing/tests/test_02_logging_config.py +++ b/redhawk/src/testing/tests/test_02_logging_config.py @@ -61,8 +61,8 @@ def test_NoFileURI(self): domLoggingConfigUri, devLoggingConfigUri = self._testLoggingConfigURI(domLoggingConfigArg, devLoggingConfigArg) - self.assert_(domLoggingConfigUri in (None, "")) - self.assert_(devLoggingConfigUri in (None, "")) + self.assertTrue(domLoggingConfigUri in (None, "")) + self.assertTrue(devLoggingConfigUri in (None, "")) def test_RelativeFileURI(self): domLoggingConfigArg = "dom/mgr/logging.properties" @@ -135,11 +135,11 @@ def test_ApplicationFactoryURIPassDown(self): value = a[1] execparams[name] = value - self.assert_(execparams.has_key("LOGGING_CONFIG_URI")) + self.assertTrue("LOGGING_CONFIG_URI" in execparams) self.assertEqual(execparams["LOGGING_CONFIG_URI"].split("?fs=")[0], "sca:///mgr/logging.properties") execparamObj = self._orb.string_to_object(execparams["LOGGING_CONFIG_URI"].split("?fs=")[1]) # Need to compare actual objects since the IOR strings could potentially differ for the same object - self.assert_(domMgr._get_fileMgr()._is_equivalent(execparamObj)) + self.assertTrue(domMgr._get_fileMgr()._is_equivalent(execparamObj)) # Launch an application with a C++ component to exercise Resource_impl logging configure domMgr.installApplication("/waveforms/TestCppProps/TestCppProps.sad.xml") @@ -192,11 +192,11 @@ def test_ApplicationFactoryCreateURIOverride(self): value = a[1] execparams[name] = value - self.assert_(execparams.has_key("LOGGING_CONFIG_URI")) + self.assertTrue("LOGGING_CONFIG_URI" in execparams) self.assertEqual(execparams["LOGGING_CONFIG_URI"].split("?fs=")[0], "sca:///mgr/logging.properties") execparamObj = self._orb.string_to_object(execparams["LOGGING_CONFIG_URI"].split("?fs=")[1]) # Need to compare actual objects since the IOR strings could potentially differ for the same object - self.assert_(domMgr._get_fileMgr()._is_equivalent(execparamObj)) + self.assertTrue(domMgr._get_fileMgr()._is_equivalent(execparamObj)) # Launch an application with a C++ component to exercise Resource_impl logging configure domMgr.installApplication("/waveforms/TestCppProps/TestCppProps.sad.xml") @@ -301,11 +301,11 @@ def test_DeviceManagerURIPassDown(self): value = args.pop(0) execparams[name] = value - self.assert_(execparams.has_key("LOGGING_CONFIG_URI")) + self.assertTrue("LOGGING_CONFIG_URI" in execparams) self.assertEqual(execparams["LOGGING_CONFIG_URI"].split("?fs=")[0], "sca:///mgr/logging.properties") execparamObj = self._orb.string_to_object(execparams["LOGGING_CONFIG_URI"].split("?fs=")[1]) # Need to compare actual objects since the IOR strings could potentially differ for the same object - self.assert_(devMgr._get_fileSys()._is_equivalent(execparamObj)) + self.assertTrue(devMgr._get_fileSys()._is_equivalent(execparamObj)) def test_DeviceManagerURIOverride(self): # Test that the device manager DCD can override the log4cxx URI @@ -336,12 +336,12 @@ def test_DeviceManagerURIOverride(self): value = args.pop(0) execparams[name] = value - self.assert_(execparams.has_key("LOGGING_CONFIG_URI")) + self.assertTrue("LOGGING_CONFIG_URI" in execparams) devMgrFileSysIOR = self._orb.object_to_string(devMgr._get_fileSys()) self.assertEqual(execparams["LOGGING_CONFIG_URI"].split("?fs=")[0], "sca:///mgr/logging.properties") execparamObj = self._orb.string_to_object(execparams["LOGGING_CONFIG_URI"].split("?fs=")[1]) # Need to compare actual objects since the IOR strings could potentially differ for the same object - self.assert_(devMgr._get_fileSys()._is_equivalent(execparamObj)) + self.assertTrue(devMgr._get_fileSys()._is_equivalent(execparamObj)) @scatest.requireLog4cxx @@ -352,7 +352,7 @@ def setUp(self): domBooter, self._domMgr = self.launchDomainManager(loggingURI="dom/mgr/logging.properties") devBooter, self._devMgr = self.launchDeviceManager("/nodes/loggingconfig/DeviceManager.dcd.xml", loggingURI="dev/mgr/logging.properties") self._rhDom = redhawk.attach(scatest.getTestDomainName()) - self.assertEquals(len(self._rhDom._get_applications()), 0) + self.assertEqual(len(self._rhDom._get_applications()), 0) def tearDown(self): @@ -367,7 +367,7 @@ def getProcessLogArgs(self, pname ): self.logcfg_uri=None self.debug_level=None try: - for i in xrange(len(args)): + for i in range(len(args)): if 'LOGGING_CONFIG_URI' == args[i]: self.logcfg_uri= args[i+1] if 'DEBUG_LEVEL' == args[i]: @@ -394,7 +394,7 @@ def test_DCD_LoggingConfig(self): self.assertEqual(self.logcfg_uri.split("?fs=")[0], "sca:///logcfg/log.basic.props") execparamObj = self._orb.string_to_object(self.logcfg_uri.split("?fs=")[1]) # Need to compare actual objects since the IOR strings could potentially differ for the same object - self.assert_(self._devMgr._get_fileSys()._is_equivalent(execparamObj)) + self.assertTrue(self._devMgr._get_fileSys()._is_equivalent(execparamObj)) self.assertEqual(self.debug_level,"2") @@ -444,7 +444,7 @@ def test_Sad_CompProps_LogCfg(self): self.assertEqual(self.logcfg_uri.split("?fs=")[0], expect_logcfg) execparamObj = self._orb.string_to_object(self.logcfg_uri.split("?fs=")[1]) # Need to compare actual objects since the IOR strings could potentially differ for the same object - self.assert_(self._domMgr._get_fileMgr()._is_equivalent(execparamObj)) + self.assertTrue(self._domMgr._get_fileMgr()._is_equivalent(execparamObj)) def test_Sad_CompProps_LogCfg_Debug(self): @@ -470,7 +470,7 @@ def test_Sad_CompProps_LogCfg_Debug(self): self.assertEqual(self.logcfg_uri.split("?fs=")[0], expect_logcfg) execparamObj = self._orb.string_to_object(self.logcfg_uri.split("?fs=")[1]) # Need to compare actual objects since the IOR strings could potentially differ for the same object - self.assert_(self._domMgr._get_fileMgr()._is_equivalent(execparamObj)) + self.assertTrue(self._domMgr._get_fileMgr()._is_equivalent(execparamObj)) self.assertEqual(self.debug_level,"5") app.releaseObject() @@ -486,7 +486,7 @@ def test_Sad_CompProps_LogCfg_Debug(self): self.assertEqual(self.logcfg_uri.split("?fs=")[0], expect_logcfg) execparamObj = self._orb.string_to_object(self.logcfg_uri.split("?fs=")[1]) # Need to compare actual objects since the IOR strings could potentially differ for the same object - self.assert_(self._domMgr._get_fileMgr()._is_equivalent(execparamObj)) + self.assertTrue(self._domMgr._get_fileMgr()._is_equivalent(execparamObj)) self.assertEqual(self.debug_level,"5") def test_Sad_LoggingConfig(self): @@ -513,7 +513,7 @@ def test_Sad_LoggingConfig(self): self.assertEqual(self.logcfg_uri.split("?fs=")[0], expect_logcfg) execparamObj = self._orb.string_to_object(self.logcfg_uri.split("?fs=")[1]) # Need to compare actual objects since the IOR strings could potentially differ for the same object - self.assert_(self._domMgr._get_fileMgr()._is_equivalent(execparamObj)) + self.assertTrue(self._domMgr._get_fileMgr()._is_equivalent(execparamObj)) def test_Sad_LoggingConfig_Debug(self): @@ -540,6 +540,6 @@ def test_Sad_LoggingConfig_Debug(self): self.assertEqual(self.logcfg_uri.split("?fs=")[0], expect_logcfg) execparamObj = self._orb.string_to_object(self.logcfg_uri.split("?fs=")[1]) # Need to compare actual objects since the IOR strings could potentially differ for the same object - self.assert_(self._domMgr._get_fileMgr()._is_equivalent(execparamObj)) + self.assertTrue(self._domMgr._get_fileMgr()._is_equivalent(execparamObj)) self.assertEqual(self.debug_level,"0") diff --git a/redhawk/src/testing/tests/test_03_DeviceLifeCycle.py b/redhawk/src/testing/tests/test_03_DeviceLifeCycle.py index ab6c11b13..22dd07d4c 100644 --- a/redhawk/src/testing/tests/test_03_DeviceLifeCycle.py +++ b/redhawk/src/testing/tests/test_03_DeviceLifeCycle.py @@ -20,14 +20,14 @@ import unittest, os from _unitTestHelpers import scatest -from test_01_DeviceManager import killChildProcesses +from .test_01_DeviceManager import killChildProcesses from ossie.utils import redhawk, sb from ossie.cf import CF from ossie.events import Subscriber from ossie import properties from omniORB import any as _any import time -import Queue +import queue class CppDeviceBusyState(scatest.CorbaTestCase): def setUp(self): @@ -101,7 +101,7 @@ def test_DeviceLifeCycle(self): stuff=fp.read() fp.close() if 'GPP' in stuff: - print "Killing process "+process_number+" (presumably a GPP)" + print("Killing process "+process_number+" (presumably a GPP)") os.kill(int(process_number),9) def test_DeviceLifeCycleNoKill(self): @@ -116,8 +116,8 @@ def setUp(self): # subscriber eventMgr = domMgr._get_eventChannelMgr() channel = eventMgr.createForRegistrations('test_events') - self._started = Queue.Queue() - self._stopped = Queue.Queue() + self._started = queue.Queue() + self._stopped = queue.Queue() self._subscriber = Subscriber(channel, dataArrivedCB=self._messageReceived) def tearDown(self): @@ -142,19 +142,19 @@ def _verifyStartOrder(self, startorder): for identifier in startorder: try: received = self._started.get(timeout=1.0) - except Queue.Empty: + except queue.Empty: self.fail('Did not receive start message for ' + identifier) self.assertEqual(received, identifier) - self.failUnless(self._started.empty(), msg='Too many start messages received') + self.assertTrue(self._started.empty(), msg='Too many start messages received') def _verifyStopOrder(self, startorder): for identifier in startorder[::-1]: try: received = self._stopped.get(timeout=1.0) - except Queue.Empty: + except queue.Empty: self.fail('Did not receive stop message for ' + identifier) self.assertEqual(received, identifier) - self.failUnless(self._stopped.empty(), msg='Too many stop messages received') + self.assertTrue(self._stopped.empty(), msg='Too many stop messages received') def test_StartOrder(self): """ @@ -257,7 +257,7 @@ def test_deviceKillDeviceManager(self): # manager's log output devmgr_nb, devMgr = self.launchDeviceManager("/nodes/dev_kill_devmgr_node/DeviceManager.dcd.xml", loggingURI=os.getcwd()+'/tmp_logfile.config', wait=False) time.sleep(2) - self.assertEquals(devMgr, None) + self.assertEqual(devMgr, None) fp = open('tmp_logfile.log', 'r') logcontents = fp.read() fp.close() diff --git a/redhawk/src/testing/tests/test_04_ApplicationFactory.py b/redhawk/src/testing/tests/test_04_ApplicationFactory.py index 484b87f08..443609186 100644 --- a/redhawk/src/testing/tests/test_04_ApplicationFactory.py +++ b/redhawk/src/testing/tests/test_04_ApplicationFactory.py @@ -25,13 +25,13 @@ from omniORB import CORBA, URI, any import omniORB from ossie.cf import CF, CF__POA, ExtendedCF -import commands +import subprocess from ossie.utils import redhawk from ossie import properties import threading def getChildren(parentPid): - process_listing = commands.getoutput('ls /proc').split('\n') + process_listing = subprocess.getoutput('ls /proc').split('\n') children = [] for entry in process_listing: try: @@ -52,7 +52,7 @@ def getChildren(parentPid): def getProcessName(pid): str_pid = str(pid) - process_listing = commands.getoutput('ls /proc').split('\n') + process_listing = subprocess.getoutput('ls /proc').split('\n') Name = '' for entry in process_listing: if entry == str_pid: @@ -73,7 +73,7 @@ def getProcessName(pid): return Name def pidExists(pid): - process_listing = commands.getoutput('ls /proc').split('\n') + process_listing = subprocess.getoutput('ls /proc').split('\n') return str(pid) in process_listing # This test suite requires log4cxx support because it checks the domain's log @@ -122,7 +122,7 @@ def test_description_runTest_props(self): fp = open('sdr/tmp_logfile.log','r') contents = fp.read() fp.close() - self.assertNotEquals(contents.find('Run test failed with CF::UnknownProperties for Test ID 0 for properties: hello, hey.'),-1) + self.assertNotEqual(contents.find('Run test failed with CF::UnknownProperties for Test ID 0 for properties: hello, hey.'),-1) class ApplicationFactoryTest(scatest.CorbaTestCase): @@ -246,14 +246,14 @@ def test_BasicOperation(self): name = a[0] value = a[1] execparams[name] = value - self.assert_(execparams.has_key("NAMING_CONTEXT_IOR")) - self.assert_(execparams.has_key("NAME_BINDING")) - self.assert_(execparams.has_key("COMPONENT_IDENTIFIER")) - self.assert_(execparams.has_key("EXEC_PARAM_1")) - self.assert_(execparams.has_key("EXEC_PARAM_2")) - self.assert_(execparams.has_key("EXEC_PARAM_4")) - self.assert_(execparams.has_key("SOMEOBJREF")) - self.assert_(not execparams.has_key("EXEC_PARAM_3")) + self.assertTrue("NAMING_CONTEXT_IOR" in execparams) + self.assertTrue("NAME_BINDING" in execparams) + self.assertTrue("COMPONENT_IDENTIFIER" in execparams) + self.assertTrue("EXEC_PARAM_1" in execparams) + self.assertTrue("EXEC_PARAM_2" in execparams) + self.assertTrue("EXEC_PARAM_4" in execparams) + self.assertTrue("SOMEOBJREF" in execparams) + self.assertTrue("EXEC_PARAM_3" not in execparams) self.assertEqual(execparams["EXEC_PARAM_1"], "Test1") self.assertEqual(execparams["EXEC_PARAM_2"], "2") self.assertEqual(execparams["EXEC_PARAM_4"], "True") @@ -317,7 +317,7 @@ def test_ConfigureNotCalledProperty(self): app = domMgr.createApplication("/waveforms/configure_call_property_w/configure_call_property_w.sad.xml", 'configure_call_property', [], []) self.assertNotEqual(app, None) configure_called = app.query([CF.DataType(id='configure_called',value=any.to_any(None))]) - self.assertEquals(configure_called[0].value._v, False) + self.assertEqual(configure_called[0].value._v, False) def _test_NamespacedWaveform(self, name): nodebooter, domMgr = self.launchDomainManager() @@ -356,7 +356,7 @@ def test_BadOverload(self): self.assertRaises(CF.ApplicationFactory.CreateApplicationError, domMgr.createApplication, "/waveforms/props_bad_numbers_w/props_bad_numbers_w.sad.xml", "props_app", [], [], ) try: app = domMgr.createApplication("/waveforms/props_bad_numbers_w/props_bad_numbers_w.sad.xml", "props_app", [], []) - except Exception, e: + except Exception as e: pass self.assertNotEqual(e.msg.find('Unable to perform conversion'), -1) self.assertEqual(len(domMgr._get_applications()), 0) @@ -452,9 +452,9 @@ def test_cppSlowStop(self): app = domMgr.createApplication("/waveforms/slow_stop_cpp_w/slow_stop_cpp_w.sad.xml", 'slow_stop_cpp_w', [], []) app.start() - self.assertEquals(app._get_started(), True) + self.assertEqual(app._get_started(), True) app.stop() - self.assertEquals(app._get_started(), False) + self.assertEqual(app._get_started(), False) def test_NoTimeout(self): nodebooter, domMgr = self.launchDomainManager() @@ -861,12 +861,12 @@ def test_sadPropertyOverride(self): name = a[0] value = a[1] execparams[name] = value - self.assert_(execparams.has_key("NAMING_CONTEXT_IOR")) - self.assert_(execparams.has_key("NAME_BINDING")) - self.assert_(execparams.has_key("COMPONENT_IDENTIFIER")) - self.assert_(execparams.has_key("EXEC_PARAM_1")) - self.assert_(execparams.has_key("EXEC_PARAM_2")) - self.assert_(not execparams.has_key("EXEC_PARAM_3")) + self.assertTrue("NAMING_CONTEXT_IOR" in execparams) + self.assertTrue("NAME_BINDING" in execparams) + self.assertTrue("COMPONENT_IDENTIFIER" in execparams) + self.assertTrue("EXEC_PARAM_1" in execparams) + self.assertTrue("EXEC_PARAM_2" in execparams) + self.assertTrue("EXEC_PARAM_3" not in execparams) self.assertEqual(execparams["EXEC_PARAM_1"], "New1") self.assertEqual(execparams["EXEC_PARAM_2"], "-2") @@ -1366,13 +1366,13 @@ def test_usesDevicePass(self): self.assertEqual(dev_0_id,'DCE:fe4fee1e-f305-454b-aa96-9f6e7d960cde') self.assertEqual(dev_1_id,'DCE:8f3478e3-626e-45c3-bd01-0a8117dbe59b') pid = app._get_componentProcessIds()[0].processId - status,output = commands.getstatusoutput('kill -0 '+str(pid)) + status,output = subprocess.getstatusoutput('kill -0 '+str(pid)) self.assertEqual(status,0) app.stop() app.releaseObject() - status,output = commands.getstatusoutput('kill -0 '+str(pid)) + status,output = subprocess.getstatusoutput('kill -0 '+str(pid)) self.assertNotEqual(status,0) self.assertEqual(len(domMgr._get_applicationFactories()), 1) @@ -1660,12 +1660,12 @@ def test_MultipleImplementations(self): name = args.pop(0) value = args.pop(0) execparams[name] = value - self.assert_(execparams.has_key("NAMING_CONTEXT_IOR")) - self.assert_(execparams.has_key("NAME_BINDING")) - self.assert_(execparams.has_key("COMPONENT_IDENTIFIER")) - self.assert_(execparams.has_key("EXEC_PARAM_1")) - self.assert_(execparams.has_key("EXEC_PARAM_2")) - self.assert_(execparams.has_key("EXEC_PARAM_3")) + self.assertTrue("NAMING_CONTEXT_IOR" in execparams) + self.assertTrue("NAME_BINDING" in execparams) + self.assertTrue("COMPONENT_IDENTIFIER" in execparams) + self.assertTrue("EXEC_PARAM_1" in execparams) + self.assertTrue("EXEC_PARAM_2" in execparams) + self.assertTrue("EXEC_PARAM_3" in execparams) self.assertEqual(execparams["EXEC_PARAM_1"], "Test1") self.assertEqual(execparams["EXEC_PARAM_2"], "2") self.assertEqual(execparams["EXEC_PARAM_3"], "3.3333") @@ -1738,12 +1738,12 @@ def test_MultipleImplementationsWithDAS(self): name = args.pop(0) value = args.pop(0) execparams[name] = value - self.assert_(execparams.has_key("NAMING_CONTEXT_IOR")) - self.assert_(execparams.has_key("NAME_BINDING")) - self.assert_(execparams.has_key("COMPONENT_IDENTIFIER")) - self.assert_(execparams.has_key("EXEC_PARAM_1")) - self.assert_(execparams.has_key("EXEC_PARAM_2")) - self.assert_(execparams.has_key("EXEC_PARAM_3")) + self.assertTrue("NAMING_CONTEXT_IOR" in execparams) + self.assertTrue("NAME_BINDING" in execparams) + self.assertTrue("COMPONENT_IDENTIFIER" in execparams) + self.assertTrue("EXEC_PARAM_1" in execparams) + self.assertTrue("EXEC_PARAM_2" in execparams) + self.assertTrue("EXEC_PARAM_3" in execparams) self.assertEqual(execparams["EXEC_PARAM_1"], "Test1") self.assertEqual(execparams["EXEC_PARAM_2"], "2") self.assertEqual(execparams["EXEC_PARAM_3"], "3.3333") @@ -1782,7 +1782,7 @@ def test_cacheCleanup(self): self.assertEqual(len(domMgr._get_applications()), 0) apps = [] - for i in xrange(2): + for i in range(2): for appFact in domMgr._get_applicationFactories(): app = appFact.create(appFact._get_name(), [], []) apps.append(app) @@ -2335,7 +2335,7 @@ def test_deviceManagerDeath(self): for devpid in pids: os.kill(devpid, signal.SIGKILL) - for i in xrange(10): + for i in range(10): if len(devMgr._get_registeredDevices()) == 0: break time.sleep(1) @@ -2669,7 +2669,7 @@ def test_OrphanProcesses(self): app = appFact.create(appFact._get_name(), [], []) pid = app._get_componentProcessIds()[0].processId - children = [int(line) for line in commands.getoutput('ps --ppid %d --no-headers -o pid' % (pid,)).split()] + children = [int(line) for line in subprocess.getoutput('ps --ppid %d --no-headers -o pid' % (pid,)).split()] app.releaseObject() @@ -2702,7 +2702,7 @@ def test_CppGppOrphanProcesses(self): app = appFact.create(appFact._get_name(), [], []) pid = app._get_componentProcessIds()[0].processId - children = [int(line) for line in commands.getoutput('ps --ppid %d --no-headers -o pid' % (pid,)).split()] + children = [int(line) for line in subprocess.getoutput('ps --ppid %d --no-headers -o pid' % (pid,)).split()] app.releaseObject() @@ -2985,7 +2985,7 @@ def test_StopTimeoutChange(self): app = domMgr.createApplication('/waveforms/long_stop/long_stop.sad.xml', 'long_stop', initconfig, []) app.start() curr_stoptimeout = app._get_stopTimeout() - self.assertEquals(curr_stoptimeout, 4.0) + self.assertEqual(curr_stoptimeout, 4.0) app._set_stopTimeout(5) begin_stop = time.time() try: @@ -3013,7 +3013,7 @@ def test_StopTimeoutIndefinite(self): app = domMgr.createApplication('/waveforms/slow_stop_w/slow_stop_w.sad.xml', 'slow_stop', [], []) app.start() curr_stoptimeout = app._get_stopTimeout() - self.assertEquals(curr_stoptimeout, -1) + self.assertEqual(curr_stoptimeout, -1) begin_stop = time.time() try: app.stop() diff --git a/redhawk/src/testing/tests/test_04_ApplicationMetrics.py b/redhawk/src/testing/tests/test_04_ApplicationMetrics.py index 2e6d51e93..6bde7b1b6 100644 --- a/redhawk/src/testing/tests/test_04_ApplicationMetrics.py +++ b/redhawk/src/testing/tests/test_04_ApplicationMetrics.py @@ -92,7 +92,7 @@ def test_AppAllMetrics(self): if abs(value-2) < 0.05: diff_ok = True break - self.assertAlmostEquals(value, 2, places=1) + self.assertAlmostEqual(value, 2, places=1) begin_time = time.time() diff_ok = False @@ -105,7 +105,7 @@ def test_AppAllMetrics(self): if abs(value-2) < 0.05: diff_ok = True break - self.assertAlmostEquals(value, 2, places=1) + self.assertAlmostEqual(value, 2, places=1) bc=self._app.metrics(['msg_through_1'], [])[0].value._v value = -1 @@ -131,12 +131,12 @@ def test_AppAllMetrics(self): continue if v.id == 'valid': continue - if moving_total.has_key(v.id): + if v.id in moving_total: moving_total[v.id] += v.value._v else: moving_total[v.id] = v.value._v for key in util_total: - self.assertAlmostEquals(util_total[key],moving_total[key], places=1) + self.assertAlmostEqual(util_total[key],moving_total[key], places=1) def test_AppIndividualMetrics(self): domBooter, self._domMgr = self.launchDomainManager() @@ -155,51 +155,51 @@ def test_AppIndividualMetrics(self): self.assertRaises(CF.Application.InvalidMetric, self._app.metrics, ['utilization'], []) bc=self._app.metrics([], ['memory']) - self.assertEquals(len(bc), 4) - self.assertEquals(len(bc[0].value._v), 1) - self.assertEquals(bc[0].value._v[0].id, 'memory') - self.assertEquals(bc[3].value._v[0].id, 'memory') + self.assertEqual(len(bc), 4) + self.assertEqual(len(bc[0].value._v), 1) + self.assertEqual(bc[0].value._v[0].id, 'memory') + self.assertEqual(bc[3].value._v[0].id, 'memory') bc=self._app.metrics(['busycomp_1'], ['memory']) - self.assertEquals(len(bc), 1) - self.assertEquals(bc[0].id, 'busycomp_1') - self.assertEquals(len(bc[0].value._v), 1) - self.assertEquals(bc[0].value._v[0].id, 'memory') + self.assertEqual(len(bc), 1) + self.assertEqual(bc[0].id, 'busycomp_1') + self.assertEqual(len(bc[0].value._v), 1) + self.assertEqual(bc[0].value._v[0].id, 'memory') bc=self._app.metrics(['application utilization'], ['memory']) - self.assertEquals(len(bc), 1) - self.assertEquals(bc[0].id, 'application utilization') - self.assertEquals(len(bc[0].value._v), 1) - self.assertEquals(bc[0].value._v[0].id, 'memory') + self.assertEqual(len(bc), 1) + self.assertEqual(bc[0].id, 'application utilization') + self.assertEqual(len(bc[0].value._v), 1) + self.assertEqual(bc[0].value._v[0].id, 'memory') bc=self._app.metrics(['msg_through_1','busycomp_1'], ['memory']) - self.assertEquals(len(bc), 2) - self.assertEquals(bc[0].id, 'msg_through_1') - self.assertEquals(len(bc[0].value._v), 1) - self.assertEquals(bc[0].value._v[0].id, 'memory') - self.assertEquals(bc[1].id, 'busycomp_1') - self.assertEquals(len(bc[1].value._v), 1) - self.assertEquals(bc[1].value._v[0].id, 'memory') + self.assertEqual(len(bc), 2) + self.assertEqual(bc[0].id, 'msg_through_1') + self.assertEqual(len(bc[0].value._v), 1) + self.assertEqual(bc[0].value._v[0].id, 'memory') + self.assertEqual(bc[1].id, 'busycomp_1') + self.assertEqual(len(bc[1].value._v), 1) + self.assertEqual(bc[1].value._v[0].id, 'memory') bc=self._app.metrics([], ['cores', 'memory']) - self.assertEquals(len(bc), 4) - self.assertEquals(len(bc[0].value._v), 2) - self.assertEquals(bc[0].value._v[0].id, 'cores') - self.assertEquals(bc[0].value._v[1].id, 'memory') - self.assertEquals(bc[3].value._v[0].id, 'cores') - self.assertEquals(bc[3].value._v[1].id, 'memory') + self.assertEqual(len(bc), 4) + self.assertEqual(len(bc[0].value._v), 2) + self.assertEqual(bc[0].value._v[0].id, 'cores') + self.assertEqual(bc[0].value._v[1].id, 'memory') + self.assertEqual(bc[3].value._v[0].id, 'cores') + self.assertEqual(bc[3].value._v[1].id, 'memory') bc=self._app.metrics(['busycomp_1'], ['cores', 'memory']) - self.assertEquals(len(bc), 1) - self.assertEquals(bc[0].id, 'busycomp_1') - self.assertEquals(len(bc[0].value._v), 2) - self.assertEquals(bc[0].value._v[0].id, 'cores') - self.assertEquals(bc[0].value._v[1].id, 'memory') + self.assertEqual(len(bc), 1) + self.assertEqual(bc[0].id, 'busycomp_1') + self.assertEqual(len(bc[0].value._v), 2) + self.assertEqual(bc[0].value._v[0].id, 'cores') + self.assertEqual(bc[0].value._v[1].id, 'memory') bc=self._app.metrics(['msg_through_1','busycomp_1'], ['cores', 'memory']) - self.assertEquals(len(bc), 2) - self.assertEquals(bc[0].id, 'msg_through_1') - self.assertEquals(len(bc[0].value._v), 2) - self.assertEquals(bc[0].value._v[0].id, 'cores') - self.assertEquals(bc[0].value._v[1].id, 'memory') - self.assertEquals(bc[1].id, 'busycomp_1') - self.assertEquals(len(bc[1].value._v), 2) - self.assertEquals(bc[1].value._v[0].id, 'cores') - self.assertEquals(bc[1].value._v[1].id, 'memory') + self.assertEqual(len(bc), 2) + self.assertEqual(bc[0].id, 'msg_through_1') + self.assertEqual(len(bc[0].value._v), 2) + self.assertEqual(bc[0].value._v[0].id, 'cores') + self.assertEqual(bc[0].value._v[1].id, 'memory') + self.assertEqual(bc[1].id, 'busycomp_1') + self.assertEqual(len(bc[1].value._v), 2) + self.assertEqual(bc[1].value._v[0].id, 'cores') + self.assertEqual(bc[1].value._v[1].id, 'memory') self.assertRaises(CF.Application.InvalidMetric, self._app.metrics, [], ['cord', 'memory']) diff --git a/redhawk/src/testing/tests/test_04_ApplicationRegistrar.py b/redhawk/src/testing/tests/test_04_ApplicationRegistrar.py index 81b162f42..6d54b3d83 100644 --- a/redhawk/src/testing/tests/test_04_ApplicationRegistrar.py +++ b/redhawk/src/testing/tests/test_04_ApplicationRegistrar.py @@ -24,14 +24,14 @@ from xml.dom import minidom from omniORB import CORBA, URI, any from ossie.cf import CF, CF__POA, ExtendedCF -import commands +import subprocess from ossie.utils.sandbox.launcher import LocalProcess from ossie import parsers from ossie.utils.sandbox.naming import NamingContextStub from ossie.utils import sb def getChildren(parentPid): - process_listing = commands.getoutput('ls /proc').split('\n') + process_listing = subprocess.getoutput('ls /proc').split('\n') children = [] for entry in process_listing: try: @@ -52,7 +52,7 @@ def getChildren(parentPid): def getProcessName(pid): str_pid = str(pid) - process_listing = commands.getoutput('ls /proc').split('\n') + process_listing = subprocess.getoutput('ls /proc').split('\n') Name = '' for entry in process_listing: if entry == str_pid: @@ -73,7 +73,7 @@ def getProcessName(pid): return Name def pidExists(pid): - process_listing = commands.getoutput('ls /proc').split('\n') + process_listing = subprocess.getoutput('ls /proc').split('\n') return str(pid) in process_listing def execute(self, spd, impl, execparams, timeout=None): @@ -86,17 +86,17 @@ def execute(self, spd, impl, execparams, timeout=None): # Make sure the entry point can be run. entry_point = self._getEntryPoint(implementation) if not os.access(entry_point, os.X_OK|os.R_OK): - raise RuntimeError, "Entry point '%s' is not executable" % entry_point + raise RuntimeError("Entry point '%s' is not executable" % entry_point) # Process softpkg dependencies and modify the child environment. - environment = dict(os.environ.items()) + environment = dict(list(os.environ.items())) # Get required execparams based on the component type execparams.update(self._getRequiredExecparams()) # Convert execparams into arguments. arguments = [] - for name, value in execparams.iteritems(): + for name, value in execparams.items(): arguments += [name, str(value)] # Run the command directly. @@ -115,12 +115,12 @@ def execute(self, spd, impl, execparams, timeout=None): sleepIncrement = 0.1 while self.getReference() is None: if not process.isAlive(): - raise RuntimeError, "%s '%s' terminated before registering with virtual environment" % (self._getType(), self._name) + raise RuntimeError("%s '%s' terminated before registering with virtual environment" % (self._getType(), self._name)) time.sleep(sleepIncrement) timeout -= sleepIncrement if timeout < 0: process.terminate() - raise RuntimeError, "%s '%s' did not register with virtual environment" % (self._getType(), self._name) + raise RuntimeError("%s '%s' did not register with virtual environment" % (self._getType(), self._name)) # Store the CORBA reference. ref = self.getReference() @@ -143,7 +143,7 @@ def _getImplementation(self, spd, identifier): for implementation in spd.get_implementation(): if implementation.get_id() == identifier: return implementation - raise KeyError, "Softpkg '%s' has no implementation '%s'" % (spd.get_name(), identifier) + raise KeyError("Softpkg '%s' has no implementation '%s'" % (spd.get_name(), identifier)) def _getEntryPoint(self, implementation): entry_point = implementation.get_code().get_entrypoint() if not entry_point.startswith('/'): @@ -174,7 +174,7 @@ def test_cppNamingContextOnly(self): process,ref = execute(self, self.spd, self.impl, {}) pid = process.pid() comp_id = ref._get_identifier() - self.assertEquals(comp_id, 'some_id') + self.assertEqual(comp_id, 'some_id') app_id = ref.query([CF.DataType(id='app_id',value=any.to_any(None))])[0].value._v number_components = ref.query([CF.DataType(id='number_components',value=any.to_any(None))])[0].value._v dom_id = ref.query([CF.DataType(id='dom_id',value=any.to_any(None))])[0].value._v @@ -188,7 +188,7 @@ def test_pythonNamingContextOnly(self): process,ref = execute(self, self.spd, self.impl, {}) pid = process.pid() comp_id = ref._get_identifier() - self.assertEquals(comp_id, 'some_id') + self.assertEqual(comp_id, 'some_id') app_id = ref.query([CF.DataType(id='app_id',value=any.to_any(None))])[0].value._v number_components = ref.query([CF.DataType(id='number_components',value=any.to_any(None))])[0].value._v dom_id = ref.query([CF.DataType(id='dom_id',value=any.to_any(None))])[0].value._v @@ -203,7 +203,7 @@ def test_javaNamingContextOnly(self): process,ref = execute(self, self.spd, self.impl, {}) pid = process.pid() comp_id = ref._get_identifier() - self.assertEquals(comp_id, 'some_id') + self.assertEqual(comp_id, 'some_id') app_id = ref.query([CF.DataType(id='app_id',value=any.to_any(None))])[0].value._v number_components = ref.query([CF.DataType(id='number_components',value=any.to_any(None))])[0].value._v dom_id = ref.query([CF.DataType(id='dom_id',value=any.to_any(None))])[0].value._v diff --git a/redhawk/src/testing/tests/test_04_Net.py b/redhawk/src/testing/tests/test_04_Net.py index 073615ff7..f6f79a32a 100644 --- a/redhawk/src/testing/tests/test_04_Net.py +++ b/redhawk/src/testing/tests/test_04_Net.py @@ -24,14 +24,14 @@ from xml.dom import minidom from omniORB import CORBA, URI, any from ossie.cf import CF, CF__POA, ExtendedCF -import commands +import subprocess from ossie.utils.sandbox.launcher import LocalProcess from ossie import parsers from ossie.utils.sandbox.naming import NamingContextStub from ossie.utils import sb def getChildren(parentPid): - process_listing = commands.getoutput('ls /proc').split('\n') + process_listing = subprocess.getoutput('ls /proc').split('\n') children = [] for entry in process_listing: try: @@ -52,7 +52,7 @@ def getChildren(parentPid): def getProcessName(pid): str_pid = str(pid) - process_listing = commands.getoutput('ls /proc').split('\n') + process_listing = subprocess.getoutput('ls /proc').split('\n') Name = '' for entry in process_listing: if entry == str_pid: @@ -73,7 +73,7 @@ def getProcessName(pid): return Name def pidExists(pid): - process_listing = commands.getoutput('ls /proc').split('\n') + process_listing = subprocess.getoutput('ls /proc').split('\n') return str(pid) in process_listing class AwarenessTest(scatest.CorbaTestCase): @@ -162,7 +162,7 @@ def _testNicAlloc(self, waveform, cmdline=True): for comp in app._get_componentProcessIds(): with open('/proc/%d/cmdline' % comp.processId, 'r') as fp: args = fp.read().split('\0') - self.failUnless('NIC' in args, "%s did not get NIC command line argument" % comp.componentId) + self.assertTrue('NIC' in args, "%s did not get NIC command line argument" % comp.componentId) for comp in app._get_registeredComponents(): props = comp.componentObject.query([CF.DataType(id='nic_name',value=any.to_any(None))]) diff --git a/redhawk/src/testing/tests/test_04_SimpleApplicationFactory.py b/redhawk/src/testing/tests/test_04_SimpleApplicationFactory.py index 22c513929..b2834cff9 100644 --- a/redhawk/src/testing/tests/test_04_SimpleApplicationFactory.py +++ b/redhawk/src/testing/tests/test_04_SimpleApplicationFactory.py @@ -69,11 +69,11 @@ def test_BasicOperation(self): # convert props to a dict allProps = dict([(x.id, x.value) for x in allProps]) # This isn't all of them...but a fair amount - self.assertEqual(allProps.has_key("DCE:4a23ad60-0b25-4121-a630-68803a498f75"), False) # os_name - self.assertEqual(allProps.has_key("DCE:fefb9c66-d14a-438d-ad59-2cfd1adb272b"), False) # processor_name - self.assertEqual(allProps.has_key("DCE:7f36cdfb-f828-4e4f-b84f-446e17f1a85b"), False) # DeviceKind - self.assertEqual(allProps.has_key("DCE:64303822-4c67-4c04-9a5c-bf670f27cf39"), False) # RunsAs - self.assertEqual(allProps.has_key("DCE:021f10cf-7a05-46ec-a507-04b513b84bd4"), False) # HasXMIDAS + self.assertEqual("DCE:4a23ad60-0b25-4121-a630-68803a498f75" in allProps, False) # os_name + self.assertEqual("DCE:fefb9c66-d14a-438d-ad59-2cfd1adb272b" in allProps, False) # processor_name + self.assertEqual("DCE:7f36cdfb-f828-4e4f-b84f-446e17f1a85b" in allProps, False) # DeviceKind + self.assertEqual("DCE:64303822-4c67-4c04-9a5c-bf670f27cf39" in allProps, False) # RunsAs + self.assertEqual("DCE:021f10cf-7a05-46ec-a507-04b513b84bd4" in allProps, False) # HasXMIDAS appFact = domMgr._get_applicationFactories()[0] app = appFact.create(appFact._get_name(), [], ds) diff --git a/redhawk/src/testing/tests/test_05_AffinityDeployments.py b/redhawk/src/testing/tests/test_05_AffinityDeployments.py index 0eb5c5fff..dc3df4d13 100644 --- a/redhawk/src/testing/tests/test_05_AffinityDeployments.py +++ b/redhawk/src/testing/tests/test_05_AffinityDeployments.py @@ -69,7 +69,7 @@ def setXmlSource( src, dest=None ): lines = [line.rstrip() for line in open(src)] for l in lines: newline=l - for k in affinity_test_src.keys(): + for k in list(affinity_test_src.keys()): newline = re.sub(r'XXX'+k+'XXX', r''+affinity_test_src[k], newline ) dest_f.write(newline+'\n') @@ -489,7 +489,7 @@ def hasNumaSupport( exec_path): numa_layout=numa_affinity_ctx['numa_layout'] numa_match=numa_affinity_ctx['affinity_match'] else: - print "NonNumaSupport ", nonnuma_affinity_ctx + print("NonNumaSupport ", nonnuma_affinity_ctx) maxcpus = nonnuma_affinity_ctx['maxcpus'] maxnodes = nonnuma_affinity_ctx['maxnodes'] all_cpus = nonnuma_affinity_ctx['all_cpus'] @@ -514,12 +514,12 @@ def hasNumaSupport( exec_path): if maxcpus < 5 : affinity_test_src["5"] = all_cpus -print "numa_layout:", numa_layout -print "maxcpus:", maxcpus -print "maxnodes:", maxnodes -print "affinity_test_src:", affinity_test_src -print "numa_match (wf) :", numa_match -print "numa_match (dev) :", dev_affinity_ctx +print("numa_layout:", numa_layout) +print("maxcpus:", maxcpus) +print("maxnodes:", maxnodes) +print("affinity_test_src:", affinity_test_src) +print("numa_match (wf) :", numa_match) +print("numa_match (dev) :", dev_affinity_ctx) ## GPP blacklist=0, affinity=socket,0 deploy_per_socket=true setXmlSource( "./sdr/dev/nodes/test_affinity_node_socket/DeviceManager.dcd.xml.GOLD") diff --git a/redhawk/src/testing/tests/test_05_DeviceReadOnly.py b/redhawk/src/testing/tests/test_05_DeviceReadOnly.py index 1c3381ab5..f07148fd9 100644 --- a/redhawk/src/testing/tests/test_05_DeviceReadOnly.py +++ b/redhawk/src/testing/tests/test_05_DeviceReadOnly.py @@ -43,7 +43,7 @@ def test_readonly_java(self): self.assertNotEqual(self._domain, None, "DomainManager not available") self.assertNotEqual(self._devMgr, None, "Failed to launch device manager") - dev=filter( lambda c : c._id == 'TestJavaDevice_1', self._domain.devices )[0] + dev=[c for c in self._domain.devices if c._id == 'TestJavaDevice_1'][0] self.assertNotEqual(dev,None) props = dev.query([CF.DataType("readOnly", any.to_any(None))]) self.assertEqual(props[0].value._v, "set_once") @@ -70,7 +70,7 @@ def test_readonly_python(self): self.assertNotEqual(self._domain, None, "DomainManager not available") self.assertNotEqual(self._devMgr, None, "Failed to launch device manager") - dev=filter( lambda c : c._id == 'TestPythonDevice_1', self._domain.devices )[0] + dev=[c for c in self._domain.devices if c._id == 'TestPythonDevice_1'][0] self.assertNotEqual(dev,None) props = dev.query([CF.DataType("readOnly", any.to_any(None))]) self.assertEqual(dev.readOnly, 'set_once') @@ -83,7 +83,7 @@ def test_readonly_cpp(self): self.assertNotEqual(self._domain, None, "DomainManager not available") self.assertNotEqual(self._devMgr, None, "Failed to launch app") - dev=filter( lambda c : c._id == 'TestCppDevice_1', self._domain.devices )[0] + dev=[c for c in self._domain.devices if c._id == 'TestCppDevice_1'][0] self.assertNotEqual(dev,None) props = dev.query([CF.DataType("readOnly", any.to_any(None))]) self.assertEqual(props[0].value._v, "set_once") diff --git a/redhawk/src/testing/tests/test_05_FileSystem.py b/redhawk/src/testing/tests/test_05_FileSystem.py index 6a74bf759..16fabc833 100644 --- a/redhawk/src/testing/tests/test_05_FileSystem.py +++ b/redhawk/src/testing/tests/test_05_FileSystem.py @@ -371,14 +371,14 @@ def test_List(self): # Test query of '/'. It should show the contents of '/' rootFiles = self._devMgr._get_fileSys().list("/") # Compare the length against the local directory (ignoring hidden files) - localFiles = filter(lambda x: not x.startswith('.'), os.listdir("sdr/dev")) + localFiles = [x for x in os.listdir("sdr/dev") if not x.startswith('.')] self.assertEqual(len(rootFiles), len(localFiles)) files = {} for fi in rootFiles: files[fi.name] = fi - self.assert_(files.has_key("nodes")) - self.assert_(files.has_key("devices")) - self.assert_(files.has_key("mgr")) + self.assertTrue("nodes" in files) + self.assertTrue("devices" in files) + self.assertTrue("mgr" in files) rootFiles = fileMgr.list("/") files = {} @@ -386,13 +386,13 @@ def test_List(self): files[fi.name] = fi # Test a few expected directories, but don't be exhaustive - self.assert_(files.has_key("waveforms")) + self.assertTrue("waveforms" in files) self.assertEqual(files["waveforms"].kind, CF.FileSystem.DIRECTORY) - self.assert_(files.has_key("components")) + self.assertTrue("components" in files) self.assertEqual(files["components"].kind, CF.FileSystem.DIRECTORY) # Check that the DeviceManager mount point is listed - self.assert_(files.has_key("ExecutableDevice_node")) + self.assertTrue("ExecutableDevice_node" in files) self.assertEqual(files["ExecutableDevice_node"].kind, CF.FileSystem.FILE_SYSTEM) os.system("chmod 444 "+devlistdir.replace('/ExecutableDevice_node','sdr/dev')+'/'+dir_file_list_xml[0]) @@ -640,9 +640,9 @@ def test_ExistsException(self): dirname = '/noaccess' testdir = os.path.join(scatest.getSdrPath(), 'dom' + dirname) if not os.path.exists(testdir): - os.mkdir(testdir, 0644) + os.mkdir(testdir, 0o644) else: - os.chmod(testdir, 0644) + os.chmod(testdir, 0o644) try: self.assertFalse(os.access(testdir, os.R_OK|os.X_OK), 'Current user can still access directory') @@ -664,7 +664,7 @@ def Process(self): while number_files != 0: try: number_files = len(self.dommgr._get_fileMgr().list(self.basedir+'/')) - except CF.FileException, e: + except CF.FileException as e: # this happens when $SDRROOT/dom/tmp (self.basedir) is deleted if e.errorNumber != CF.CF_EEXIST: raise diff --git a/redhawk/src/testing/tests/test_05_LoadableDeviceTest.py b/redhawk/src/testing/tests/test_05_LoadableDeviceTest.py index ad9b5ad81..765f86197 100644 --- a/redhawk/src/testing/tests/test_05_LoadableDeviceTest.py +++ b/redhawk/src/testing/tests/test_05_LoadableDeviceTest.py @@ -18,7 +18,7 @@ # along with this program. If not, see http://www.gnu.org/licenses/. # -import unittest, os, commands, time +import unittest, os, subprocess, time from _unitTestHelpers import scatest from omniORB import CORBA, URI, any from ossie.cf import CF @@ -125,7 +125,7 @@ def test_EmptyDir(self): app.start() app.stop() tmpdir = os.path.join(scatest.getSdrCache(), '.BasicTestDevice_node/BasicTestDevice1/components/CommandWrapperEmptyDir/cmd_dir/tmp') - self.assert_(os.path.isdir(tmpdir)) + self.assertTrue(os.path.isdir(tmpdir)) app.releaseObject() self.assertEqual(len(self._domMgr._get_applicationFactories()), 1) self.assertEqual(len(self._domMgr._get_applications()), 0) @@ -331,8 +331,8 @@ def test_py_UnloadOnRelease(self): scatest.verifyDeviceLaunch(self, devMgr, 1) device = devMgr._get_registeredDevices()[0] - self.assert_(not os.path.exists(deviceCacheDir + "/components/CommandWrapper")) - self.assert_(not os.path.exists(deviceCacheDir + "/components/CapacityUser")) + self.assertTrue(not os.path.exists(deviceCacheDir + "/components/CommandWrapper")) + self.assertTrue(not os.path.exists(deviceCacheDir + "/components/CapacityUser")) # Load a some files and directories device.load(self._domMgr._get_fileMgr(), "/components/CommandWrapper", CF.LoadableDevice.EXECUTABLE) @@ -348,7 +348,7 @@ def test_py_UnloadOnRelease(self): device.releaseObject() # Wait for the device to unregister. - self.assert_(self._waitRegisteredDevices(devMgr, 0)) + self.assertTrue(self._waitRegisteredDevices(devMgr, 0)) self.assertEqual(len(os.listdir(deviceCacheDir + "/components/CommandWrapper")), 0) self.assertEqual(len(os.listdir(deviceCacheDir + "/components/CapacityUser")), 0) @@ -369,8 +369,8 @@ def test_py_LoadUnload(self): scatest.verifyDeviceLaunch(self, devMgr, 1) device = devMgr._get_registeredDevices()[0] - self.assert_(not os.path.exists(deviceCacheDir + "/components/CommandWrapper")) - self.assert_(not os.path.exists(deviceCacheDir + "/components/CapacityUser")) + self.assertTrue(not os.path.exists(deviceCacheDir + "/components/CommandWrapper")) + self.assertTrue(not os.path.exists(deviceCacheDir + "/components/CapacityUser")) # Load a some files and directories device.load(self._domMgr._get_fileMgr(), "/components/CommandWrapper", CF.LoadableDevice.EXECUTABLE) @@ -411,7 +411,7 @@ def test_py_LoadUnload(self): self.assertEqual(len(os.listdir(deviceCacheDir + "/components/CapacityUser")), 4) # Now we need to unload 3 times - for i in xrange(3): + for i in range(3): self.assertEqual(len(os.listdir(deviceCacheDir + "/components/CommandWrapper")), 4) self.assertEqual(len(os.listdir(deviceCacheDir + "/components/CapacityUser")), 4) @@ -427,7 +427,7 @@ def test_py_LoadUnload(self): device.releaseObject() # Wait for the device to unregister. - self.assert_(self._waitRegisteredDevices(devMgr, 0)) + self.assertTrue(self._waitRegisteredDevices(devMgr, 0)) self.assertEqual(len(self._domMgr._get_deviceManagers()), 1) @@ -445,8 +445,8 @@ def test_cpp_LoadUnload(self): scatest.verifyDeviceLaunch(self, devMgr, 1) device = devMgr._get_registeredDevices()[0] - self.assert_(not os.path.exists(deviceCacheDir + "/components/CommandWrapper")) - self.assert_(not os.path.exists(deviceCacheDir + "/components/CapacityUser")) + self.assertTrue(not os.path.exists(deviceCacheDir + "/components/CommandWrapper")) + self.assertTrue(not os.path.exists(deviceCacheDir + "/components/CapacityUser")) # Load a some files and directories device.load(self._domMgr._get_fileMgr(), "/components/CommandWrapper", CF.LoadableDevice.EXECUTABLE) @@ -487,8 +487,8 @@ def test_cpp_LoadUnload(self): self.assertEqual(len(os.listdir(deviceCacheDir + "/components/CapacityUser")), 4) # Now we need to unload 3 times - print os.listdir(deviceCacheDir + "/components") - for i in xrange(3): + print(os.listdir(deviceCacheDir + "/components")) + for i in range(3): self.assertEqual(len(os.listdir(deviceCacheDir + "/components/CommandWrapper")), 4) self.assertEqual(len(os.listdir(deviceCacheDir + "/components/CapacityUser")), 4) @@ -501,13 +501,13 @@ def test_cpp_LoadUnload(self): #self.assertEqual(len(os.listdir(deviceCacheDir + "/components/CommandWrapper")), 0) # Empty directories get deleted - self.assert_(not os.path.exists(deviceCacheDir + "/components/CommandWrapper")) + self.assertTrue(not os.path.exists(deviceCacheDir + "/components/CommandWrapper")) self.assertEqual(len(os.listdir(deviceCacheDir + "/components/CapacityUser")), 0) device.releaseObject() # Wait for the device to unregister. - self.assert_(self._waitRegisteredDevices(devMgr, 0)) + self.assertTrue(self._waitRegisteredDevices(devMgr, 0)) self.assertEqual(len(self._domMgr._get_deviceManagers()), 1) @@ -649,8 +649,8 @@ def test_java_SharedLibraryLoad(self): self._domMgr.uninstallApplication(appFact._get_identifier()) - (status,output) = commands.getstatusoutput('rm -rf tmp_cache') - (status,output) = commands.getstatusoutput('rm -rf tmp_working') + (status,output) = subprocess.getstatusoutput('rm -rf tmp_cache') + (status,output) = subprocess.getstatusoutput('rm -rf tmp_working') self._testFiles.append('sdr/dev/nodes/test_GPP_node/tmp.dcd.xml') def _test_py_SharedLibraryLoad(self, node): @@ -725,7 +725,7 @@ def test_py_SharedLibraryLoad2(self): self._test_py_SharedLibraryLoad("/nodes/test_GPP_node/tmp.dcd.xml") - (status,output) = commands.getstatusoutput('rm -rf tmp_working') + (status,output) = subprocess.getstatusoutput('rm -rf tmp_working') self._testFiles.append('sdr/dev/nodes/test_GPP_node/tmp.dcd.xml') def test_py_SharedLibraryLoad3(self): @@ -740,8 +740,8 @@ def test_py_SharedLibraryLoad3(self): self._test_py_SharedLibraryLoad("/nodes/test_GPP_node/tmp.dcd.xml") - (status,output) = commands.getstatusoutput('rm -rf tmp_cache') - (status,output) = commands.getstatusoutput('rm -rf tmp_working') + (status,output) = subprocess.getstatusoutput('rm -rf tmp_cache') + (status,output) = subprocess.getstatusoutput('rm -rf tmp_working') self._testFiles.append('sdr/dev/nodes/test_GPP_node/tmp.dcd.xml') def _failIfOpen(self, fileSys, path): @@ -795,13 +795,13 @@ def _test_LoadSoftpkgDir(self, nodeName): # Get LD_LIBRARY_PATH prior to the load path_pre = self._query(device, 'LD_LIBRARY_PATH') - self.failIf(self._checkCachePath(path_pre, scaPath), 'Library directory already in LD_LIBRARY_PATH') + self.assertFalse(self._checkCachePath(path_pre, scaPath), 'Library directory already in LD_LIBRARY_PATH') device.load(fileSys, scaPath, CF.LoadableDevice.SHARED_LIBRARY) # Check that LD_LIBRARY has been augmented with the directory path_post = self._query(device, 'LD_LIBRARY_PATH') - self.assert_(self._checkCachePath(path_post, scaPath), 'Library directory not added to LD_LIBRARY_PATH') + self.assertTrue(self._checkCachePath(path_post, scaPath), 'Library directory not added to LD_LIBRARY_PATH') def test_cpp_LoadSoftpkgDir(self): self._test_LoadSoftpkgDir('test_ExecutableDevice_node') @@ -820,13 +820,13 @@ def _test_LoadSoftpkgLib(self, nodeName): # Get LD_LIBRARY_PATH prior to the load path_pre = self._query(device, 'LD_LIBRARY_PATH') - self.failIf(self._checkCachePath(path_pre, scaPath), 'Library directory already in LD_LIBRARY_PATH') + self.assertFalse(self._checkCachePath(path_pre, scaPath), 'Library directory already in LD_LIBRARY_PATH') device.load(fileSys, scaFile, CF.LoadableDevice.SHARED_LIBRARY) # Check that LD_LIBRARY has been augmented with the directory path_post = self._query(device, 'LD_LIBRARY_PATH') - self.assert_(self._checkCachePath(path_post, scaPath), 'Library directory not added to LD_LIBRARY_PATH') + self.assertTrue(self._checkCachePath(path_post, scaPath), 'Library directory not added to LD_LIBRARY_PATH') def test_cpp_LoadSoftpkgLib(self): self._test_LoadSoftpkgLib('test_ExecutableDevice_node') @@ -845,13 +845,13 @@ def _test_LoadOctaveDir(self, nodeName): # Get OCTAVE_PATH prior to the load path_pre = self._query(device, 'OCTAVE_PATH') - self.failIf(self._checkCachePath(path_pre, scaPath), 'Library directory already in OCTAVE_PATH') + self.assertFalse(self._checkCachePath(path_pre, scaPath), 'Library directory already in OCTAVE_PATH') device.load(fileSys, scaPath, CF.LoadableDevice.SHARED_LIBRARY) # Check that OCTAVE_PATH has been augmented with the directory path_post = self._query(device, 'OCTAVE_PATH') - self.assert_(self._checkCachePath(path_post, scaPath), 'Library directory not added to OCTAVE_PATH') + self.assertTrue(self._checkCachePath(path_post, scaPath), 'Library directory not added to OCTAVE_PATH') def test_cpp_LoadOctaveDir(self): self._test_LoadOctaveDir('test_ExecutableDevice_node') diff --git a/redhawk/src/testing/tests/test_05_PythonDevice.py b/redhawk/src/testing/tests/test_05_PythonDevice.py index e4fedc53c..ca2bacbb0 100644 --- a/redhawk/src/testing/tests/test_05_PythonDevice.py +++ b/redhawk/src/testing/tests/test_05_PythonDevice.py @@ -31,7 +31,7 @@ def test_BasicDevice(self): dev = sb.launch('sdr/dev/devices/alloc_test/alloc_test.spd.xml') self.assertNotEqual(dev, None) alloc = dev.allocateCapacity({'callback_test':5}) - self.assertEquals(alloc, True) - self.assertEquals(dev.callback_value, 5) + self.assertEqual(alloc, True) + self.assertEqual(dev.callback_value, 5) dev.deallocateCapacity({'callback_test':7}) - self.assertEquals(dev.callback_value, 7) + self.assertEqual(dev.callback_value, 7) diff --git a/redhawk/src/testing/tests/test_06_AggregateDevice.py b/redhawk/src/testing/tests/test_06_AggregateDevice.py index 59964f28a..7be976e60 100644 --- a/redhawk/src/testing/tests/test_06_AggregateDevice.py +++ b/redhawk/src/testing/tests/test_06_AggregateDevice.py @@ -24,7 +24,7 @@ from omniORB import CORBA import time import os -from test_09_HardFail import getChildren +from .test_09_HardFail import getChildren class DeviceManagerTest(scatest.CorbaTestCase): def setUp(self): @@ -69,7 +69,7 @@ def _test_BasicAggregateDevice(self, node): self.assertEqual(self._parentDevice._get_identifier(), self._childDevice._get_compositeDevice()._narrow(CF.Device)._get_identifier()) self._devMgr.shutdown() - self.assert_(self.waitTermination(self._devBooter)) + self.assertTrue(self.waitTermination(self._devBooter)) self.assertEqual(len(self._domMgr._get_deviceManagers()), 0) def _test_ShutdownParent(self, node): @@ -95,7 +95,7 @@ def _test_ShutdownParent(self, node): self.assertEqual(len(pids), 0) self._devMgr.shutdown() - self.assert_(self.waitTermination(self._devBooter)) + self.assertTrue(self.waitTermination(self._devBooter)) self.assertEqual(len(self._domMgr._get_deviceManagers()), 0) def _test_ShutdownChild(self, node): @@ -146,7 +146,7 @@ def _test_ShutdownChild(self, node): self.assertEqual(len(pids), 0) self._devMgr.shutdown() - self.assert_(self.waitTermination(self._devBooter)) + self.assertTrue(self.waitTermination(self._devBooter)) self.assertEqual(len(self._domMgr._get_deviceManagers()), 0) def test_BasicAggregateDevice(self): diff --git a/redhawk/src/testing/tests/test_06_PersonaDevice.py b/redhawk/src/testing/tests/test_06_PersonaDevice.py index 61b27e5ff..d74167df4 100644 --- a/redhawk/src/testing/tests/test_06_PersonaDevice.py +++ b/redhawk/src/testing/tests/test_06_PersonaDevice.py @@ -61,34 +61,34 @@ def allocate(self): if "ProgrammableDevice_1" not in device._get_identifier(): device.allocateCapacity([]) if deviceNumber == 1: - self.assertEquals(str(self._devMgr._get_registeredDevices()[1]._get_usageState()),"IDLE") - self.assertEquals(str(self._devMgr._get_registeredDevices()[1]._get_adminState()),"UNLOCKED") - self.assertEquals(str(self._devMgr._get_registeredDevices()[2]._get_usageState()),"BUSY") - self.assertEquals(str(self._devMgr._get_registeredDevices()[2]._get_adminState()),"LOCKED") - self.assertEquals(str(self._devMgr._get_registeredDevices()[3]._get_usageState()),"BUSY") - self.assertEquals(str(self._devMgr._get_registeredDevices()[3]._get_adminState()),"LOCKED") + self.assertEqual(str(self._devMgr._get_registeredDevices()[1]._get_usageState()),"IDLE") + self.assertEqual(str(self._devMgr._get_registeredDevices()[1]._get_adminState()),"UNLOCKED") + self.assertEqual(str(self._devMgr._get_registeredDevices()[2]._get_usageState()),"BUSY") + self.assertEqual(str(self._devMgr._get_registeredDevices()[2]._get_adminState()),"LOCKED") + self.assertEqual(str(self._devMgr._get_registeredDevices()[3]._get_usageState()),"BUSY") + self.assertEqual(str(self._devMgr._get_registeredDevices()[3]._get_adminState()),"LOCKED") elif deviceNumber == 2: - self.assertEquals(str(self._devMgr._get_registeredDevices()[1]._get_usageState()),"BUSY") - self.assertEquals(str(self._devMgr._get_registeredDevices()[1]._get_adminState()),"LOCKED") - self.assertEquals(str(self._devMgr._get_registeredDevices()[2]._get_usageState()),"IDLE") - self.assertEquals(str(self._devMgr._get_registeredDevices()[2]._get_adminState()),"UNLOCKED") - self.assertEquals(str(self._devMgr._get_registeredDevices()[3]._get_usageState()),"BUSY") - self.assertEquals(str(self._devMgr._get_registeredDevices()[3]._get_adminState()),"LOCKED") + self.assertEqual(str(self._devMgr._get_registeredDevices()[1]._get_usageState()),"BUSY") + self.assertEqual(str(self._devMgr._get_registeredDevices()[1]._get_adminState()),"LOCKED") + self.assertEqual(str(self._devMgr._get_registeredDevices()[2]._get_usageState()),"IDLE") + self.assertEqual(str(self._devMgr._get_registeredDevices()[2]._get_adminState()),"UNLOCKED") + self.assertEqual(str(self._devMgr._get_registeredDevices()[3]._get_usageState()),"BUSY") + self.assertEqual(str(self._devMgr._get_registeredDevices()[3]._get_adminState()),"LOCKED") elif deviceNumber == 3: - self.assertEquals(str(self._devMgr._get_registeredDevices()[1]._get_usageState()),"BUSY") - self.assertEquals(str(self._devMgr._get_registeredDevices()[1]._get_adminState()),"LOCKED") - self.assertEquals(str(self._devMgr._get_registeredDevices()[2]._get_usageState()),"BUSY") - self.assertEquals(str(self._devMgr._get_registeredDevices()[2]._get_adminState()),"LOCKED") - self.assertEquals(str(self._devMgr._get_registeredDevices()[3]._get_usageState()),"IDLE") - self.assertEquals(str(self._devMgr._get_registeredDevices()[3]._get_adminState()),"UNLOCKED") + self.assertEqual(str(self._devMgr._get_registeredDevices()[1]._get_usageState()),"BUSY") + self.assertEqual(str(self._devMgr._get_registeredDevices()[1]._get_adminState()),"LOCKED") + self.assertEqual(str(self._devMgr._get_registeredDevices()[2]._get_usageState()),"BUSY") + self.assertEqual(str(self._devMgr._get_registeredDevices()[2]._get_adminState()),"LOCKED") + self.assertEqual(str(self._devMgr._get_registeredDevices()[3]._get_usageState()),"IDLE") + self.assertEqual(str(self._devMgr._get_registeredDevices()[3]._get_adminState()),"UNLOCKED") device.deallocateCapacity([]) - self.assertEquals(str(self._devMgr._get_registeredDevices()[1]._get_usageState()),"IDLE") - self.assertEquals(str(self._devMgr._get_registeredDevices()[1]._get_adminState()),"UNLOCKED") - self.assertEquals(str(self._devMgr._get_registeredDevices()[2]._get_usageState()),"IDLE") - self.assertEquals(str(self._devMgr._get_registeredDevices()[2]._get_adminState()),"UNLOCKED") - self.assertEquals(str(self._devMgr._get_registeredDevices()[3]._get_usageState()),"IDLE") - self.assertEquals(str(self._devMgr._get_registeredDevices()[3]._get_adminState()),"UNLOCKED") + self.assertEqual(str(self._devMgr._get_registeredDevices()[1]._get_usageState()),"IDLE") + self.assertEqual(str(self._devMgr._get_registeredDevices()[1]._get_adminState()),"UNLOCKED") + self.assertEqual(str(self._devMgr._get_registeredDevices()[2]._get_usageState()),"IDLE") + self.assertEqual(str(self._devMgr._get_registeredDevices()[2]._get_adminState()),"UNLOCKED") + self.assertEqual(str(self._devMgr._get_registeredDevices()[3]._get_usageState()),"IDLE") + self.assertEqual(str(self._devMgr._get_registeredDevices()[3]._get_adminState()),"UNLOCKED") deviceNumber += 1 @@ -177,7 +177,7 @@ def launchNode(self, node): def test_CPP_ProgrammableAndPersona(self): self.launchNode("agg_test") devs = self._devMgr._get_registeredDevices() - self.assertEquals(devs[0]._get_identifier(), 'agg_test:base_programmable_1') - self.assertEquals(devs[1]._get_identifier(), 'agg_test:base_persona_1') - self.assertEquals(devs[0]._get_compositeDevice(), None) - self.assertEquals(devs[1]._get_compositeDevice()._get_identifier(), 'agg_test:base_programmable_1') + self.assertEqual(devs[0]._get_identifier(), 'agg_test:base_programmable_1') + self.assertEqual(devs[1]._get_identifier(), 'agg_test:base_persona_1') + self.assertEqual(devs[0]._get_compositeDevice(), None) + self.assertEqual(devs[1]._get_compositeDevice()._get_identifier(), 'agg_test:base_programmable_1') diff --git a/redhawk/src/testing/tests/test_07_PythonParsers.py b/redhawk/src/testing/tests/test_07_PythonParsers.py index 500419e31..f072a5574 100644 --- a/redhawk/src/testing/tests/test_07_PythonParsers.py +++ b/redhawk/src/testing/tests/test_07_PythonParsers.py @@ -21,7 +21,7 @@ from ossie import parsers from _unitTestHelpers import scatest -import commands +import subprocess import os import tempfile @@ -30,9 +30,9 @@ def _xmllint(self, fPath, fType): os.environ['SGML_CATALOG_FILES'] = os.path.abspath("../xml/dtd/catalog.xml") docType = "-//JTRS//DTD SCA V2.2.2 %s//EN" % (fType.upper()) cmd = "xmllint --nowarning --nonet --catalogs --noout --dropdtd --dtdvalidfpi '%s' %s" % (docType, fPath) - status = commands.getstatusoutput(cmd) + status = subprocess.getstatusoutput(cmd) if status[0] != 0: - print status[1] + print(status[1]) return status[0] def test_SPDParser(self): diff --git a/redhawk/src/testing/tests/test_08_DeployerRequires.py b/redhawk/src/testing/tests/test_08_DeployerRequires.py index 91d7ae0dc..33e873fe6 100644 --- a/redhawk/src/testing/tests/test_08_DeployerRequires.py +++ b/redhawk/src/testing/tests/test_08_DeployerRequires.py @@ -55,7 +55,7 @@ def _createApp(self, appName, exc=None, appdir='device_requires'): try: sadpath = '/waveforms/'+ appdir + '/'+appName+'/'+appName+'.sad.xml' self._domMgr.installApplication(sadpath) - except Exception, e: + except Exception as e: return app appFact=None diff --git a/redhawk/src/testing/tests/test_08_EventChannelManager.py b/redhawk/src/testing/tests/test_08_EventChannelManager.py index 27e734792..cfed8234f 100644 --- a/redhawk/src/testing/tests/test_08_EventChannelManager.py +++ b/redhawk/src/testing/tests/test_08_EventChannelManager.py @@ -122,10 +122,10 @@ def test_ECM_RegId(self): self.eventFlag = False reg = CF.EventChannelManager.EventRegistration( channel_name = 'prop_Channel', reg_id = 'my_reg_id') ret_reg = self._domMgr._get_eventChannelMgr().registerResource( reg ) - self.assertEquals(reg.reg_id, ret_reg.reg.reg_id) + self.assertEqual(reg.reg_id, ret_reg.reg.reg_id) reg_2 = CF.EventChannelManager.EventRegistration( channel_name = 'prop_Channel', reg_id = '') ret_reg_2 = self._domMgr._get_eventChannelMgr().registerResource( reg_2 ) - self.assertNotEquals(reg_2.reg_id, ret_reg_2.reg.reg_id) + self.assertNotEqual(reg_2.reg_id, ret_reg_2.reg.reg_id) def test_ECM_CppComponent(self): @@ -140,11 +140,11 @@ def test_ECM_CppComponent(self): self.app = appFact.create(appFact._get_name(), [], []) self.assertNotEqual(self.app, None) mlimit, mxmit, mrecv = self._process_results( self.app ) - self.assertNotEquals(mlimit, None ) - self.assertNotEquals(mxmit, None ) - self.assertNotEquals(mrecv, None ) - self.assertEquals(mlimit, mxmit ) - self.assertEquals(mlimit, mrecv ) + self.assertNotEqual(mlimit, None ) + self.assertNotEqual(mxmit, None ) + self.assertNotEqual(mrecv, None ) + self.assertEqual(mlimit, mxmit ) + self.assertEqual(mlimit, mrecv ) def test_ECM_CppComponent_Callbacks(self): self.localEvent = threading.Event() @@ -158,11 +158,11 @@ def test_ECM_CppComponent_Callbacks(self): self.app = appFact.create(appFact._get_name(), [], []) self.assertNotEqual(self.app, None) mlimit, mxmit, mrecv = self._process_results( self.app , enablecb=True) - self.assertNotEquals(mlimit, None ) - self.assertNotEquals(mxmit, None ) - self.assertNotEquals(mrecv, None ) - self.assertEquals(mlimit, mxmit ) - self.assertEquals(mlimit, mrecv ) + self.assertNotEqual(mlimit, None ) + self.assertNotEqual(mxmit, None ) + self.assertNotEqual(mrecv, None ) + self.assertEqual(mlimit, mxmit ) + self.assertEqual(mlimit, mrecv ) def test_ECM_PythonComponent(self): @@ -176,11 +176,11 @@ def test_ECM_PythonComponent(self): self.assertNotEqual(appFact, None) self.app = appFact.create(appFact._get_name(), [], []) mlimit, mxmit, mrecv = self._process_results( self.app ) - self.assertNotEquals(mlimit, None ) - self.assertNotEquals(mxmit, None ) - self.assertNotEquals(mrecv, None ) - self.assertEquals(mlimit, mxmit ) - self.assertEquals(mlimit, mrecv ) + self.assertNotEqual(mlimit, None ) + self.assertNotEqual(mxmit, None ) + self.assertNotEqual(mrecv, None ) + self.assertEqual(mlimit, mxmit ) + self.assertEqual(mlimit, mrecv ) def test_ECM_PythonComponent_Callbacks(self): self.localEvent = threading.Event() @@ -194,11 +194,11 @@ def test_ECM_PythonComponent_Callbacks(self): self.app = appFact.create(appFact._get_name(), [], []) self.assertNotEqual(self.app, None) mlimit, mxmit, mrecv = self._process_results( self.app , enablecb=True) - self.assertNotEquals(mlimit, None ) - self.assertNotEquals(mxmit, None ) - self.assertNotEquals(mrecv, None ) - self.assertEquals(mlimit, mxmit ) - self.assertEquals(mlimit, mrecv ) + self.assertNotEqual(mlimit, None ) + self.assertNotEqual(mxmit, None ) + self.assertNotEqual(mrecv, None ) + self.assertEqual(mlimit, mxmit ) + self.assertEqual(mlimit, mrecv ) @scatest.requireJava def test_ECM_JavaComponent(self): @@ -213,11 +213,11 @@ def test_ECM_JavaComponent(self): self.app = appFact.create(appFact._get_name(), [], []) self.assertNotEqual(self.app, None) mlimit, mxmit, mrecv = self._process_results( self.app ) - self.assertNotEquals(mlimit, None ) - self.assertNotEquals(mxmit, None ) - self.assertNotEquals(mrecv, None ) - self.assertEquals(mlimit, mxmit ) - self.assertEquals(mlimit, mrecv ) + self.assertNotEqual(mlimit, None ) + self.assertNotEqual(mxmit, None ) + self.assertNotEqual(mrecv, None ) + self.assertEqual(mlimit, mxmit ) + self.assertEqual(mlimit, mrecv ) @scatest.requireJava @@ -233,11 +233,11 @@ def test_ECM_JavaComponent_Callbacks(self): self.app = appFact.create(appFact._get_name(), [], []) self.assertNotEqual(self.app, None) mlimit, mxmit, mrecv = self._process_results( self.app, enablecb=True ) - self.assertNotEquals(mlimit, None ) - self.assertNotEquals(mxmit, None ) - self.assertNotEquals(mrecv, None ) - self.assertEquals(mlimit, mxmit ) - self.assertEquals(mlimit, mrecv ) + self.assertNotEqual(mlimit, None ) + self.assertNotEqual(mxmit, None ) + self.assertNotEqual(mrecv, None ) + self.assertEqual(mlimit, mxmit ) + self.assertEqual(mlimit, mrecv ) class EventChannelManagerRedhawkUtils(scatest.CorbaTestCase): def setUp(self): @@ -448,31 +448,31 @@ def getDomainManager(self): # push some data and make sure it arrives em_pub.push(any.to_any(['hello'])) time.sleep(1) - self.assertEquals(em_sub.getData()._v, ['hello']) + self.assertEqual(em_sub.getData()._v, ['hello']) # release the subscriber and push some data and make sure it does not arrive em_sub.terminate() em_pub.push(any.to_any(['hello'])) time.sleep(1) - self.assertEquals(em_sub.getData(), None) + self.assertEqual(em_sub.getData(), None) # create a new subscriber and push some data and make sure the publisher is still ok em_sub_2 = mgr.Subscriber('IDM_Channel', 'hello_2') em_pub.push(any.to_any(['hello'])) time.sleep(1) - self.assertEquals(em_sub_2.getData()._v, ['hello']) + self.assertEqual(em_sub_2.getData()._v, ['hello']) # release the publisher and push some data and make sure it does not arrive em_pub_2 = mgr.Publisher('IDM_Channel', 'foo_2') em_pub.terminate() em_pub.push(any.to_any(['hello'])) time.sleep(1) - self.assertEquals(em_sub_2.getData(), None) + self.assertEqual(em_sub_2.getData(), None) # create a new publisher and push some data and make sure the subcriber is still ok em_pub_2.push(any.to_any(['hello'])) time.sleep(1) - self.assertEquals(em_sub_2.getData()._v, ['hello']) + self.assertEqual(em_sub_2.getData()._v, ['hello']) def test_ECM_RegisterConsumerNonExistentChannel(self): diff --git a/redhawk/src/testing/tests/test_08_Messaging.py b/redhawk/src/testing/tests/test_08_Messaging.py index cb55259b7..3b86a7ca4 100644 --- a/redhawk/src/testing/tests/test_08_Messaging.py +++ b/redhawk/src/testing/tests/test_08_Messaging.py @@ -55,10 +55,10 @@ class Foo(object): def __init__(self, **kw): """Construct an initialized instance of this struct definition""" - for classattr in type(self).__dict__.itervalues(): + for classattr in type(self).__dict__.values(): if isinstance(classattr, (simple_property, simpleseq_property)): classattr.initialize(self) - for k,v in kw.items(): + for k,v in list(kw.items()): setattr(self,k,v) def __str__(self): @@ -85,10 +85,10 @@ class MyMsg(object): def __init__(self, **kw): """Construct an initialized instance of this struct definition""" - for classattr in type(self).__dict__.itervalues(): + for classattr in type(self).__dict__.values(): if isinstance(classattr, (simple_property, simpleseq_property)): classattr.initialize(self) - for k,v in kw.items(): + for k,v in list(kw.items()): setattr(self,k,v) def __str__(self): @@ -159,7 +159,7 @@ def test_MessageMarshalCpp(self): except: pass number_warnings = log_contents.count('Maximum message size exceeded') - self.assertEquals(number_warnings, 2) + self.assertEqual(number_warnings, 2) self.assertEqual(self.messages_passed, 101) @scatest.requireJava @@ -198,8 +198,8 @@ def test_MessageMarshalJava(self): except: pass - self.assertEquals(number_warnings_1, 1) - self.assertEquals(number_warnings_2, 3) + self.assertEqual(number_warnings_1, 1) + self.assertEqual(number_warnings_2, 3) self.assertEqual(self.messages_passed, 101) @@ -230,9 +230,9 @@ def test_MessageMarshalPython(self): except: pass number_warnings = log_contents.count('Could not deliver the message. Maximum message size exceeded, trying individually') - self.assertEquals(number_warnings, 1) + self.assertEqual(number_warnings, 1) number_warnings = log_contents.count('Maximum message size exceeded') - self.assertEquals(number_warnings, 3) + self.assertEqual(number_warnings, 3) self.assertEqual(self.messages_passed, 101) class MessagingCompatibilityTest(scatest.CorbaTestCase): @@ -268,27 +268,27 @@ def test_MessagingPython(self): if self.rcv_msg != None: break _now = time.time() - self.assertEquals(self.rcv_msg.a, 'A') - self.assertEquals(self.rcv_msg.b, 'B') - self.assertEquals(self.rcv_msg.c, 'C') + self.assertEqual(self.rcv_msg.a, 'A') + self.assertEqual(self.rcv_msg.b, 'B') + self.assertEqual(self.rcv_msg.c, 'C') self.rcv_msg = None src.sendMessage({'a':'A','b':'B','c':'C'}) while _now - _begin < 5: if self.rcv_msg != None: break _now = time.time() - self.assertEquals(self.rcv_msg.a, 'A') - self.assertEquals(self.rcv_msg.b, 'B') - self.assertEquals(self.rcv_msg.c, 'C') + self.assertEqual(self.rcv_msg.a, 'A') + self.assertEqual(self.rcv_msg.b, 'B') + self.assertEqual(self.rcv_msg.c, 'C') self.rcv_msg = None src.sendMessage({'a':'A','c':'C'}) while _now - _begin < 5: if self.rcv_msg != None: break _now = time.time() - self.assertEquals(self.rcv_msg.a, 'A') - self.assertEquals(self.rcv_msg.b, None) - self.assertEquals(self.rcv_msg.c, 'C') + self.assertEqual(self.rcv_msg.a, 'A') + self.assertEqual(self.rcv_msg.b, None) + self.assertEqual(self.rcv_msg.c, 'C') self.rcv_msg = None def test_MessagingCpp(self): @@ -305,27 +305,27 @@ def test_MessagingCpp(self): if self.rcv_msg != None: break _now = time.time() - self.assertEquals(self.rcv_msg.a, 'A') - self.assertEquals(self.rcv_msg.b, 'B') - self.assertEquals(self.rcv_msg.c, 'C') + self.assertEqual(self.rcv_msg.a, 'A') + self.assertEqual(self.rcv_msg.b, 'B') + self.assertEqual(self.rcv_msg.c, 'C') self.rcv_msg = None src.sendMessage({'a':'A','b':'B','c':'C'}) while _now - _begin < 5: if self.rcv_msg != None: break _now = time.time() - self.assertEquals(self.rcv_msg.a, 'A') - self.assertEquals(self.rcv_msg.b, 'B') - self.assertEquals(self.rcv_msg.c, 'C') + self.assertEqual(self.rcv_msg.a, 'A') + self.assertEqual(self.rcv_msg.b, 'B') + self.assertEqual(self.rcv_msg.c, 'C') self.rcv_msg = None src.sendMessage({'a':'A','c':'C'}) while _now - _begin < 5: if self.rcv_msg != None: break _now = time.time() - self.assertEquals(self.rcv_msg.a, 'A') - self.assertEquals(self.rcv_msg.b, '') - self.assertEquals(self.rcv_msg.c, 'C') + self.assertEqual(self.rcv_msg.a, 'A') + self.assertEqual(self.rcv_msg.b, '') + self.assertEqual(self.rcv_msg.c, 'C') self.rcv_msg = None @scatest.requireJava @@ -343,27 +343,27 @@ def test_MessagingJava(self): if self.rcv_msg != None: break _now = time.time() - self.assertEquals(self.rcv_msg.a, 'A') - self.assertEquals(self.rcv_msg.b, 'B') - self.assertEquals(self.rcv_msg.c, 'C') + self.assertEqual(self.rcv_msg.a, 'A') + self.assertEqual(self.rcv_msg.b, 'B') + self.assertEqual(self.rcv_msg.c, 'C') self.rcv_msg = None src.sendMessage({'a':'A','b':'B','c':'C'}) while _now - _begin < 5: if self.rcv_msg != None: break _now = time.time() - self.assertEquals(self.rcv_msg.a, 'A') - self.assertEquals(self.rcv_msg.b, 'B') - self.assertEquals(self.rcv_msg.c, 'C') + self.assertEqual(self.rcv_msg.a, 'A') + self.assertEqual(self.rcv_msg.b, 'B') + self.assertEqual(self.rcv_msg.c, 'C') self.rcv_msg = None src.sendMessage({'a':'A','c':'C'}) while _now - _begin < 5: if self.rcv_msg != None: break _now = time.time() - self.assertEquals(self.rcv_msg.a, 'A') - self.assertEquals(self.rcv_msg.b, None) - self.assertEquals(self.rcv_msg.c, 'C') + self.assertEqual(self.rcv_msg.a, 'A') + self.assertEqual(self.rcv_msg.b, None) + self.assertEqual(self.rcv_msg.c, 'C') self.rcv_msg = None def __MessageCycle(self, comp): @@ -522,13 +522,13 @@ def test_EventDevicePortConnection(self): time.sleep(2) components = app._get_registeredComponents() for component in components: - print component.componentObject._get_identifier() + print(component.componentObject._get_identifier()) if 'MessageReceiverPy_1' in component.componentObject._get_identifier(): stuff = component.componentObject.query([]) recval = any.from_any(stuff[0].value) - self.assertEquals(6, len(recval)) + self.assertEqual(6, len(recval)) for val in recval: - self.assertEquals('test_message' in val, True) + self.assertEqual('test_message' in val, True) def test_QueryablePortPython(self): self._devBooter, self._devMgr = self.launchDeviceManager("/nodes/test_BasicTestDevice_node/DeviceManager.dcd.xml", self._domMgr) diff --git a/redhawk/src/testing/tests/test_08_MessagingCpp.py b/redhawk/src/testing/tests/test_08_MessagingCpp.py index f75310c4b..b65e1cac7 100644 --- a/redhawk/src/testing/tests/test_08_MessagingCpp.py +++ b/redhawk/src/testing/tests/test_08_MessagingCpp.py @@ -72,13 +72,13 @@ def test_EventDevicePortConnectionFromPython(self): time.sleep(2) components = app._get_registeredComponents() for component in components: - print component.componentObject._get_identifier() + print(component.componentObject._get_identifier()) if 'DCE:b1fe6cc1-2562-4878-9a69-f191f89a6ef8' in component.componentObject._get_identifier(): stuff = component.componentObject.query([]) recval = any.from_any(stuff[0].value) - self.assertEquals(6, len(recval)) + self.assertEqual(6, len(recval)) for val in recval: - self.assertEquals('test_message' in val, True) + self.assertEqual('test_message' in val, True) app.releaseObject() # kill producer/consumer def test_EventDevicePortConnectionCppOnly(self): @@ -96,13 +96,13 @@ def test_EventDevicePortConnectionCppOnly(self): time.sleep(2) components = app._get_registeredComponents() for component in components: - print component.componentObject._get_identifier() + print(component.componentObject._get_identifier()) if 'MessageReceiverCpp_1' in component.componentObject._get_identifier(): stuff = component.componentObject.query([]) recval = any.from_any(stuff[0].value) - self.assertEquals(6, len(recval)) + self.assertEqual(6, len(recval)) for val in recval: - self.assertEquals('test_message' in val, True) + self.assertEqual('test_message' in val, True) app.releaseObject() # kill producer/consumer def test_QueryablePortCpp(self): diff --git a/redhawk/src/testing/tests/test_08_MessagingJava.py b/redhawk/src/testing/tests/test_08_MessagingJava.py index 4565e50f9..7e64f2e8a 100644 --- a/redhawk/src/testing/tests/test_08_MessagingJava.py +++ b/redhawk/src/testing/tests/test_08_MessagingJava.py @@ -73,13 +73,13 @@ def test_EventDevicePortConnectionFromPython(self): time.sleep(2) components = app._get_registeredComponents() for component in components: - print component.componentObject._get_identifier() + print(component.componentObject._get_identifier()) if 'DCE:b1fe6cc1-2562-4878-9a69-f191f89a6ef8' in component.componentObject._get_identifier(): stuff = component.componentObject.query([]) recval = any.from_any(stuff[0].value) - self.assertEquals(6, len(recval)) + self.assertEqual(6, len(recval)) for val in recval: - self.assertEquals('test_message' in val, True) + self.assertEqual('test_message' in val, True) app.releaseObject() # kill producer/consumer def test_EventDevicePortConnectionJavaOnly(self): @@ -97,13 +97,13 @@ def test_EventDevicePortConnectionJavaOnly(self): app.start() # kick off events time.sleep(2) for component in components: - print component.componentObject._get_identifier() + print(component.componentObject._get_identifier()) if 'EventReceiveJava_1' in component.componentObject._get_identifier(): stuff = component.componentObject.query([CF.DataType("received_messages", any.to_any(None))]) recval = any.from_any(stuff[0].value) - self.assertEquals(6, len(recval)) + self.assertEqual(6, len(recval)) for val in recval: - self.assertEquals('test_message' in val, True) + self.assertEqual('test_message' in val, True) app.releaseObject() # kill producer/consumer def test_QueryablePortJava(self): diff --git a/redhawk/src/testing/tests/test_08_ODMEvents.py b/redhawk/src/testing/tests/test_08_ODMEvents.py index f47b723c1..8f6638d6c 100644 --- a/redhawk/src/testing/tests/test_08_ODMEvents.py +++ b/redhawk/src/testing/tests/test_08_ODMEvents.py @@ -24,7 +24,7 @@ from ossie.cf import CF import CosNaming import threading -import commands +import subprocess import CosEventComm,CosEventComm__POA import CosEventChannelAdmin, CosEventChannelAdmin__POA from ossie.cf import StandardEvent @@ -215,7 +215,7 @@ def setUp(self): domBooter, self._domMgr = self.launchDomainManager() devBooter, self._devMgr = self.launchDeviceManager("/nodes/test_ExecutableDevice_node/DeviceManager.dcd.xml") self._rhDom = redhawk.attach(scatest.getTestDomainName()) - self.assertEquals(len(self._rhDom._get_applications()), 0) + self.assertEqual(len(self._rhDom._get_applications()), 0) def tearDown(self): # Do all application shutdown before calling the base class tearDown, or failures will probably occur. @@ -233,12 +233,12 @@ def _waitFirstAddEvent(): if comp.query([ CF.DataType( id='num_add_events', value=any.to_any(None)) ])[0].value._v: return True else: - print 'got num_add_events: 0' + print('got num_add_events: 0') self.waitPredicate(_waitFirstAddEvent, 1) num_add_events = comp.query([ CF.DataType( id='num_add_events', value=any.to_any(None)) ])[0].value._v num_remove_events = comp.query([ CF.DataType( id='num_remove_events', value=any.to_any(None)) ])[0].value._v - self.assertEquals(num_add_events, 1) # the waveform - self.assertEquals(num_remove_events, 0) + self.assertEqual(num_add_events, 1) # the waveform + self.assertEqual(num_remove_events, 0) _, self._devMgr_2 = self.launchDeviceManager("/nodes/DomainEventReader/DeviceManager.dcd.xml") self._devMgr_2.shutdown() @@ -246,6 +246,6 @@ def _waitFirstAddEvent(): # Count Add and Remove events after starting and stopping 2nd device manager and device. num_add_events = comp.query([ CF.DataType( id='num_add_events', value=any.to_any(None)) ])[0].value._v num_remove_events = comp.query([ CF.DataType( id='num_remove_events', value=any.to_any(None)) ])[0].value._v - self.assertEquals(num_add_events, 3) # the waveform, the 2nd device manager, the 2nd device - self.assertEquals(num_remove_events, 2) # the 2nd device manager, the 2nd device + self.assertEqual(num_add_events, 3) # the waveform, the 2nd device manager, the 2nd device + self.assertEqual(num_remove_events, 2) # the 2nd device manager, the 2nd device diff --git a/redhawk/src/testing/tests/test_08_PropertyChangeEvents.py b/redhawk/src/testing/tests/test_08_PropertyChangeEvents.py index 380e9d29e..e3c4d9a03 100644 --- a/redhawk/src/testing/tests/test_08_PropertyChangeEvents.py +++ b/redhawk/src/testing/tests/test_08_PropertyChangeEvents.py @@ -24,7 +24,7 @@ from ossie.cf import CF import CosNaming import threading -import commands +import subprocess import ossie.properties as properties import CosEventComm,CosEventComm__POA import CosEventChannelAdmin, CosEventChannelAdmin__POA @@ -58,25 +58,25 @@ def eventReceived(self, data): return props = properties.props_to_dict(dataEvent.properties) - if props.has_key('myprop'): + if 'myprop' in props: self.received_myprop = True if self.successfullPropChange == None: self.successfullPropChange = True - if props.has_key('anotherprop'): + if 'anotherprop' in props: self.received_anotherprop = True if self.successfullPropChange == None: self.successfullPropChange = True - if props.has_key('seqprop'): + if 'seqprop' in props: if props['seqprop'] == [1.0, 2.0, 3.0]: self.received_seqprop = True if self.successfullPropChange == None: self.successfullPropChange = True - if props.has_key('some_struct') and props['some_struct'] != None: + if 'some_struct' in props and props['some_struct'] != None: if props['some_struct'] == {"some_number": 3.0, "some_string": "hello"}: self.received_some_struct = True if self.successfullPropChange == None: self.successfullPropChange = True - if props.has_key('structseq_prop'): + if 'structseq_prop' in props: if len(props['structseq_prop']) == 1: if props['structseq_prop'][0] == {"some_number": 7.0, "some_string": "second message"}: self.received_structseq_prop = True diff --git a/redhawk/src/testing/tests/test_08_PropertyChangeListener.py b/redhawk/src/testing/tests/test_08_PropertyChangeListener.py index 0bf1f5ecb..064aaba4e 100644 --- a/redhawk/src/testing/tests/test_08_PropertyChangeListener.py +++ b/redhawk/src/testing/tests/test_08_PropertyChangeListener.py @@ -24,7 +24,7 @@ from ossie.cf import CF, CF__POA import CosNaming import threading -import commands +import subprocess import ossie.properties as properties import CosEventComm,CosEventComm__POA import CosEventChannelAdmin, CosEventChannelAdmin__POA @@ -86,7 +86,7 @@ def _test_PropertyChangeListener(self, app_name, comp_name): c=None a=self.dom.apps[0] - c=filter( lambda c : c.name == comp_name, a.comps )[0] + c=[c for c in a.comps if c.name == comp_name][0] self.assertNotEqual(c,None) # create listener instance @@ -106,14 +106,14 @@ def _test_PropertyChangeListener(self, app_name, comp_name): time.sleep(.6) # wait for listener to receive notice # now check results - self.assertEquals(self.count,4) + self.assertEqual(self.count,4) # change unmonitored property c.prop2 = 100 time.sleep(.6) # wait for listener to receive notice # now check results - self.assertEquals(self.count,4) + self.assertEqual(self.count,4) # unregister c.unregisterPropertyListener( regid ) @@ -122,7 +122,7 @@ def _test_PropertyChangeListener(self, app_name, comp_name): time.sleep(.6) # wait for listener to receive notice # now check results, should be same... - self.assertEquals(self.count,4) + self.assertEqual(self.count,4) self.assertRaises( CF.InvalidIdentifier, c.unregisterPropertyListener, regid ) @@ -156,9 +156,9 @@ def test_PropertyChangeListener_APP(self): c=None a=self.dom.apps[0] # component with external property - c=filter( lambda c : c.name == 'PropertyChange_C1', a.comps )[0] + c=[c for c in a.comps if c.name == 'PropertyChange_C1'][0] # assembly controller - c2=filter( lambda c : c.name == 'PropertyChange_P1', a.comps )[0] + c2=[c for c in a.comps if c.name == 'PropertyChange_P1'][0] self.assertNotEqual(a,None) self.assertNotEqual(c,None) self.assertNotEqual(c2,None) @@ -183,7 +183,7 @@ def test_PropertyChangeListener_APP(self): time.sleep(.6) # wait for listener to receive notice # now check results - self.assertEquals(self.count,8) + self.assertEqual(self.count,8) # change unmonitored property c.prop2 = 100 @@ -191,7 +191,7 @@ def test_PropertyChangeListener_APP(self): time.sleep(.6) # wait for listener to receive notice # now check results - self.assertEquals(self.count,8) + self.assertEqual(self.count,8) # unregister a.unregisterPropertyListener( regid ) @@ -201,7 +201,7 @@ def test_PropertyChangeListener_APP(self): time.sleep(.6) # wait for listener to receive notice # now check results, should be same... - self.assertEquals(self.count,8) + self.assertEqual(self.count,8) self.assertRaises( CF.InvalidIdentifier, a.unregisterPropertyListener, regid ) @@ -280,7 +280,7 @@ def _test_PropertyChangeListener_EC_Comps(self, app_name, comp_name): c=None a=self.dom.apps[0] - c=filter( lambda c : c.name == comp_name, a.comps )[0] + c=[c for c in a.comps if c.name == comp_name][0] self.assertNotEqual(c,None) # check if channel is valid @@ -341,9 +341,9 @@ def test_PropertyChangeListener_EC_APP(self): c=None a=self.dom.apps[0] # component with external property - c=filter( lambda c : c.name == 'PropertyChange_C1', a.comps )[0] + c=[c for c in a.comps if c.name == 'PropertyChange_C1'][0] # assembly controller - c2=filter( lambda c : c.name == 'PropertyChange_P1', a.comps )[0] + c2=[c for c in a.comps if c.name == 'PropertyChange_P1'][0] self.assertNotEqual(a,None) self.assertNotEqual(c,None) self.assertNotEqual(c2,None) diff --git a/redhawk/src/testing/tests/test_08_SADConnections.py b/redhawk/src/testing/tests/test_08_SADConnections.py index c1995fea2..4f14ade44 100644 --- a/redhawk/src/testing/tests/test_08_SADConnections.py +++ b/redhawk/src/testing/tests/test_08_SADConnections.py @@ -171,7 +171,7 @@ def test_DeviceUsedByThisComponent(self): self.assertEqual(len(ids), 1) usedDevId = any.from_any(ids[0].value).split('/')[0] devIds = [dev._get_identifier() for dev in self._devMgr._get_registeredDevices()] - self.assert_(usedDevId in devIds) + self.assertTrue(usedDevId in devIds) def test_ExternalPorts(self): self._createApp('ExternalPort') @@ -345,7 +345,7 @@ def test_ExternalPorts_getPortSet(self): component = self._getComponents()['PortTest2'] plist = component.getPortSet() - pinfo = filter(lambda x : x.name == 'resource_out', plist) + pinfo = [x for x in plist if x.name == 'resource_out'] nports = len(plist) self.assertEqual(nports, 7 ) self.assertEqual(pinfo[0].name, 'resource_out') diff --git a/redhawk/src/testing/tests/test_08_SADProperties.py b/redhawk/src/testing/tests/test_08_SADProperties.py index 5c7a0a482..a587d57b0 100644 --- a/redhawk/src/testing/tests/test_08_SADProperties.py +++ b/redhawk/src/testing/tests/test_08_SADProperties.py @@ -96,10 +96,10 @@ def test_DelegateSBExternalProps(self): foo1=app.comps[1] self.assertNotEqual(foo10, None) self.assertNotEqual(foo1, None) - self.assertEquals(foo1.test_float, app.sometest) + self.assertEqual(foo1.test_float, app.sometest) app.sometest = foo10.test_float*10 - self.assertEquals(foo1.test_float, foo10.test_float*10) - self.assertEquals(foo1.test_float, app.sometest) + self.assertEqual(foo1.test_float, foo10.test_float*10) + self.assertEqual(foo1.test_float, app.sometest) def test_DelegateExternalProps(self): dom=redhawk.attach(scatest.getTestDomainName()) @@ -117,11 +117,11 @@ def test_DelegateExternalProps(self): foo1=app.comps[1] self.assertNotEqual(foo10, None) self.assertNotEqual(foo1, None) - self.assertEquals(foo1.test_float, app.sometest) + self.assertEqual(foo1.test_float, app.sometest) prop = CF.DataType(id='sometest', value=any.to_any(foo10.test_float*10)) app.ref.configure([prop]) - self.assertEquals(foo1.test_float, foo10.test_float*10) - self.assertEquals(foo1.test_float, app.sometest) + self.assertEqual(foo1.test_float, foo10.test_float*10) + self.assertEqual(foo1.test_float, app.sometest) def test_ExternalProps(self): self._createApp("") @@ -138,7 +138,7 @@ def test_ExternalProps(self): # Make sure cppProp was set cppProp = CF.DataType(id="DCE:9d1e3621-27ca-4cd0-909d-90b7448b8f71", value=any.to_any(None)) retProp = self._app.query([cppProp])[0] - self.assertEquals(retProp.value.value(), -1) + self.assertEqual(retProp.value.value(), -1) cppProp = CF.DataType(id="ext_prop_long", value=CORBA.Any(CORBA.TC_long, -111)) pythonProp= CF.DataType(id="ext_prop_string", value=CORBA.Any(CORBA.TC_string, "hello world")) @@ -157,16 +157,16 @@ def test_ExternalProps(self): found = 0 props = self._app.query([]) # Should have 3 external properties and 3 AC properties (the 4th AC prop is promoted as external) - self.assertEquals(len(props), number_props) + self.assertEqual(len(props), number_props) for p in props: if p.id == "ext_prop_long": - self.assertEquals(p.value.value(), -111) + self.assertEqual(p.value.value(), -111) found += 1 elif p.id == "ext_prop_string": - self.assertEquals(p.value.value(), "hello world") + self.assertEqual(p.value.value(), "hello world") found += 1 elif p.id == "ext_prop_ulong": - self.assertEquals(p.value.value(), 111) + self.assertEqual(p.value.value(), 111) found += 1 # Make sure all 3 external prop IDs were found if not found == to_find: @@ -177,7 +177,7 @@ def test_ExternalProps(self): self._app.configure([cppProp]) cppProp = CF.DataType(id="DCE:4e7c1977-5f53-4061-bae7-cb8c1072f4b7", value=any.to_any(None)) retProp = self._app.query([cppProp])[0] - self.assertEquals(retProp.value.value(), "Hello world") + self.assertEqual(retProp.value.value(), "Hello world") # Can not configure/query other components internal props pythonProp = CF.DataType(id="test_float", value=CORBA.Any(CORBA.TC_float, 1.11)) @@ -197,10 +197,10 @@ def test_ExternalProps(self): if java_support: pythonRet = self._app.query([pythonProp, javaProp])[0] javaRet = self._app.query([pythonProp, javaProp])[1] - self.assertEquals(javaRet.value.value(), 222) + self.assertEqual(javaRet.value.value(), 222) else: pythonRet = self._app.query([pythonProp])[0] - self.assertEquals(pythonRet.value.value(), "HELLO WORLD") + self.assertEqual(pythonRet.value.value(), "HELLO WORLD") # Individual queries of mix of AC & external properties cppProp = CF.DataType(id="ext_prop_long", value=CORBA.Any(CORBA.TC_long, -333)) @@ -227,11 +227,11 @@ def test_ExternalProps(self): cppRet2 = self._app.query([pythonProp, cppPropInternal, cppProp])[1] cppRet = self._app.query([pythonProp, cppPropInternal, cppProp])[2] - self.assertEquals(pythonRet.value.value(), "hello world2") + self.assertEqual(pythonRet.value.value(), "hello world2") if java_support: - self.assertEquals(javaRet.value.value(), 333) - self.assertEquals(cppRet2.value.value(), "HELLO WORLD2") - self.assertEquals(cppRet.value.value(), -333) + self.assertEqual(javaRet.value.value(), 333) + self.assertEqual(cppRet2.value.value(), "HELLO WORLD2") + self.assertEqual(cppRet.value.value(), -333) def test_DuplicateProps(self): # Makes sure that duplicate external property names throws an error @@ -248,12 +248,12 @@ def test_externalAndACProp(self): cppPropQuery = CF.DataType(id="DCE:9d1e3621-27ca-4cd0-909d-90b7448b8f71", value=any.to_any(None)) self._app.configure([cppProp]) - self.assertEquals(self._app.query([cppPropQuery])[0].value.value(), -22) - self.assertEquals(self._app.query([cppPropQueryExt])[0].value.value(), -22) + self.assertEqual(self._app.query([cppPropQuery])[0].value.value(), -22) + self.assertEqual(self._app.query([cppPropQueryExt])[0].value.value(), -22) self._app.configure([cppPropExt]) - self.assertEquals(self._app.query([cppPropQuery])[0].value.value(), -11) - self.assertEquals(self._app.query([cppPropQueryExt])[0].value.value(), -11) + self.assertEqual(self._app.query([cppPropQuery])[0].value.value(), -11) + self.assertEqual(self._app.query([cppPropQueryExt])[0].value.value(), -11) def test_externalAcConflict(self): # External property name that is the same as an Assembly Controller property should throw an error @@ -296,11 +296,11 @@ def test_ExternalPropOverride(self): res = app.query([]) for r in res: if r.id == 'ext_prop_ulong': - self.assertEquals(123456, r.value.value()) + self.assertEqual(123456, r.value.value()) elif r.id == 'DCE:b8f43ac8-26b5-40b3-9102-d127b84f9e4b': - self.assertEquals('Override_value', r.value.value()) + self.assertEqual('Override_value', r.value.value()) elif r.id == 'DCE:0a3663dd-7747-4b7f-b9cb-20f1e52e7089': - self.assertEquals(98765, r.value.value()) + self.assertEqual(98765, r.value.value()) elif r.id == 'test_float': self.fail('The property "test_float" was not marked as external') @@ -312,5 +312,5 @@ def test_ExternalPropOverride(self): res = comp.componentObject.query([]) for r in res: if r.id == 'test_float': - self.assertAlmostEquals(1.234, r.value.value()) - self.assertNotAlmostEquals(99.9, r.value.value()) + self.assertAlmostEqual(1.234, r.value.value()) + self.assertNotAlmostEqual(99.9, r.value.value()) diff --git a/redhawk/src/testing/tests/test_08_SADUsesDevice.py b/redhawk/src/testing/tests/test_08_SADUsesDevice.py index dcd9175fe..f13cc8b20 100644 --- a/redhawk/src/testing/tests/test_08_SADUsesDevice.py +++ b/redhawk/src/testing/tests/test_08_SADUsesDevice.py @@ -56,7 +56,7 @@ def _checkSimplePropValue(self, device_name, prop_id, expected_value): for dev in self._devMgr._get_registeredDevices(): if dev._get_label() == device_name: allocRes = dev.query([prop]) - self.assertEquals(allocRes[0].value.value(), expected_value) + self.assertEqual(allocRes[0].value.value(), expected_value) def test_Matching(self): appFact = self.createAppFact("Eq") @@ -110,10 +110,10 @@ def test_StructExternal(self): for dev in self._devMgr._get_registeredDevices(): if dev._get_label() == 'BasicTestDevice1': allocRes = dev.query([prop]) - self.assertEquals(allocRes[0].value.value()[0].value.value(), 90) - self.assertAlmostEquals(allocRes[0].value.value()[1].value.value(), 0.9) - self.assertEquals(allocRes[0].value.value()[2].value.value()[0], 45) - self.assertEquals(allocRes[0].value.value()[2].value.value()[1], 450) + self.assertEqual(allocRes[0].value.value()[0].value.value(), 90) + self.assertAlmostEqual(allocRes[0].value.value()[1].value.value(), 0.9) + self.assertEqual(allocRes[0].value.value()[2].value.value()[0], 45) + self.assertEqual(allocRes[0].value.value()[2].value.value()[1], 450) # Make sure values are deallocated on release self._app.releaseObject() @@ -122,10 +122,10 @@ def test_StructExternal(self): for dev in self._devMgr._get_registeredDevices(): if dev._get_label() == 'BasicTestDevice1': allocRes = dev.query([prop]) - self.assertEquals(allocRes[0].value.value()[0].value.value(), 100) - self.assertAlmostEquals(allocRes[0].value.value()[1].value.value(), 1.0) - self.assertEquals(allocRes[0].value.value()[2].value.value()[0], 50) - self.assertEquals(allocRes[0].value.value()[2].value.value()[1], 500) + self.assertEqual(allocRes[0].value.value()[0].value.value(), 100) + self.assertAlmostEqual(allocRes[0].value.value()[1].value.value(), 1.0) + self.assertEqual(allocRes[0].value.value()[2].value.value()[0], 50) + self.assertEqual(allocRes[0].value.value()[2].value.value()[1], 500) def test_connections(self): appFact = self.createAppFact("ConnectionDevProvides") @@ -146,11 +146,11 @@ def test_externalFail(self): allocRes = dev.query([prop]) elif dev._get_label() == "SADUsesDevice_1": allocRes2 = dev.query([prop2]) - self.assertEquals(allocRes[0].value.value()[0].value.value(), 100) - self.assertAlmostEquals(allocRes[0].value.value()[1].value.value(), 1.0) - self.assertEquals(allocRes[0].value.value()[2].value.value()[0], 50) - self.assertEquals(allocRes[0].value.value()[2].value.value()[1], 500) - self.assertEquals(allocRes2[0].value.value(), 10) + self.assertEqual(allocRes[0].value.value()[0].value.value(), 100) + self.assertAlmostEqual(allocRes[0].value.value()[1].value.value(), 1.0) + self.assertEqual(allocRes[0].value.value()[2].value.value()[0], 50) + self.assertEqual(allocRes[0].value.value()[2].value.value()[1], 500) + self.assertEqual(allocRes2[0].value.value(), 10) def test_math(self): diff --git a/redhawk/src/testing/tests/test_09_DomainPersistence.py b/redhawk/src/testing/tests/test_09_DomainPersistence.py index acf63a92c..375b73cd2 100644 --- a/redhawk/src/testing/tests/test_09_DomainPersistence.py +++ b/redhawk/src/testing/tests/test_09_DomainPersistence.py @@ -227,22 +227,22 @@ def test_BasicOperation(self): # We have to compare elements individually since newDevices == origDevices even when the contents are identical self.assertEqual(len(newDevices), len(origDevices)) - for x in xrange(len(newDevices)): + for x in range(len(newDevices)): self.assertEqual(newDevices[x].componentId, origDevices[x].componentId) self.assertEqual(newDevices[x].assignedDeviceId, origDevices[x].assignedDeviceId) self.assertEqual(len(newProcessIds), len(origProcessIds)) - for x in xrange(len(newProcessIds)): + for x in range(len(newProcessIds)): self.assertEqual(newProcessIds[x].componentId, origProcessIds[x].componentId) self.assertEqual(newProcessIds[x].processId, origProcessIds[x].processId) self.assertEqual(len(newImplementations), len(origImplementations)) - for x in xrange(len(newImplementations)): + for x in range(len(newImplementations)): self.assertEqual(newImplementations[x].componentId, origImplementations[x].componentId) self.assertEqual(newImplementations[x].elementId, origImplementations[x].elementId) self.assertEqual(len(newNamingContexts), len(origNamingContexts)) - for x in xrange(len(newNamingContexts)): + for x in range(len(newNamingContexts)): self.assertEqual(newNamingContexts[x].componentId, origNamingContexts[x].componentId) self.assertEqual(newNamingContexts[x].elementId, origNamingContexts[x].elementId) @@ -250,7 +250,7 @@ def test_BasicOperation(self): # restored. newQuery = app.query([]) self.assertEqual(len(newQuery), len(origQuery)) - for x in xrange(len(newQuery)): + for x in range(len(newQuery)): self.assertEqual(newQuery[x].id, origQuery[x].id) self.assertEqual(newQuery[x].value._v, origQuery[x].value._v) # @@ -322,7 +322,7 @@ def test_EventAppPortConnectionSIGKILL(self): initial_connection_ids = [] for _cc in initial_connections: initial_connection_ids.append(_cc.connectionRecordId) - self.assertEquals(len(current_connection_ids), len(initial_connection_ids)) + self.assertEqual(len(current_connection_ids), len(initial_connection_ids)) for _cc in initial_connection_ids: self.assertTrue(_cc in current_connection_ids) @@ -337,10 +337,10 @@ def test_EventAppPortConnectionSIGKILL(self): self.assertEqual(self.eventFlag, True) _channels = eventChannelMgr.listChannels(100)[0] - self.assertEquals(len(_channel_registrations), len(_channels)) + self.assertEqual(len(_channel_registrations), len(_channels)) for _channel in _channels: - self.assertTrue(_channel_registrations.has_key(_channel.channel_name)) - self.assertEquals(_channel_registrations[_channel.channel_name], _channel.reg_count) + self.assertTrue(_channel.channel_name in _channel_registrations) + self.assertEqual(_channel_registrations[_channel.channel_name], _channel.reg_count) _channel_registrations[_channel.channel_name] = _channel.reg_count self.eventFlag = False @@ -395,7 +395,7 @@ def test_EventAppPortConnectionSIGTERM(self): initial_connection_ids = [] for _cc in initial_connections: initial_connection_ids.append(_cc.connectionRecordId) - self.assertEquals(len(current_connection_ids), len(initial_connection_ids)) + self.assertEqual(len(current_connection_ids), len(initial_connection_ids)) for _cc in initial_connection_ids: self.assertTrue(_cc in current_connection_ids) @@ -409,10 +409,10 @@ def test_EventAppPortConnectionSIGTERM(self): self.assertEqual(self.eventFlag, True) _channels = eventChannelMgr.listChannels(100)[0] - self.assertEquals(len(_channel_registrations), len(_channels)) + self.assertEqual(len(_channel_registrations), len(_channels)) for _channel in _channels: - self.assertTrue(_channel_registrations.has_key(_channel.channel_name)) - self.assertEquals(_channel_registrations[_channel.channel_name], _channel.reg_count) + self.assertTrue(_channel.channel_name in _channel_registrations) + self.assertEqual(_channel_registrations[_channel.channel_name], _channel.reg_count) _channel_registrations[_channel.channel_name] = _channel.reg_count self.eventFlag = False @@ -467,7 +467,7 @@ def test_EventAppPortConnectionSIGQUIT(self): initial_connection_ids = [] for _cc in initial_connections: initial_connection_ids.append(_cc.connectionRecordId) - self.assertEquals(len(current_connection_ids), len(initial_connection_ids)) + self.assertEqual(len(current_connection_ids), len(initial_connection_ids)) for _cc in initial_connection_ids: self.assertTrue(_cc in current_connection_ids) @@ -482,10 +482,10 @@ def test_EventAppPortConnectionSIGQUIT(self): _channels = eventChannelMgr.listChannels(100)[0] - self.assertEquals(len(_channel_registrations), len(_channels)) + self.assertEqual(len(_channel_registrations), len(_channels)) for _channel in _channels: - self.assertTrue(_channel_registrations.has_key(_channel.channel_name)) - self.assertEquals(_channel_registrations[_channel.channel_name], _channel.reg_count) + self.assertTrue(_channel.channel_name in _channel_registrations) + self.assertEqual(_channel_registrations[_channel.channel_name], _channel.reg_count) _channel_registrations[_channel.channel_name] = _channel.reg_count self.eventFlag = False @@ -716,7 +716,7 @@ def test_ApplicationUsesDevice(self): for dev in devMgr._get_registeredDevices(): if dev._get_label() == 'SADUsesDevice_1': allocRes = dev.query([prop]) - self.assertEquals(allocRes[0].value.value(), 8) + self.assertEqual(allocRes[0].value.value(), 8) # Kill the domainMgr os.kill(self._nb_domMgr.pid, signal.SIGTERM) @@ -734,7 +734,7 @@ def test_ApplicationUsesDevice(self): for dev in devMgr._get_registeredDevices(): if dev._get_label() == 'SADUsesDevice_1': allocRes = dev.query([prop]) - self.assertEquals(allocRes[0].value.value(), 8) + self.assertEqual(allocRes[0].value.value(), 8) # Release app to free up device capacity to make sure usesdevicecapacties was properly restored newApp = newDomMgr._get_applications()[0] @@ -743,7 +743,7 @@ def test_ApplicationUsesDevice(self): for dev in devMgr._get_registeredDevices(): if dev._get_label() == 'SADUsesDevice_1': allocRes = dev.query([prop]) - self.assertEquals(allocRes[0].value.value(), 10) + self.assertEqual(allocRes[0].value.value(), 10) def test_ApplicationStartOrder(self): self._nb_domMgr, self._domMgr = self.launchDomainManager(endpoint="giop:tcp::5679", dbURI=self._dbfile) @@ -755,7 +755,7 @@ def test_ApplicationStartOrder(self): app.start() comps = app._get_registeredComponents() for c in comps: - self.assertEquals(c.componentObject._get_started(), True) + self.assertEqual(c.componentObject._get_started(), True) # Kill the domainMgr os.kill(self._nb_domMgr.pid, signal.SIGTERM) @@ -770,18 +770,18 @@ def test_ApplicationStartOrder(self): # Components should all still be started for c in comps: - self.assertEquals(c.componentObject._get_started(), True) + self.assertEqual(c.componentObject._get_started(), True) # Stop application to make sure that start order Resource variables were recovered properly app = newDomMgr._get_applications()[0] app.stop() for c in comps: - self.assertEquals(c.componentObject._get_started(), False) + self.assertEqual(c.componentObject._get_started(), False) # Start components to make sure that start also works app.start() for c in comps: - self.assertEquals(c.componentObject._get_started(), True) + self.assertEqual(c.componentObject._get_started(), True) def test_ApplicationRegisteredComponents(self): self._nb_domMgr, self._domMgr = self.launchDomainManager(endpoint="giop:tcp::5679", dbURI=self._dbfile) @@ -809,7 +809,7 @@ def test_ApplicationRegisteredComponents(self): newComps = newApp._get_registeredComponents() # Recovered list should be the same - self.assertEquals(len(comps), len(newComps)) + self.assertEqual(len(comps), len(newComps)) for comp in comps: found = False for newComp in newComps: @@ -910,7 +910,7 @@ def test_ApplicationExternalProperties(self): if prop.id.startswith('ext_'): configProps.append(prop) # If there are no external properties, this test is invalid - self.assert_(len(configProps) > 0) + self.assertTrue(len(configProps) > 0) newApp.configure(configProps) def test_RegisteredDomains(self): @@ -924,8 +924,8 @@ def test_RegisteredDomains(self): remotes = [r._get_identifier() for r in domMgr._get_remoteDomainManagers()] self.assertEqual(len(remotes), 2) - self.assert_(testMgr1._get_identifier() in remotes) - self.assert_(testMgr2._get_identifier() in remotes) + self.assertTrue(testMgr1._get_identifier() in remotes) + self.assertTrue(testMgr2._get_identifier() in remotes) # Kill the DomainManager os.kill(nb.pid, signal.SIGTERM) @@ -955,7 +955,7 @@ def test_Allocations(self): nicCapacityId = 'DCE:4f9a57fc-8fb3-47f6-b779-3c2692f52cf9' allocations = { 'test1': {memCapacityId:2048, nicCapacityId:0.125}, 'test2': {bogoMipsId:10000}} - requests = [CF.AllocationManager.AllocationRequestType(k, properties.props_from_dict(v), [], [], 'test_Allocations') for k,v in allocations.iteritems()] + requests = [CF.AllocationManager.AllocationRequestType(k, properties.props_from_dict(v), [], [], 'test_Allocations') for k,v in allocations.items()] results = allocMgr.allocate(requests) self.assertEqual(len(results), len(requests)) @@ -973,8 +973,8 @@ def test_Allocations(self): self.launchDomainManager(endpoint='giop:tcp::5679', dbURI=self._dbfile) post = dict((al.allocationID, al) for al in allocMgr.allocations([])) self.assertEqual(len(pre), len(post)) - self.assertEqual(pre.keys(), post.keys()) - for allocId, status in pre.iteritems(): + self.assertEqual(list(pre.keys()), list(post.keys())) + for allocId, status in pre.items(): self._compareAllocation(status, post[allocId]) def _compareAllocation(self, lhs, rhs): @@ -983,8 +983,8 @@ def _compareAllocation(self, lhs, rhs): lhsProps = properties.props_to_dict(lhs.allocationProperties) rhsProps = properties.props_to_dict(rhs.allocationProperties) self.assertEqual(lhsProps, rhsProps) - self.assert_(lhs.allocatedDevice._is_equivalent(rhs.allocatedDevice)) - self.assert_(lhs.allocationDeviceManager._is_equivalent(rhs.allocationDeviceManager)) + self.assertTrue(lhs.allocatedDevice._is_equivalent(rhs.allocatedDevice)) + self.assertTrue(lhs.allocationDeviceManager._is_equivalent(rhs.allocationDeviceManager)) def test_DomainAndGPPDisappear(self): @@ -1018,7 +1018,7 @@ def test_DomainAndGPPDisappear(self): self.assertNotEqual( self._devMgr, None ) from ossie.utils import redhawk - for i in xrange(5): + for i in range(5): dom=redhawk.attach(scatest.getTestDomainName()) if dom == None: time.sleep(.25) @@ -1076,8 +1076,8 @@ def test_DomainChannelsRestore_NormalShutdown(self): IDM_ref = self._root.resolve(ns_IDM) self.assertNotEqual(ODM_ref, None) self.assertNotEqual(IDM_ref, None) - self.assertEquals( ODM_ref._is_equivalent(orig_ODM_ref), True ) - self.assertEquals( IDM_ref._is_equivalent(orig_IDM_ref), True ) + self.assertEqual( ODM_ref._is_equivalent(orig_ODM_ref), True ) + self.assertEqual( IDM_ref._is_equivalent(orig_IDM_ref), True ) # check that qualified event channel names are not in naming context ns_ODM = URI.stringToName("%s/%s" % (domain_name, domain_name+".ODM_Channel")) @@ -1114,8 +1114,8 @@ def test_DomainChannelsRestore_KillDomain(self): IDM_ref = self._root.resolve(ns_IDM) self.assertNotEqual(ODM_ref, None) self.assertNotEqual(IDM_ref, None) - self.assertEquals( ODM_ref._is_equivalent(orig_ODM_ref), True ) - self.assertEquals( IDM_ref._is_equivalent(orig_IDM_ref), True ) + self.assertEqual( ODM_ref._is_equivalent(orig_ODM_ref), True ) + self.assertEqual( IDM_ref._is_equivalent(orig_IDM_ref), True ) # restart domain manager self._nb_domMgr, self._domMgr = self.launchDomainManager(endpoint="giop:tcp::5679", dbURI=self._dbfile) @@ -1130,8 +1130,8 @@ def test_DomainChannelsRestore_KillDomain(self): IDM_ref = self._root.resolve(ns_IDM) self.assertNotEqual(ODM_ref, None) self.assertNotEqual(IDM_ref, None) - self.assertEquals( ODM_ref._is_equivalent(orig_ODM_ref), True ) - self.assertEquals( IDM_ref._is_equivalent(orig_IDM_ref), True ) + self.assertEqual( ODM_ref._is_equivalent(orig_ODM_ref), True ) + self.assertEqual( IDM_ref._is_equivalent(orig_IDM_ref), True ) # check that qualified event channel names are not in naming context ns_ODM = URI.stringToName("%s/%s" % (domain_name, domain_name+".ODM_Channel")) diff --git a/redhawk/src/testing/tests/test_09_HardFail.py b/redhawk/src/testing/tests/test_09_HardFail.py index b52f72d70..6fe36c63a 100644 --- a/redhawk/src/testing/tests/test_09_HardFail.py +++ b/redhawk/src/testing/tests/test_09_HardFail.py @@ -23,10 +23,10 @@ import time from omniORB import CORBA, URI, any from ossie.cf import CF, CF__POA -import commands, signal +import subprocess, signal def getChildren(parentPid): - process_listing = commands.getoutput('ls /proc').split('\n') + process_listing = subprocess.getoutput('ls /proc').split('\n') children = [] for entry in process_listing: try: @@ -189,7 +189,7 @@ def test_HardFailComponent(self): devs = getChildren(devInfo[devMgrToKill]['booter'].pid) self.assertEqual(len(devs), 1) comps = getChildren(devs[0]) - self.failIf(len(comps) < 1, "Should be at least one component in the waveform") + self.assertFalse(len(comps) < 1, "Should be at least one component in the waveform") try: os.kill(comps[0], signal.SIGKILL) @@ -273,7 +273,7 @@ def test_HardFailDeviceManager(self): # try to release the waveform from the dead device manager try: app1.stop() - except CF.Resource.StopError, msg: + except CF.Resource.StopError as msg: self.fail("application->stop() should work here; failed with message: " + msg) try: diff --git a/redhawk/src/testing/tests/test_09_Stress.py b/redhawk/src/testing/tests/test_09_Stress.py index ad72f52f9..072d6f060 100644 --- a/redhawk/src/testing/tests/test_09_Stress.py +++ b/redhawk/src/testing/tests/test_09_Stress.py @@ -51,7 +51,7 @@ def getApp(self): def Process(self): if self.thread_num and self.debug: - print 'starting thread: ' + str(self.thread_num) + print('starting thread: ' + str(self.thread_num)) try: self.app = self.appFact.create(self.appFact._get_name(), [], []) except: @@ -62,7 +62,7 @@ def Process(self): self.app.stop() self.app.releaseObject() if self.thread_num and self.debug: - print 'releasing thread: ' + str(self.thread_num) + print('releasing thread: ' + str(self.thread_num)) self.data_signal_2.wait() @@ -230,7 +230,7 @@ def test_WaveformCreation(self): appFact = domMgr._get_applicationFactories()[0] # create the worker classes - these will each create a new app (waveform) in a new thread - for i in xrange(num_waveforms): + for i in range(num_waveforms): processThreads.append(WaveformWorker(appFact, False, i)) # start the thread (app/waveform) @@ -248,7 +248,7 @@ def test_WaveformCreation(self): entry.data_signal_1.set() # Give it time to shut down, and make sure they all finish - self.assert_(waitAppCount(domMgr, 0, 30)) + self.assertTrue(waitAppCount(domMgr, 0, 30)) # kill the threads for entry in processThreads: diff --git a/redhawk/src/testing/tests/test_10_ComponentTermination.py b/redhawk/src/testing/tests/test_10_ComponentTermination.py index fa3c5f4d6..abe085032 100644 --- a/redhawk/src/testing/tests/test_10_ComponentTermination.py +++ b/redhawk/src/testing/tests/test_10_ComponentTermination.py @@ -58,7 +58,7 @@ def _test_UnhandledException(self, lang): pass self._event.wait(1) - self.failUnless(self._event.isSet(), 'No unexpected termination message received') + self.assertTrue(self._event.isSet(), 'No unexpected termination message received') def test_UnhandledExceptionCpp(self): """ diff --git a/redhawk/src/testing/tests/test_10_ComponentThread.py b/redhawk/src/testing/tests/test_10_ComponentThread.py index 1099f4a46..8ef4988ed 100644 --- a/redhawk/src/testing/tests/test_10_ComponentThread.py +++ b/redhawk/src/testing/tests/test_10_ComponentThread.py @@ -37,56 +37,56 @@ def tearDown(self): def test_defaultDelay(self): self.comp = sb.launch('check_noop') self.comp.start() - self.assertEquals(self.comp.evaluate, 'done') - self.assertEquals(self.comp.average_delay, 0.0) + self.assertEqual(self.comp.evaluate, 'done') + self.assertEqual(self.comp.average_delay, 0.0) self.comp.evaluate = 'go' begin_time = time.time() while time.time()-begin_time < self.timeout and self.comp.evaluate != 'done': time.sleep(0.1) - self.assertAlmostEquals(self.comp.average_delay, 0.1, places=2) + self.assertAlmostEqual(self.comp.average_delay, 0.1, places=2) # check that the delay can change to something other than the default def test_updateDelay(self): self.comp = sb.launch('check_noop') self.comp.start() - self.assertEquals(self.comp.evaluate, 'done') - self.assertEquals(self.comp.average_delay, 0.0) + self.assertEqual(self.comp.evaluate, 'done') + self.assertEqual(self.comp.average_delay, 0.0) self.comp.evaluate = 'go' begin_time = time.time() while time.time()-begin_time < self.timeout and self.comp.evaluate != 'done': time.sleep(0.1) - self.assertAlmostEquals(self.comp.average_delay, 0.1, places=2) + self.assertAlmostEqual(self.comp.average_delay, 0.1, places=2) new_delay = 0.05 self.comp.noop_delay = new_delay self.comp.evaluate = 'go' begin_time = time.time() while time.time()-begin_time < self.timeout and self.comp.evaluate != 'done': time.sleep(0.1) - self.assertAlmostEquals(self.comp.average_delay, new_delay, places=2) + self.assertAlmostEqual(self.comp.average_delay, new_delay, places=2) # check that the delay can change multiple times # also check that delays can be shorted or longer than the default delay def test_changeDelay(self): self.comp = sb.launch('check_noop') self.comp.start() - self.assertEquals(self.comp.evaluate, 'done') - self.assertEquals(self.comp.average_delay, 0.0) + self.assertEqual(self.comp.evaluate, 'done') + self.assertEqual(self.comp.average_delay, 0.0) self.comp.evaluate = 'go' begin_time = time.time() while time.time()-begin_time < self.timeout and self.comp.evaluate != 'done': time.sleep(0.1) - self.assertAlmostEquals(self.comp.average_delay, 0.1, places=2) + self.assertAlmostEqual(self.comp.average_delay, 0.1, places=2) new_delay = 0.05 self.comp.noop_delay = new_delay self.comp.evaluate = 'go' begin_time = time.time() while time.time()-begin_time < self.timeout and self.comp.evaluate != 'done': time.sleep(0.1) - self.assertAlmostEquals(self.comp.average_delay, new_delay, places=2) + self.assertAlmostEqual(self.comp.average_delay, new_delay, places=2) new_delay = 0.15 self.comp.noop_delay = new_delay self.comp.evaluate = 'go' begin_time = time.time() while time.time()-begin_time < self.timeout and self.comp.evaluate != 'done': time.sleep(0.1) - self.assertAlmostEquals(self.comp.average_delay, new_delay, places=2) + self.assertAlmostEqual(self.comp.average_delay, new_delay, places=2) diff --git a/redhawk/src/testing/tests/test_10_DeviceAllocationExceptions.py b/redhawk/src/testing/tests/test_10_DeviceAllocationExceptions.py index a63be71f4..ce3e73f33 100644 --- a/redhawk/src/testing/tests/test_10_DeviceAllocationExceptions.py +++ b/redhawk/src/testing/tests/test_10_DeviceAllocationExceptions.py @@ -83,7 +83,7 @@ def test_InvalidCapacity_simple(self): self.dev=sb.launch('DevC', impl="cpp") res=self.dev.allocateCapacity({'myulong': 3 } ) - self.assertEquals(res,False) + self.assertEqual(res,False) self.dev.releaseObject() self.dev=None sb.release() @@ -95,10 +95,10 @@ def test_InvalidCapacity_node(self): from ossie.utils import redhawk dom=redhawk.attach(scatest.getTestDomainName()) d=dom.devices[0] - self.assertNotEquals(d,None) + self.assertNotEqual(d,None) b=[ CF.DataType(id='myulong', value=CORBA.Any(CORBA.TC_ulong,3))] res=d.allocateCapacity(b) - self.assertEquals(res,False) + self.assertEqual(res,False) def test_deallocate_overage(self): @@ -106,7 +106,7 @@ def test_deallocate_overage(self): self.dev=sb.launch('DevC', impl="cpp",configure={'myulong': 3 } ) res=self.dev.allocateCapacity({'myulong': 3 } ) - self.assertEquals(res,True) + self.assertEqual(res,True) a=[ CF.DataType(id='myulong', value=CORBA.Any(CORBA.TC_ulong,3)), CF.DataType(id='myulong', value=CORBA.Any(CORBA.TC_ulong,3))] self.assertRaises(CF.Device.InvalidCapacity, self.dev.deallocateCapacity, a) @@ -122,9 +122,9 @@ def test_deallocate_overage_node(self): from ossie.utils import redhawk dom=redhawk.attach(scatest.getTestDomainName()) d=dom.devices[0] - self.assertNotEquals(d,None) + self.assertNotEqual(d,None) res=d.allocateCapacity({'myulong': 3 } ) - self.assertEquals(res,True) + self.assertEqual(res,True) a=[ CF.DataType(id='myulong', value=CORBA.Any(CORBA.TC_ulong,3)), CF.DataType(id='myulong', value=CORBA.Any(CORBA.TC_ulong,3))] self.assertRaises(CF.Device.InvalidCapacity,d.deallocateCapacity, a) @@ -167,7 +167,7 @@ def test_InvalidCapacity_node(self): from ossie.utils import redhawk dom=redhawk.attach(scatest.getTestDomainName()) dev=dom.devices[0] - self.assertNotEquals(dev,None) + self.assertNotEqual(dev,None) b=[ CF.DataType(id='myulong', value=CORBA.Any(CORBA.TC_ulong,3))] self.assertRaises(CF.Device.InvalidCapacity, dev.allocateCapacity, b) @@ -176,7 +176,7 @@ def test_deallocate_overage_java(self): self.dev=sb.launch('DevC', impl="java",configure={'myulong': 3 } ) res=self.dev.allocateCapacity({'myulong': 3 } ) - self.assertEquals(res,True) + self.assertEqual(res,True) a=[ CF.DataType(id='myulong', value=CORBA.Any(CORBA.TC_ulong,3)), CF.DataType(id='myulong', value=CORBA.Any(CORBA.TC_ulong,3))] self.assertRaises(CF.Device.InvalidCapacity, self.dev.deallocateCapacity, a) @@ -192,9 +192,9 @@ def test_deallocate_overage_node_java(self): from ossie.utils import redhawk dom=redhawk.attach(scatest.getTestDomainName()) d=dom.devices[0] - self.assertNotEquals(d,None) + self.assertNotEqual(d,None) res=d.allocateCapacity({'myulong': 3 } ) - self.assertEquals(res,True) + self.assertEqual(res,True) a=[ CF.DataType(id='myulong', value=CORBA.Any(CORBA.TC_ulong,3)), CF.DataType(id='myulong', value=CORBA.Any(CORBA.TC_ulong,3))] self.assertRaises(CF.Device.InvalidCapacity,d.deallocateCapacity, a) diff --git a/redhawk/src/testing/tests/test_11_AllPropTypes.py b/redhawk/src/testing/tests/test_11_AllPropTypes.py index 2802e8354..8f8ba57e7 100644 --- a/redhawk/src/testing/tests/test_11_AllPropTypes.py +++ b/redhawk/src/testing/tests/test_11_AllPropTypes.py @@ -104,7 +104,7 @@ def setUp(self): domBooter, self._domMgr = self.launchDomainManager() devBooter, self._devMgr = self.launchDeviceManager("/nodes/test_BasicTestDevice_node/DeviceManager.dcd.xml") self._rhDom = redhawk.attach(scatest.getTestDomainName()) - self.assertEquals(len(self._rhDom._get_applications()), 0) + self.assertEqual(len(self._rhDom._get_applications()), 0) def tearDown(self): if self._app: @@ -123,19 +123,19 @@ def basetest_Now(self, app_name): self.assertEqual(retval[0].value._v.tfsec, 0) prop = CF.DataType(id='simpleSeqDefNow',value=any.to_any(None)) retval = self._app.comps[0].ref.query([prop]) - self.assertEquals(len(retval[0].value._v), 1) - self.assertEquals(retval[0].value._v[0].tcstatus, 1) - self.assertNotEquals(retval[0].value._v[0].twsec, 0) - self.assertNotEquals(retval[0].value._v[0].tfsec, 0) + self.assertEqual(len(retval[0].value._v), 1) + self.assertEqual(retval[0].value._v[0].tcstatus, 1) + self.assertNotEqual(retval[0].value._v[0].twsec, 0) + self.assertNotEqual(retval[0].value._v[0].tfsec, 0) prop = CF.DataType(id='simpleSeqNoDef',value=any.to_any(None)) retval = self._app.comps[0].ref.query([prop]) - self.assertEquals(len(retval[0].value._v), 0) + self.assertEqual(len(retval[0].value._v), 0) prop = CF.DataType(id='simpleSeq1970',value=any.to_any(None)) retval = self._app.comps[0].ref.query([prop]) - self.assertEquals(len(retval[0].value._v), 1) - self.assertEquals(retval[0].value._v[0].tcstatus, 1) - self.assertEquals(retval[0].value._v[0].twsec, 0) - self.assertEquals(retval[0].value._v[0].tfsec, 0) + self.assertEqual(len(retval[0].value._v), 1) + self.assertEqual(retval[0].value._v[0].tcstatus, 1) + self.assertEqual(retval[0].value._v[0].twsec, 0) + self.assertEqual(retval[0].value._v[0].tfsec, 0) def basetest_Overload(self, app_name): self._app = self._rhDom.createApplication("/waveforms/"+app_name+"/"+app_name+".sad.xml") @@ -424,7 +424,7 @@ def test_AllPropTypeCallbacks(self): elif item.id == 'struct_ulonglong': item.value = any.to_any(1) item.value._t = CORBA.TC_ulonglong - if type(r.value._v) == int or type(r.value._v) == long or type(r.value._v) == float: + if type(r.value._v) == int or type(r.value._v) == int or type(r.value._v) == float: r.value._v = r.value._v + 1 elif r.value._t == CORBA.TC_char: r.value._v = 'o' diff --git a/redhawk/src/testing/tests/test_11_CmdProperties.py b/redhawk/src/testing/tests/test_11_CmdProperties.py index 5241f13af..028e903fb 100644 --- a/redhawk/src/testing/tests/test_11_CmdProperties.py +++ b/redhawk/src/testing/tests/test_11_CmdProperties.py @@ -44,7 +44,7 @@ def tearDown(self): def preconditions(self): self.assertNotEqual(self._domMgr, None, "DomainManager not available") self.assertNotEqual(self._devMgr, None, "DeviceManager not available") - self.assertEquals(self._app, None, "Stale application") + self.assertEqual(self._app, None, "Stale application") def test_JustSADOverride(self): self.preconditions() @@ -61,11 +61,11 @@ def test_JustSADOverride(self): readwrite_cmdline_val = items[readwrite_cmdline_idx+1] writeonly_cmdline_idx = items.index('writeonly_cmdline') writeonly_cmdline_val = items[writeonly_cmdline_idx+1] - self.assertEquals(readonly_cmdline_val, 'd') - self.assertEquals(readwrite_cmdline_val, 'e') - self.assertEquals(writeonly_cmdline_val, 'f') - self.assertEquals(self._app.comps[0].readonly_cmdline, 'd') - self.assertEquals(self._app.comps[0].readwrite_cmdline, 'e') + self.assertEqual(readonly_cmdline_val, 'd') + self.assertEqual(readwrite_cmdline_val, 'e') + self.assertEqual(writeonly_cmdline_val, 'f') + self.assertEqual(self._app.comps[0].readonly_cmdline, 'd') + self.assertEqual(self._app.comps[0].readwrite_cmdline, 'e') def test_CreateSADOverride(self): self.preconditions() @@ -82,11 +82,11 @@ def test_CreateSADOverride(self): readwrite_cmdline_val = items[readwrite_cmdline_idx+1] writeonly_cmdline_idx = items.index('writeonly_cmdline') writeonly_cmdline_val = items[writeonly_cmdline_idx+1] - self.assertEquals(readonly_cmdline_val, 'g') - self.assertEquals(readwrite_cmdline_val, 'h') - self.assertEquals(writeonly_cmdline_val, 'i') - self.assertEquals(self._app.comps[0].readonly_cmdline, 'g') - self.assertEquals(self._app.comps[0].readwrite_cmdline, 'h') + self.assertEqual(readonly_cmdline_val, 'g') + self.assertEqual(readwrite_cmdline_val, 'h') + self.assertEqual(writeonly_cmdline_val, 'i') + self.assertEqual(self._app.comps[0].readonly_cmdline, 'g') + self.assertEqual(self._app.comps[0].readwrite_cmdline, 'h') def test_CleanJustSADOverride(self): self.preconditions() @@ -103,11 +103,11 @@ def test_CleanJustSADOverride(self): readwrite_cmdline_val = items[readwrite_cmdline_idx+1] writeonly_cmdline_idx = items.index('writeonly_cmdline') writeonly_cmdline_val = items[writeonly_cmdline_idx+1] - self.assertEquals(readonly_cmdline_val, 'd') - self.assertEquals(readwrite_cmdline_val, 'e') - self.assertEquals(writeonly_cmdline_val, 'f') - self.assertEquals(self._app.comps[0].readonly_cmdline, 'd') - self.assertEquals(self._app.comps[0].readwrite_cmdline, 'e') + self.assertEqual(readonly_cmdline_val, 'd') + self.assertEqual(readwrite_cmdline_val, 'e') + self.assertEqual(writeonly_cmdline_val, 'f') + self.assertEqual(self._app.comps[0].readonly_cmdline, 'd') + self.assertEqual(self._app.comps[0].readwrite_cmdline, 'e') def test_CleanCreateSADOverride(self): self.preconditions() @@ -124,11 +124,11 @@ def test_CleanCreateSADOverride(self): readwrite_cmdline_val = items[readwrite_cmdline_idx+1] writeonly_cmdline_idx = items.index('writeonly_cmdline') writeonly_cmdline_val = items[writeonly_cmdline_idx+1] - self.assertEquals(readonly_cmdline_val, 'g') - self.assertEquals(readwrite_cmdline_val, 'h') - self.assertEquals(writeonly_cmdline_val, 'i') - self.assertEquals(self._app.comps[0].readonly_cmdline, 'g') - self.assertEquals(self._app.comps[0].readwrite_cmdline, 'h') + self.assertEqual(readonly_cmdline_val, 'g') + self.assertEqual(readwrite_cmdline_val, 'h') + self.assertEqual(writeonly_cmdline_val, 'i') + self.assertEqual(self._app.comps[0].readonly_cmdline, 'g') + self.assertEqual(self._app.comps[0].readwrite_cmdline, 'h') def test_CleanCmdlineOverride(self): @@ -146,11 +146,11 @@ def test_CleanCmdlineOverride(self): readwrite_cmdline_val = items[readwrite_cmdline_idx+1] writeonly_cmdline_idx = items.index('writeonly_cmdline') writeonly_cmdline_val = items[writeonly_cmdline_idx+1] - self.assertEquals(readonly_cmdline_val, 'g') - self.assertEquals(readwrite_cmdline_val, 'h') - self.assertEquals(writeonly_cmdline_val, 'i') - self.assertEquals(self._app.comps[0].readonly_cmdline, 'g') - self.assertEquals(self._app.comps[0].readwrite_cmdline, 'h') + self.assertEqual(readonly_cmdline_val, 'g') + self.assertEqual(readwrite_cmdline_val, 'h') + self.assertEqual(writeonly_cmdline_val, 'i') + self.assertEqual(self._app.comps[0].readonly_cmdline, 'g') + self.assertEqual(self._app.comps[0].readwrite_cmdline, 'h') def test_CmdlineOverride(self): self.preconditions() @@ -167,11 +167,11 @@ def test_CmdlineOverride(self): readwrite_cmdline_val = items[readwrite_cmdline_idx+1] writeonly_cmdline_idx = items.index('writeonly_cmdline') writeonly_cmdline_val = items[writeonly_cmdline_idx+1] - self.assertEquals(readonly_cmdline_val, 'g') - self.assertEquals(readwrite_cmdline_val, 'h') - self.assertEquals(writeonly_cmdline_val, 'i') - self.assertEquals(self._app.comps[0].readonly_cmdline, 'g') - self.assertEquals(self._app.comps[0].readwrite_cmdline, 'h') + self.assertEqual(readonly_cmdline_val, 'g') + self.assertEqual(readwrite_cmdline_val, 'h') + self.assertEqual(writeonly_cmdline_val, 'i') + self.assertEqual(self._app.comps[0].readonly_cmdline, 'g') + self.assertEqual(self._app.comps[0].readwrite_cmdline, 'h') def test_NoCmdlineOverride(self): @@ -189,9 +189,9 @@ def test_NoCmdlineOverride(self): readwrite_cmdline_val = items[readwrite_cmdline_idx+1] writeonly_cmdline_idx = items.index('writeonly_cmdline') writeonly_cmdline_val = items[writeonly_cmdline_idx+1] - self.assertEquals(readonly_cmdline_val, 'a') - self.assertEquals(readwrite_cmdline_val, 'b') - self.assertEquals(writeonly_cmdline_val, 'c') - self.assertEquals(self._app.comps[0].readonly_cmdline, 'a') - self.assertEquals(self._app.comps[0].readwrite_cmdline, 'b') + self.assertEqual(readonly_cmdline_val, 'a') + self.assertEqual(readwrite_cmdline_val, 'b') + self.assertEqual(writeonly_cmdline_val, 'c') + self.assertEqual(self._app.comps[0].readonly_cmdline, 'a') + self.assertEqual(self._app.comps[0].readwrite_cmdline, 'b') diff --git a/redhawk/src/testing/tests/test_11_ComplexProperties.py b/redhawk/src/testing/tests/test_11_ComplexProperties.py index 5bd1a0403..03fb4ea9f 100644 --- a/redhawk/src/testing/tests/test_11_ComplexProperties.py +++ b/redhawk/src/testing/tests/test_11_ComplexProperties.py @@ -36,8 +36,8 @@ def __init__(self, id, default, override, typecode): self.typecode = typecode def _compareComplex(parent, item_1, item_2): - parent.assertEquals(item_1.real, item_2.real) - parent.assertEquals(item_1.imag, item_2.imag) + parent.assertEqual(item_1.real, item_2.real) + parent.assertEqual(item_1.imag, item_2.imag) def _compareStructs(parent, struct_1, struct_2): for _struct_mem_idx in range(len(struct_2)): @@ -302,7 +302,7 @@ def test_sandboxComplexProps(self): prop_idx = {} for idx in range(len(components['cpp']._properties)): prop_idx[components['cpp']._properties[idx].id] = idx - for language in components.keys(): + for language in list(components.keys()): for _test in testSet: _prop = components[language]._properties[prop_idx[_test._id[0]]] _value = _prop._queryValue().value() @@ -325,7 +325,7 @@ def test_complexLoadSADFile(self): (_SandboxDataTypeTest(['complexFloatStructSequence', ['complexFloatStructSequenceMemberMemember', 'complexFloatStructSequence::complex_float_seq']], [(CF.complexFloat(9, 4), [CF.complexFloat(6, 5)])], None))] retval = sb.loadSADFile('sdr/dom/waveforms/TestComplexPropsWaveform/TestComplexPropsWaveform.sad.xml') - self.assertEquals(retval, True) + self.assertEqual(retval, True) comp_ac = sb.getComponent('TestComplexProps_1') sb.start() @@ -356,7 +356,7 @@ def test_complexLoadSADFileOverride(self): (_SandboxDataTypeTest(['complexFloatStructSequence', ['complexFloatStructSequenceMemberMemember', 'complexFloatStructSequence::complex_float_seq']], [(CF.complexFloat(32, 33), [CF.complexFloat(45, 55), CF.complexFloat(69, 78)]), (CF.complexFloat(42, 43), [CF.complexFloat(145, 155), CF.complexFloat(169, 178), CF.complexFloat(279, 998)])], None))] retval = sb.loadSADFile('sdr/dom/waveforms/TestComplexPropsSADOverrides/TestComplexPropsSADOverrides.sad.xml') - self.assertEquals(retval, True) + self.assertEqual(retval, True) comp_ac = sb.getComponent('TestComplexProps_1') sb.start() diff --git a/redhawk/src/testing/tests/test_11_CppProperties.py b/redhawk/src/testing/tests/test_11_CppProperties.py index 50a97215e..0827ca194 100644 --- a/redhawk/src/testing/tests/test_11_CppProperties.py +++ b/redhawk/src/testing/tests/test_11_CppProperties.py @@ -81,7 +81,7 @@ def test_LegacyPropertyCallbacks(self): prop.value._v = [0,0,0,0,0] for result in self._app.runTest(0, props): - self.assert_(result.value._v) + self.assertTrue(result.value._v) for prop in props: if prop.id == 'DCE:4e7c1977-5f53-4061-bae7-cb8c1072f4b7': @@ -95,22 +95,22 @@ def test_LegacyPropertyCallbacks(self): # ...and static functions. for result in self._app.runTest(1, props): - self.assert_(result.value._v) + self.assertTrue(result.value._v) def test_UTCTime(self): prop = self._app.query([CF.DataType('simple_utctime', any.to_any(None))]) datetime = time.gmtime(prop[0].value.value().twsec) - self.assertEquals(datetime.tm_year,2017) - self.assertEquals(datetime.tm_mon,2) - self.assertEquals(datetime.tm_mday,1) - self.assertEquals(datetime.tm_hour,10) - self.assertEquals(datetime.tm_min,1) - self.assertEquals(datetime.tm_sec,0) - self.assertEquals(prop[0].value.value().tfsec,0.123) + self.assertEqual(datetime.tm_year,2017) + self.assertEqual(datetime.tm_mon,2) + self.assertEqual(datetime.tm_mday,1) + self.assertEqual(datetime.tm_hour,10) + self.assertEqual(datetime.tm_min,1) + self.assertEqual(datetime.tm_sec,0) + self.assertEqual(prop[0].value.value().tfsec,0.123) self._app.configure([CF.DataType('reset_utctime', any.to_any(True))]) prop = self._app.query([CF.DataType('simple_utctime', any.to_any(None))]) now = time.time() - self.assertEquals(abs(now-(prop[0].value.value().twsec+prop[0].value.value().tfsec))<0.1,True) + self.assertEqual(abs(now-(prop[0].value.value().twsec+prop[0].value.value().tfsec))<0.1,True) def test_NilProperty(self): self.preconditions() @@ -214,15 +214,15 @@ def test_OptionalPropertiesInStruct(self): CF.DataType(id='struct_ushort', value=CORBA.Any(CORBA.TC_ushort, 65535)), CF.DataType(id='struct_long', value=CORBA.Any(CORBA.TC_long, 2147483647)), CF.DataType(id='struct_ulong', value=CORBA.Any(CORBA.TC_ulong, 4294967295)), - CF.DataType(id='struct_longlong', value=CORBA.Any(CORBA.TC_longlong, 9223372036854775807L)), - CF.DataType(id='struct_ulonglong', value=CORBA.Any(CORBA.TC_ulonglong, 18446744073709551615L)), + CF.DataType(id='struct_longlong', value=CORBA.Any(CORBA.TC_longlong, 9223372036854775807)), + CF.DataType(id='struct_ulonglong', value=CORBA.Any(CORBA.TC_ulonglong, 18446744073709551615)), CF.DataType(id='struct_string', value=CORBA.Any(CORBA.TC_string, "new string")), CF.DataType(id='struct_seq_octet', value=CORBA.Any(CORBA.TypeCode("IDL:omg.org/CORBA/OctetSeq:1.0"), octet_val)), CF.DataType(id='struct_seq_short', value=CORBA.Any(CORBA.TypeCode("IDL:omg.org/CORBA/ShortSeq:1.0"), [0, 32767])), CF.DataType(id='struct_seq_ushort', value=CORBA.Any(CORBA.TypeCode("IDL:omg.org/CORBA/UShortSeq:1.0"), [0, 65535])), CF.DataType(id='struct_seq_long', value=any.to_any([0, 2147483647])), CF.DataType(id='struct_seq_ulong', value=any.to_any([0, 4294967295])), - CF.DataType(id='struct_seq_longlong', value=any.to_any([0, 9223372036854775807L])), + CF.DataType(id='struct_seq_longlong', value=any.to_any([0, 9223372036854775807])), #CF.DataType(id='struct_seq_ulonglong', value=any.to_any([0, 9223372036854775807L])) ])) comp.configure([my_struct]) @@ -232,19 +232,19 @@ def test_OptionalPropertiesInStruct(self): val = r.value.value() for v in val: if v.id == 'struct_octet': - self.assertEquals(v.value.value(), 255) + self.assertEqual(v.value.value(), 255) elif v.id == 'struct_short': - self.assertEquals(v.value.value(), 32767) + self.assertEqual(v.value.value(), 32767) elif v.id == 'struct_ushort': - self.assertEquals(v.value.value(), 65535) + self.assertEqual(v.value.value(), 65535) elif v.id == 'struct_long': - self.assertEquals(v.value.value(), 2147483647) + self.assertEqual(v.value.value(), 2147483647) elif v.id == 'struct_ulong': - self.assertEquals(v.value.value(), 4294967295) + self.assertEqual(v.value.value(), 4294967295) elif v.id == 'struct_longlong': - self.assertEquals(v.value.value(), 9223372036854775807L) + self.assertEqual(v.value.value(), 9223372036854775807) elif v.id == 'struct_ulonglong': - self.assertEquals(v.value.value(), 18446744073709551615L) + self.assertEqual(v.value.value(), 18446744073709551615) elif v.id == 'struct_seq_octet': # Octets need to be unpacked stored_vals = v.value.value() @@ -252,18 +252,18 @@ def test_OptionalPropertiesInStruct(self): for num in stored_vals: curr = struct.unpack('B', num) vals.append(curr[0]) - self.assertEquals(vals[0], 0) - self.assertEquals(vals[1], 255) + self.assertEqual(vals[0], 0) + self.assertEqual(vals[1], 255) elif v.id == 'struct_seq_short': - self.assertEquals(v.value.value(), [0, 32767]) + self.assertEqual(v.value.value(), [0, 32767]) elif v.id == 'struct_seq_ushort': - self.assertEquals(v.value.value(), [0, 65535]) + self.assertEqual(v.value.value(), [0, 65535]) elif v.id == 'struct_seq_long': - self.assertEquals(v.value.value(), [0, 2147483647]) + self.assertEqual(v.value.value(), [0, 2147483647]) elif v.id == 'struct_seq_ulong': - self.assertEquals(v.value.value(), [0, 4294967295]) + self.assertEqual(v.value.value(), [0, 4294967295]) elif v.id == 'struct_seq_longlong': - self.assertEquals(v.value.value(), [0, 9223372036854775807L]) + self.assertEqual(v.value.value(), [0, 9223372036854775807]) #elif v.id == 'struct_seq_ulonglong': # self.assertEquals(v.value.value(), [0, 9223372036854775807L]) @@ -274,7 +274,7 @@ def test_OptionalPropertiesInStruct(self): CF.DataType(id='struct_ushort', value=CORBA.Any(CORBA.TC_ushort, 65535)), #CF.DataType(id='struct_long', value=CORBA.Any(CORBA.TC_long, 2147483647)), CF.DataType(id='struct_ulong', value=CORBA.Any(CORBA.TC_ulong, 4294967295)), - CF.DataType(id='struct_longlong', value=CORBA.Any(CORBA.TC_longlong, 9223372036854775807L)), + CF.DataType(id='struct_longlong', value=CORBA.Any(CORBA.TC_longlong, 9223372036854775807)), #CF.DataType(id='struct_ulonglong', value=CORBA.Any(CORBA.TC_ulonglong, 18446744073709551615L)), CF.DataType(id='struct_string', value=CORBA.Any(CORBA.TC_string, "new string")), CF.DataType(id='struct_seq_octet', value=CORBA.Any(CORBA.TypeCode("IDL:omg.org/CORBA/OctetSeq:1.0"), octet_val)), @@ -282,7 +282,7 @@ def test_OptionalPropertiesInStruct(self): #CF.DataType(id='struct_seq_ushort', value=CORBA.Any(CORBA.TypeCode("IDL:omg.org/CORBA/UShortSeq:1.0"), [0, 65535])), CF.DataType(id='struct_seq_long', value=any.to_any([0, 2147483647])), CF.DataType(id='struct_seq_ulong', value=any.to_any([0, 4294967295])), - CF.DataType(id='struct_seq_longlong', value=any.to_any([0, 9223372036854775807L])), + CF.DataType(id='struct_seq_longlong', value=any.to_any([0, 9223372036854775807])), #CF.DataType(id='struct_seq_ulonglong', value=any.to_any([0, 9223372036854775807L])) ])) comp.configure([my_struct]) @@ -328,25 +328,25 @@ def test_cppPropsRangeSimple(self): my_ushort = CF.DataType(id='my_ushort', value=CORBA.Any(CORBA.TC_ushort, 65535)) my_long = CF.DataType(id='my_long', value=CORBA.Any(CORBA.TC_long, 2147483647)) my_ulong = CF.DataType(id='my_ulong', value=CORBA.Any(CORBA.TC_ulong, 4294967295)) - my_longlong = CF.DataType(id='my_longlong', value=CORBA.Any(CORBA.TC_longlong, 9223372036854775807L)) - my_ulonglong = CF.DataType(id='my_ulonglong', value=CORBA.Any(CORBA.TC_ulonglong, 18446744073709551615L)) + my_longlong = CF.DataType(id='my_longlong', value=CORBA.Any(CORBA.TC_longlong, 9223372036854775807)) + my_ulonglong = CF.DataType(id='my_ulonglong', value=CORBA.Any(CORBA.TC_ulonglong, 18446744073709551615)) self._app.configure([my_octet, my_short, my_ushort, my_long, my_ulong, my_longlong, my_ulonglong]) res = self._app.query([]) for r in res: if r.id == 'my_octet': - self.assertEquals(r.value.value(), 255) + self.assertEqual(r.value.value(), 255) elif r.id == 'my_short': - self.assertEquals(r.value.value(), 32767) + self.assertEqual(r.value.value(), 32767) elif r.id == 'my_ushort': - self.assertEquals(r.value.value(), 65535) + self.assertEqual(r.value.value(), 65535) elif r.id == 'my_long': - self.assertEquals(r.value.value(), 2147483647) + self.assertEqual(r.value.value(), 2147483647) elif r.id == 'my_ulong': - self.assertEquals(r.value.value(), 4294967295) + self.assertEqual(r.value.value(), 4294967295) elif r.id == 'my_longlong': - self.assertEquals(r.value.value(), 9223372036854775807) + self.assertEqual(r.value.value(), 9223372036854775807) elif r.id == 'my_ulonglong': - self.assertEquals(r.value.value(), 18446744073709551615) + self.assertEqual(r.value.value(), 18446744073709551615) # Test lower bound my_octet = CF.DataType(id='my_octet', value=CORBA.Any(CORBA.TC_octet, 0)) @@ -354,25 +354,25 @@ def test_cppPropsRangeSimple(self): my_ushort = CF.DataType(id='my_ushort', value=CORBA.Any(CORBA.TC_ushort, 0)) my_long = CF.DataType(id='my_long', value=CORBA.Any(CORBA.TC_long, -2147483648)) my_ulong = CF.DataType(id='my_ulong', value=CORBA.Any(CORBA.TC_ulong, 0)) - my_longlong = CF.DataType(id='my_longlong', value=CORBA.Any(CORBA.TC_longlong, -9223372036854775808L)) + my_longlong = CF.DataType(id='my_longlong', value=CORBA.Any(CORBA.TC_longlong, -9223372036854775808)) my_ulonglong = CF.DataType(id='my_ulonglong', value=CORBA.Any(CORBA.TC_ulonglong, 0)) self._app.configure([my_octet, my_short, my_ushort, my_long, my_ulong, my_longlong, my_ulonglong]) res = self._app.query([]) for r in res: if r.id == 'my_octet': - self.assertEquals(r.value.value(), 0) + self.assertEqual(r.value.value(), 0) elif r.id == 'my_short': - self.assertEquals(r.value.value(), -32768) + self.assertEqual(r.value.value(), -32768) elif r.id == 'my_ushort': - self.assertEquals(r.value.value(), 0) + self.assertEqual(r.value.value(), 0) elif r.id == 'my_long': - self.assertEquals(r.value.value(), -2147483648) + self.assertEqual(r.value.value(), -2147483648) elif r.id == 'my_ulong': - self.assertEquals(r.value.value(), 0) + self.assertEqual(r.value.value(), 0) elif r.id == 'my_longlong': - self.assertEquals(r.value.value(), -9223372036854775808) + self.assertEqual(r.value.value(), -9223372036854775808) elif r.id == 'my_ulonglong': - self.assertEquals(r.value.value(), 0) + self.assertEqual(r.value.value(), 0) def test_cppPropsRangeStruct(self): self.preconditions() @@ -385,14 +385,14 @@ def test_cppPropsRangeStruct(self): CF.DataType(id='struct_ushort', value=CORBA.Any(CORBA.TC_ushort, 65535)), CF.DataType(id='struct_long', value=CORBA.Any(CORBA.TC_long, 2147483647)), CF.DataType(id='struct_ulong', value=CORBA.Any(CORBA.TC_ulong, 4294967295)), - CF.DataType(id='struct_longlong', value=CORBA.Any(CORBA.TC_longlong, 9223372036854775807L)), - CF.DataType(id='struct_ulonglong', value=CORBA.Any(CORBA.TC_ulonglong, 18446744073709551615L)), + CF.DataType(id='struct_longlong', value=CORBA.Any(CORBA.TC_longlong, 9223372036854775807)), + CF.DataType(id='struct_ulonglong', value=CORBA.Any(CORBA.TC_ulonglong, 18446744073709551615)), CF.DataType(id='struct_seq_octet', value=CORBA.Any(CORBA.TypeCode("IDL:omg.org/CORBA/OctetSeq:1.0"), octet_val)), CF.DataType(id='struct_seq_short', value=CORBA.Any(CORBA.TypeCode("IDL:omg.org/CORBA/ShortSeq:1.0"), [0, 32767])), CF.DataType(id='struct_seq_ushort', value=CORBA.Any(CORBA.TypeCode("IDL:omg.org/CORBA/UShortSeq:1.0"), [0, 65535])), CF.DataType(id='struct_seq_long', value=any.to_any([0, 2147483647])), CF.DataType(id='struct_seq_ulong', value=any.to_any([0, 4294967295])), - CF.DataType(id='struct_seq_longlong', value=any.to_any([0, 9223372036854775807L])), + CF.DataType(id='struct_seq_longlong', value=any.to_any([0, 9223372036854775807])), #CF.DataType(id='struct_seq_ulonglong', value=any.to_any([0, 9223372036854775807L])) ])) self._app.configure([my_struct]) @@ -402,19 +402,19 @@ def test_cppPropsRangeStruct(self): val = r.value.value() for v in val: if v.id == 'struct_octet': - self.assertEquals(v.value.value(), 255) + self.assertEqual(v.value.value(), 255) elif v.id == 'struct_short': - self.assertEquals(v.value.value(), 32767) + self.assertEqual(v.value.value(), 32767) elif v.id == 'struct_ushort': - self.assertEquals(v.value.value(), 65535) + self.assertEqual(v.value.value(), 65535) elif v.id == 'struct_long': - self.assertEquals(v.value.value(), 2147483647) + self.assertEqual(v.value.value(), 2147483647) elif v.id == 'struct_ulong': - self.assertEquals(v.value.value(), 4294967295) + self.assertEqual(v.value.value(), 4294967295) elif v.id == 'struct_longlong': - self.assertEquals(v.value.value(), 9223372036854775807L) + self.assertEqual(v.value.value(), 9223372036854775807) elif v.id == 'struct_ulonglong': - self.assertEquals(v.value.value(), 18446744073709551615L) + self.assertEqual(v.value.value(), 18446744073709551615) elif v.id == 'struct_seq_octet': # Octets need to be unpacked stored_vals = v.value.value() @@ -422,18 +422,18 @@ def test_cppPropsRangeStruct(self): for num in stored_vals: curr = struct.unpack('B', num) vals.append(curr[0]) - self.assertEquals(vals[0], 0) - self.assertEquals(vals[1], 255) + self.assertEqual(vals[0], 0) + self.assertEqual(vals[1], 255) elif v.id == 'struct_seq_short': - self.assertEquals(v.value.value(), [0, 32767]) + self.assertEqual(v.value.value(), [0, 32767]) elif v.id == 'struct_seq_ushort': - self.assertEquals(v.value.value(), [0, 65535]) + self.assertEqual(v.value.value(), [0, 65535]) elif v.id == 'struct_seq_long': - self.assertEquals(v.value.value(), [0, 2147483647]) + self.assertEqual(v.value.value(), [0, 2147483647]) elif v.id == 'struct_seq_ulong': - self.assertEquals(v.value.value(), [0, 4294967295]) + self.assertEqual(v.value.value(), [0, 4294967295]) elif v.id == 'struct_seq_longlong': - self.assertEquals(v.value.value(), [0, 9223372036854775807L]) + self.assertEqual(v.value.value(), [0, 9223372036854775807]) #elif v.id == 'struct_seq_ulonglong': # self.assertEquals(v.value.value(), [0, 9223372036854775807L]) @@ -444,14 +444,14 @@ def test_cppPropsRangeStruct(self): CF.DataType(id='struct_ushort', value=CORBA.Any(CORBA.TC_ushort, 0)), CF.DataType(id='struct_long', value=CORBA.Any(CORBA.TC_long, -2147483648)), CF.DataType(id='struct_ulong', value=CORBA.Any(CORBA.TC_ulong, 0)), - CF.DataType(id='struct_longlong', value=CORBA.Any(CORBA.TC_longlong, -9223372036854775808L)), + CF.DataType(id='struct_longlong', value=CORBA.Any(CORBA.TC_longlong, -9223372036854775808)), CF.DataType(id='struct_ulonglong', value=CORBA.Any(CORBA.TC_ulonglong, 0)), CF.DataType(id='struct_seq_octet', value=CORBA.Any(CORBA.TypeCode("IDL:omg.org/CORBA/OctetSeq:1.0"), octet_val)), CF.DataType(id='struct_seq_short', value=CORBA.Any(CORBA.TypeCode("IDL:omg.org/CORBA/ShortSeq:1.0"), [-32768, 32767])), CF.DataType(id='struct_seq_ushort', value=CORBA.Any(CORBA.TypeCode("IDL:omg.org/CORBA/UShortSeq:1.0"), [0, 65535])), CF.DataType(id='struct_seq_long', value=any.to_any([-2147483648, 2147483647])), CF.DataType(id='struct_seq_ulong', value=any.to_any([0, 4294967295])), - CF.DataType(id='struct_seq_longlong', value=any.to_any([-9223372036854775808L, 9223372036854775807L])), + CF.DataType(id='struct_seq_longlong', value=any.to_any([-9223372036854775808, 9223372036854775807])), #CF.DataType(id='struct_seq_ulonglong', value=any.to_any([0, 9223372036854775807])) ])) self._app.configure([my_struct]) @@ -461,19 +461,19 @@ def test_cppPropsRangeStruct(self): val = r.value.value() for v in val: if v.id == 'struct_octet': - self.assertEquals(v.value.value(), 0) + self.assertEqual(v.value.value(), 0) elif v.id == 'struct_short': - self.assertEquals(v.value.value(), -32768) + self.assertEqual(v.value.value(), -32768) elif v.id == 'struct_ushort': - self.assertEquals(v.value.value(), 0) + self.assertEqual(v.value.value(), 0) elif v.id == 'struct_long': - self.assertEquals(v.value.value(), -2147483648) + self.assertEqual(v.value.value(), -2147483648) elif v.id == 'struct_ulong': - self.assertEquals(v.value.value(), 0) + self.assertEqual(v.value.value(), 0) elif v.id == 'struct_longlong': - self.assertEquals(v.value.value(), -9223372036854775808L) + self.assertEqual(v.value.value(), -9223372036854775808) elif v.id == 'struct_ulonglong': - self.assertEquals(v.value.value(), 0) + self.assertEqual(v.value.value(), 0) elif v.id == 'struct_seq_octet': # Octets need to be unpacked stored_vals = v.value.value() @@ -481,18 +481,18 @@ def test_cppPropsRangeStruct(self): for num in stored_vals: curr = struct.unpack('B', num) vals.append(curr[0]) - self.assertEquals(vals[0], 0) - self.assertEquals(vals[1], 255) + self.assertEqual(vals[0], 0) + self.assertEqual(vals[1], 255) elif v.id == 'struct_seq_short': - self.assertEquals(v.value.value(), [-32768, 32767]) + self.assertEqual(v.value.value(), [-32768, 32767]) elif v.id == 'struct_seq_ushort': - self.assertEquals(v.value.value(), [0, 65535]) + self.assertEqual(v.value.value(), [0, 65535]) elif v.id == 'struct_seq_long': - self.assertEquals(v.value.value(), [-2147483648, 2147483647]) + self.assertEqual(v.value.value(), [-2147483648, 2147483647]) elif v.id == 'struct_seq_ulong': - self.assertEquals(v.value.value(), [0, 4294967295]) + self.assertEqual(v.value.value(), [0, 4294967295]) elif v.id == 'struct_seq_longlong': - self.assertEquals(v.value.value(), [-9223372036854775808L, 9223372036854775807L]) + self.assertEqual(v.value.value(), [-9223372036854775808, 9223372036854775807]) #elif v.id == 'struct_seq_ulonglong': # self.assertEquals(v.value.value(), [0, 9223372036854775807L]) @@ -512,7 +512,7 @@ def test_cppPropsRangeSeq(self): )) seq_long = CF.DataType(id='seq_long', value=any.to_any([-2147483648, 2147483647])) seq_ulong = CF.DataType(id='seq_ulong', value=any.to_any([0,4294967295])) - seq_longlong = CF.DataType(id='seq_longlong', value=any.to_any([-9223372036854775808L, 9223372036854775807L])) + seq_longlong = CF.DataType(id='seq_longlong', value=any.to_any([-9223372036854775808, 9223372036854775807])) self._app.configure([seq_octet, seq_short, seq_ushort, seq_long, seq_ulong, seq_longlong]) res = self._app.query([]) @@ -524,23 +524,23 @@ def test_cppPropsRangeSeq(self): for num in stored_vals: curr = struct.unpack('B', num) vals.append(curr[0]) - self.assertEquals(vals[0], 0) - self.assertEquals(vals[1], 255) + self.assertEqual(vals[0], 0) + self.assertEqual(vals[1], 255) elif r.id == 'seq_short': - self.assertEquals(r.value.value()[0], -32768) - self.assertEquals(r.value.value()[1], 32767) + self.assertEqual(r.value.value()[0], -32768) + self.assertEqual(r.value.value()[1], 32767) elif r.id == 'seq_ushort': - self.assertEquals(r.value.value()[0], 0) - self.assertEquals(r.value.value()[1], 65535) + self.assertEqual(r.value.value()[0], 0) + self.assertEqual(r.value.value()[1], 65535) elif r.id == 'seq_long': - self.assertEquals(r.value.value()[0], -2147483648) - self.assertEquals(r.value.value()[1], 2147483647) + self.assertEqual(r.value.value()[0], -2147483648) + self.assertEqual(r.value.value()[1], 2147483647) elif r.id == 'seq_ulong': - self.assertEquals(r.value.value()[0], 0) - self.assertEquals(r.value.value()[1], 4294967295) + self.assertEqual(r.value.value()[0], 0) + self.assertEqual(r.value.value()[1], 4294967295) elif r.id == 'seq_longlong': - self.assertEquals(r.value.value()[0], -9223372036854775808L) - self.assertEquals(r.value.value()[1], 9223372036854775807L) + self.assertEqual(r.value.value()[0], -9223372036854775808) + self.assertEqual(r.value.value()[1], 9223372036854775807) def test_cppPropsRangeStructSeq(self): self.preconditions() @@ -553,14 +553,14 @@ def test_cppPropsRangeStructSeq(self): CF.DataType(id='ss_ushort', value=CORBA.Any(CORBA.TC_ushort, 65535)), CF.DataType(id='ss_long', value=CORBA.Any(CORBA.TC_long, 2147483647)), CF.DataType(id='ss_ulong', value=CORBA.Any(CORBA.TC_ulong, 4294967295)), - CF.DataType(id='ss_longlong', value=CORBA.Any(CORBA.TC_longlong, 9223372036854775807L)), - CF.DataType(id='ss_ulonglong', value=CORBA.Any(CORBA.TC_ulonglong, 18446744073709551615L)), + CF.DataType(id='ss_longlong', value=CORBA.Any(CORBA.TC_longlong, 9223372036854775807)), + CF.DataType(id='ss_ulonglong', value=CORBA.Any(CORBA.TC_ulonglong, 18446744073709551615)), CF.DataType(id='ss_seq_octet', value=CORBA.Any(CORBA.TypeCode("IDL:omg.org/CORBA/OctetSeq:1.0"), octet_val)), CF.DataType(id='ss_seq_short', value=CORBA.Any(CORBA.TypeCode("IDL:omg.org/CORBA/ShortSeq:1.0"), [0, 32767])), CF.DataType(id='ss_seq_ushort', value=CORBA.Any(CORBA.TypeCode("IDL:omg.org/CORBA/UShortSeq:1.0"), [0, 65535])), CF.DataType(id='ss_seq_long', value=any.to_any([0, 2147483647])), CF.DataType(id='ss_seq_ulong', value=any.to_any([0, 4294967295])), - CF.DataType(id='ss_seq_longlong', value=any.to_any([0, 9223372036854775807L])), + CF.DataType(id='ss_seq_longlong', value=any.to_any([0, 9223372036854775807])), #CF.DataType(id='ss_seq_ulonglong', value=any.to_any([0, 9223372036854775807L])) ]) # Struct with lower bound @@ -570,14 +570,14 @@ def test_cppPropsRangeStructSeq(self): CF.DataType(id='ss_ushort', value=CORBA.Any(CORBA.TC_ushort, 0)), CF.DataType(id='ss_long', value=CORBA.Any(CORBA.TC_long, -2147483648)), CF.DataType(id='ss_ulong', value=CORBA.Any(CORBA.TC_ulong, 0)), - CF.DataType(id='ss_longlong', value=CORBA.Any(CORBA.TC_longlong, -9223372036854775808L)), + CF.DataType(id='ss_longlong', value=CORBA.Any(CORBA.TC_longlong, -9223372036854775808)), CF.DataType(id='ss_ulonglong', value=CORBA.Any(CORBA.TC_ulonglong, 0)), CF.DataType(id='ss_seq_octet', value=CORBA.Any(CORBA.TypeCode("IDL:omg.org/CORBA/OctetSeq:1.0"), octet_val)), CF.DataType(id='ss_seq_short', value=CORBA.Any(CORBA.TypeCode("IDL:omg.org/CORBA/ShortSeq:1.0"), [-32768, 32767])), CF.DataType(id='ss_seq_ushort', value=CORBA.Any(CORBA.TypeCode("IDL:omg.org/CORBA/UShortSeq:1.0"), [0, 65535])), CF.DataType(id='ss_seq_long', value=any.to_any([-2147483648, 2147483647])), CF.DataType(id='ss_seq_ulong', value=any.to_any([0, 4294967295])), - CF.DataType(id='ss_seq_longlong', value=any.to_any([-9223372036854775808L, 9223372036854775807L])), + CF.DataType(id='ss_seq_longlong', value=any.to_any([-9223372036854775808, 9223372036854775807])), #CF.DataType(id='ss_seq_ulonglong', value=any.to_any([0, 9223372036854775807L])) ]) @@ -595,19 +595,19 @@ def test_cppPropsRangeStructSeq(self): lower = r.value.value()[1] for v in upper.value(): if v.id == 'ss_octet': - self.assertEquals(v.value.value(), 255) + self.assertEqual(v.value.value(), 255) elif v.id == 'ss_short': - self.assertEquals(v.value.value(), 32767) + self.assertEqual(v.value.value(), 32767) elif v.id == 'ss_ushort': - self.assertEquals(v.value.value(), 65535) + self.assertEqual(v.value.value(), 65535) elif v.id == 'ss_long': - self.assertEquals(v.value.value(), 2147483647) + self.assertEqual(v.value.value(), 2147483647) elif v.id == 'ss_ulong': - self.assertEquals(v.value.value(), 4294967295) + self.assertEqual(v.value.value(), 4294967295) elif v.id == 'ss_longlong': - self.assertEquals(v.value.value(), 9223372036854775807L) + self.assertEqual(v.value.value(), 9223372036854775807) elif v.id == 'ss_ulonglong': - self.assertEquals(v.value.value(), 18446744073709551615L) + self.assertEqual(v.value.value(), 18446744073709551615) elif v.id == 'ss_seq_octet': # Octets need to be unpacked stored_vals = v.value.value() @@ -615,35 +615,35 @@ def test_cppPropsRangeStructSeq(self): for num in stored_vals: curr = struct.unpack('B', num) vals.append(curr[0]) - self.assertEquals(vals[0], 0) - self.assertEquals(vals[1], 255) + self.assertEqual(vals[0], 0) + self.assertEqual(vals[1], 255) elif v.id == 'ss_seq_short': - self.assertEquals(v.value.value(), [0, 32767]) + self.assertEqual(v.value.value(), [0, 32767]) elif v.id == 'ss_seq_ushort': - self.assertEquals(v.value.value(), [0, 65535]) + self.assertEqual(v.value.value(), [0, 65535]) elif v.id == 'ss_seq_long': - self.assertEquals(v.value.value(), [0, 2147483647]) + self.assertEqual(v.value.value(), [0, 2147483647]) elif v.id == 'ss_seq_ulong': - self.assertEquals(v.value.value(), [0, 4294967295]) + self.assertEqual(v.value.value(), [0, 4294967295]) elif v.id == 'ss_seq_longlong': - self.assertEquals(v.value.value(), [0, 9223372036854775807L]) + self.assertEqual(v.value.value(), [0, 9223372036854775807]) #elif v.id == 'ss_seq_ulonglong': # self.assertEquals(v.value.value(), [0, 9223372036854775807L]) for v in lower.value(): if v.id == 'ss_octet': - self.assertEquals(v.value.value(), 0) + self.assertEqual(v.value.value(), 0) elif v.id == 'ss_short': - self.assertEquals(v.value.value(), -32768) + self.assertEqual(v.value.value(), -32768) elif v.id == 'ss_ushort': - self.assertEquals(v.value.value(), 0) + self.assertEqual(v.value.value(), 0) elif v.id == 'ss_long': - self.assertEquals(v.value.value(), -2147483648) + self.assertEqual(v.value.value(), -2147483648) elif v.id == 'ss_ulong': - self.assertEquals(v.value.value(), 0) + self.assertEqual(v.value.value(), 0) elif v.id == 'ss_longlong': - self.assertEquals(v.value.value(), -9223372036854775808L) + self.assertEqual(v.value.value(), -9223372036854775808) elif v.id == 'ss_ulonglong': - self.assertEquals(v.value.value(), 0) + self.assertEqual(v.value.value(), 0) elif v.id == 'ss_seq_octet': # Octets need to be unpacked stored_vals = v.value.value() @@ -651,18 +651,18 @@ def test_cppPropsRangeStructSeq(self): for num in stored_vals: curr = struct.unpack('B', num) vals.append(curr[0]) - self.assertEquals(vals[0], 0) - self.assertEquals(vals[1], 255) + self.assertEqual(vals[0], 0) + self.assertEqual(vals[1], 255) elif v.id == 'ss_seq_short': - self.assertEquals(v.value.value(), [-32768, 32767]) + self.assertEqual(v.value.value(), [-32768, 32767]) elif v.id == 'ss_seq_ushort': - self.assertEquals(v.value.value(), [0, 65535]) + self.assertEqual(v.value.value(), [0, 65535]) elif v.id == 'ss_seq_long': - self.assertEquals(v.value.value(), [-2147483648, 2147483647]) + self.assertEqual(v.value.value(), [-2147483648, 2147483647]) elif v.id == 'ss_seq_ulong': - self.assertEquals(v.value.value(), [0, 4294967295]) + self.assertEqual(v.value.value(), [0, 4294967295]) elif v.id == 'ss_seq_longlong': - self.assertEquals(v.value.value(), [-9223372036854775808L, 9223372036854775807L]) + self.assertEqual(v.value.value(), [-9223372036854775808, 9223372036854775807]) #elif v.id == 'ss_seq_ulonglong': #self.assertEquals(v.value.value(), [0, 9223372036854775807L]) @@ -673,16 +673,16 @@ def checkPropValues(self, expected_short, expected_long, expected_struct_short, # Checks for expected prop values for r in res: if r.id == 'my_short': - self.assertEquals(r.value.value(), expected_short) + self.assertEqual(r.value.value(), expected_short) elif r.id == 'my_long': - self.assertEquals(r.value.value(), expected_long) + self.assertEqual(r.value.value(), expected_long) elif r.id == 'my_struct': val = r.value.value() for v in val: if v.id == 'struct_short': - self.assertEquals(v.value.value(), expected_struct_short) + self.assertEqual(v.value.value(), expected_struct_short) elif v.id == 'struct_long': - self.assertEquals(v.value.value(), expected_struct_long) + self.assertEqual(v.value.value(), expected_struct_long) def test_bug208(self): self.preconditions() @@ -770,11 +770,11 @@ def test_propertyExceptionsSeq(self): # Long sequence should have changed and short did not for r in self._app.query([]): if r.id == 'seq_long': - self.assertEquals(r.value.value()[0], 55) - self.assertEquals(r.value.value()[1], 66) + self.assertEqual(r.value.value()[0], 55) + self.assertEqual(r.value.value()[1], 66) elif r.id =='seq_short': - self.assertEquals(r.value.value()[0], 11) - self.assertEquals(r.value.value()[1], 22) + self.assertEqual(r.value.value()[0], 11) + self.assertEqual(r.value.value()[1], 22) def test_SimpleSequenceFromNil(self): self.preconditions() @@ -885,10 +885,10 @@ def test_triggerTiming(self): self.assertNotEqual(self._devBooter, None) dom=redhawk.attach(self._domMgr._get_name()) app = self._domMgr.createApplication("/waveforms/prop_trigger_timing_w/prop_trigger_timing_w.sad.xml", "prop_trigger_timing_w", [], []) - self.assertEquals(dom.apps[0].comps[0].prop_1_trigger, False) - self.assertEquals(dom.apps[0].comps[0].prop_2_trigger, False) - self.assertEquals(dom.apps[0].comps[0].prop_3_trigger, False) - self.assertEquals(dom.apps[0].comps[0].prop_4_trigger, False) + self.assertEqual(dom.apps[0].comps[0].prop_1_trigger, False) + self.assertEqual(dom.apps[0].comps[0].prop_2_trigger, False) + self.assertEqual(dom.apps[0].comps[0].prop_3_trigger, False) + self.assertEqual(dom.apps[0].comps[0].prop_4_trigger, False) def test_Property_CPP(self): self._devBooter, self._devMgr = self.launchDeviceManager("/nodes/test_BasicTestDevice_node/DeviceManager.dcd.xml", self._domMgr) @@ -905,17 +905,17 @@ def test_Property_CPP(self): c=None d=redhawk.attach(scatest.getTestDomainName()) a=d.apps[0] - c=filter( lambda c : c.name == 'Property_CPP', a.comps )[0] + c=[c for c in a.comps if c.name == 'Property_CPP'][0] self.assertNotEqual(c,None) ps = c.ref._narrow(CF.PropertySet) self.assertNotEqual(ps,None) - self.assertEquals(c.p1,"prop1") - self.assertAlmostEquals(c.p2,123.4) - self.assertEquals(c.p3,567) - self.assertEquals(c.p4.p4sub1,"prop2") + self.assertEqual(c.p1,"prop1") + self.assertAlmostEqual(c.p2,123.4) + self.assertEqual(c.p3,567) + self.assertEqual(c.p4.p4sub1,"prop2") t1=int(c.p4.p4sub2) - self.assertEquals(t1,890) + self.assertEqual(t1,890) c.p1 = "testing" c.p2 = 100.0 @@ -923,12 +923,12 @@ def test_Property_CPP(self): c.p4.p4sub1="testing2" c.p4.p4sub2=200.0 - self.assertEquals(c.p1,"testing") - self.assertAlmostEquals(c.p2,100.0) - self.assertEquals(c.p3,100) - self.assertEquals(c.p4.p4sub1,"testing2") + self.assertEqual(c.p1,"testing") + self.assertAlmostEqual(c.p2,100.0) + self.assertEqual(c.p3,100) + self.assertEqual(c.p4.p4sub1,"testing2") t1=int(c.p4.p4sub2) - self.assertEquals(t1,200) + self.assertEqual(t1,200) app.releaseObject() @@ -965,7 +965,7 @@ def test_readonly_sad(self): self.assertEqual(props[0].value._v, "set_once") # try and configure the component - comp=filter( lambda c : c.name == 'TestCppProps', self._app.comps )[0] + comp=[c for c in self._app.comps if c.name == 'TestCppProps'][0] self.assertNotEqual(comp,None) readonly_prop=CF.DataType("readOnly", any.to_any("try_again")) self.assertRaises(CF.PropertySet.InvalidConfiguration, comp.configure, [ readonly_prop ] ) diff --git a/redhawk/src/testing/tests/test_11_JavaProperties.py b/redhawk/src/testing/tests/test_11_JavaProperties.py index 32ff14568..8600d311e 100644 --- a/redhawk/src/testing/tests/test_11_JavaProperties.py +++ b/redhawk/src/testing/tests/test_11_JavaProperties.py @@ -50,7 +50,7 @@ def test_EmptyQuery (self): "structseq_prop", "readOnly" ) for prop in expected: - self.assert_(prop in ids, "'%s' not in default query" % prop) + self.assertTrue(prop in ids, "'%s' not in default query" % prop) def test_SimpleProps(self): # Check expected default @@ -116,15 +116,15 @@ def test_OptionalPropertiesInStruct(self): CF.DataType(id='struct_ushort', value=CORBA.Any(CORBA.TC_ushort, 65535)), CF.DataType(id='struct_long', value=CORBA.Any(CORBA.TC_long, 2147483647)), CF.DataType(id='struct_ulong', value=CORBA.Any(CORBA.TC_ulong, 4294967295)), - CF.DataType(id='struct_longlong', value=CORBA.Any(CORBA.TC_longlong, 9223372036854775807L)), - CF.DataType(id='struct_ulonglong', value=CORBA.Any(CORBA.TC_ulonglong, 18446744073709551615L)), + CF.DataType(id='struct_longlong', value=CORBA.Any(CORBA.TC_longlong, 9223372036854775807)), + CF.DataType(id='struct_ulonglong', value=CORBA.Any(CORBA.TC_ulonglong, 18446744073709551615)), CF.DataType(id='struct_string', value=CORBA.Any(CORBA.TC_string, "new string")), CF.DataType(id='struct_seq_octet', value=CORBA.Any(CORBA.TypeCode("IDL:omg.org/CORBA/OctetSeq:1.0"), octet_val)), CF.DataType(id='struct_seq_short', value=CORBA.Any(CORBA.TypeCode("IDL:omg.org/CORBA/ShortSeq:1.0"), [0, 32767])), CF.DataType(id='struct_seq_ushort', value=CORBA.Any(CORBA.TypeCode("IDL:omg.org/CORBA/UShortSeq:1.0"), [0, 65535])), CF.DataType(id='struct_seq_long', value=any.to_any([0, 2147483647])), CF.DataType(id='struct_seq_ulong', value=any.to_any([0, 4294967295])), - CF.DataType(id='struct_seq_longlong', value=any.to_any([0, 9223372036854775807L])), + CF.DataType(id='struct_seq_longlong', value=any.to_any([0, 9223372036854775807])), #CF.DataType(id='struct_seq_ulonglong', value=any.to_any([0, 9223372036854775807L])) ])) comp.configure([my_struct]) @@ -134,21 +134,21 @@ def test_OptionalPropertiesInStruct(self): val = r.value.value() for v in val: if v.id == 'struct_octet': - self.assertEquals(v.value.value(), 255) + self.assertEqual(v.value.value(), 255) elif v.id == 'struct_short': - self.assertEquals(v.value.value(), 32767) + self.assertEqual(v.value.value(), 32767) elif v.id == 'struct_ushort': - self.assertEquals(v.value.value(), 65535) + self.assertEqual(v.value.value(), 65535) elif v.id == 'struct_long': - self.assertEquals(v.value.value(), 2147483647) + self.assertEqual(v.value.value(), 2147483647) elif v.id == 'struct_ulong': - self.assertEquals(v.value.value(), 4294967295) + self.assertEqual(v.value.value(), 4294967295) elif v.id == 'struct_longlong': - self.assertEquals(v.value.value(), 9223372036854775807L) + self.assertEqual(v.value.value(), 9223372036854775807) elif v.id == 'struct_ulonglong': - self.assertEquals(v.value.value(), 18446744073709551615L) + self.assertEqual(v.value.value(), 18446744073709551615) elif v.id == 'struct_string': - self.assertEquals(v.value.value(), "new string") + self.assertEqual(v.value.value(), "new string") elif v.id == 'struct_seq_octet': # Octets need to be unpacked stored_vals = v.value.value() @@ -156,18 +156,18 @@ def test_OptionalPropertiesInStruct(self): for num in stored_vals: curr = struct.unpack('B', num) vals.append(curr[0]) - self.assertEquals(vals[0], 0) - self.assertEquals(vals[1], 255) + self.assertEqual(vals[0], 0) + self.assertEqual(vals[1], 255) elif v.id == 'struct_seq_short': - self.assertEquals(v.value.value(), [0, 32767]) + self.assertEqual(v.value.value(), [0, 32767]) elif v.id == 'struct_seq_ushort': - self.assertEquals(v.value.value(), [0, 65535]) + self.assertEqual(v.value.value(), [0, 65535]) elif v.id == 'struct_seq_long': - self.assertEquals(v.value.value(), [0, 2147483647]) + self.assertEqual(v.value.value(), [0, 2147483647]) elif v.id == 'struct_seq_ulong': - self.assertEquals(v.value.value(), [0, 4294967295]) + self.assertEqual(v.value.value(), [0, 4294967295]) elif v.id == 'struct_seq_longlong': - self.assertEquals(v.value.value(), [0, 9223372036854775807L]) + self.assertEqual(v.value.value(), [0, 9223372036854775807]) #elif v.id == 'struct_seq_ulonglong': # self.assertEquals(v.value.value(), [0, 9223372036854775807L]) @@ -178,7 +178,7 @@ def test_OptionalPropertiesInStruct(self): CF.DataType(id='struct_ushort', value=CORBA.Any(CORBA.TC_ushort, 65535)), #CF.DataType(id='struct_long', value=CORBA.Any(CORBA.TC_long, 2147483647)), CF.DataType(id='struct_ulong', value=CORBA.Any(CORBA.TC_ulong, 4294967295)), - CF.DataType(id='struct_longlong', value=CORBA.Any(CORBA.TC_longlong, 9223372036854775807L)), + CF.DataType(id='struct_longlong', value=CORBA.Any(CORBA.TC_longlong, 9223372036854775807)), #CF.DataType(id='struct_ulonglong', value=CORBA.Any(CORBA.TC_ulonglong, 18446744073709551615L)), CF.DataType(id='struct_string', value=CORBA.Any(CORBA.TC_string, "new string")), CF.DataType(id='struct_seq_octet', value=CORBA.Any(CORBA.TypeCode("IDL:omg.org/CORBA/OctetSeq:1.0"), octet_val)), @@ -186,7 +186,7 @@ def test_OptionalPropertiesInStruct(self): #CF.DataType(id='struct_seq_ushort', value=CORBA.Any(CORBA.TypeCode("IDL:omg.org/CORBA/UShortSeq:1.0"), [0, 65535])), CF.DataType(id='struct_seq_long', value=any.to_any([0, 2147483647])), CF.DataType(id='struct_seq_ulong', value=any.to_any([0, 4294967295])), - CF.DataType(id='struct_seq_longlong', value=any.to_any([0, 9223372036854775807L])), + CF.DataType(id='struct_seq_longlong', value=any.to_any([0, 9223372036854775807])), #CF.DataType(id='struct_seq_ulonglong', value=any.to_any([0, 9223372036854775807L])) ])) comp.configure([my_struct]) @@ -202,17 +202,17 @@ def test_OptionalPropertiesInStruct(self): self.assertTrue('struct_seq_ulonglong' not in valIds) for v in val: if v.id == 'struct_octet': - self.assertEquals(v.value.value(), 255) + self.assertEqual(v.value.value(), 255) if v.id == 'struct_short': - self.assertEquals(v.value.value(), 32767) + self.assertEqual(v.value.value(), 32767) elif v.id == 'struct_ushort': - self.assertEquals(v.value.value(), 65535) + self.assertEqual(v.value.value(), 65535) elif v.id == 'struct_ulong': - self.assertEquals(v.value.value(), 4294967295) + self.assertEqual(v.value.value(), 4294967295) elif v.id == 'struct_longlong': - self.assertEquals(v.value.value(), 9223372036854775807L) + self.assertEqual(v.value.value(), 9223372036854775807) elif v.id == 'struct_string': - self.assertEquals(v.value.value(), "new string") + self.assertEqual(v.value.value(), "new string") elif v.id == 'struct_seq_octet': # Octets need to be unpacked stored_vals = v.value.value() @@ -220,16 +220,16 @@ def test_OptionalPropertiesInStruct(self): for num in stored_vals: curr = struct.unpack('B', num) vals.append(curr[0]) - self.assertEquals(vals[0], 0) - self.assertEquals(vals[1], 255) + self.assertEqual(vals[0], 0) + self.assertEqual(vals[1], 255) elif v.id == 'struct_seq_short': - self.assertEquals(v.value.value(), [0, 32767]) + self.assertEqual(v.value.value(), [0, 32767]) elif v.id == 'struct_seq_long': - self.assertEquals(v.value.value(), [0, 2147483647]) + self.assertEqual(v.value.value(), [0, 2147483647]) elif v.id == 'struct_seq_ulong': - self.assertEquals(v.value.value(), [0, 4294967295]) + self.assertEqual(v.value.value(), [0, 4294967295]) elif v.id == 'struct_seq_longlong': - self.assertEquals(v.value.value(), [0, 9223372036854775807L]) + self.assertEqual(v.value.value(), [0, 9223372036854775807]) @@ -255,7 +255,7 @@ def test_EmptyQuery (self): "exec_param", "DCE:23a6d333-55fb-4425-a102-185e6e998782") for prop in expected: - self.assert_(prop in ids, "'%s' not in default query" % prop) + self.assertTrue(prop in ids, "'%s' not in default query" % prop) def test_SimpleProps(self): # Check expected default @@ -335,22 +335,22 @@ def test_javaPropsRangeSimple(self): my_ushort = CF.DataType(id='my_ushort', value=CORBA.Any(CORBA.TC_ushort, 65535)) my_long = CF.DataType(id='my_long', value=CORBA.Any(CORBA.TC_long, 2147483647)) my_ulong = CF.DataType(id='my_ulong', value=CORBA.Any(CORBA.TC_ulong, 4294967295)) - my_longlong = CF.DataType(id='my_longlong', value=CORBA.Any(CORBA.TC_longlong, 9223372036854775807L)) + my_longlong = CF.DataType(id='my_longlong', value=CORBA.Any(CORBA.TC_longlong, 9223372036854775807)) self._app.configure([my_octet, my_short, my_ushort, my_long, my_ulong, my_longlong]) res = self._app.query([]) for r in res: if r.id == 'my_octet': - self.assertEquals(r.value.value(), 255) + self.assertEqual(r.value.value(), 255) elif r.id == 'my_short': - self.assertEquals(r.value.value(), 32767) + self.assertEqual(r.value.value(), 32767) elif r.id == 'my_ushort': - self.assertEquals(r.value.value(), 65535) + self.assertEqual(r.value.value(), 65535) elif r.id == 'my_long': - self.assertEquals(r.value.value(), 2147483647) + self.assertEqual(r.value.value(), 2147483647) elif r.id == 'my_ulong': - self.assertEquals(r.value.value(), 4294967295) + self.assertEqual(r.value.value(), 4294967295) elif r.id == 'my_longlong': - self.assertEquals(r.value.value(), 9223372036854775807) + self.assertEqual(r.value.value(), 9223372036854775807) # Test lower bound my_octet = CF.DataType(id='my_octet', value=CORBA.Any(CORBA.TC_long, 0)) @@ -358,22 +358,22 @@ def test_javaPropsRangeSimple(self): my_ushort = CF.DataType(id='my_ushort', value=CORBA.Any(CORBA.TC_ushort, 0)) my_long = CF.DataType(id='my_long', value=CORBA.Any(CORBA.TC_long, -2147483648)) my_ulong = CF.DataType(id='my_ulong', value=CORBA.Any(CORBA.TC_ulong, 0)) - my_longlong = CF.DataType(id='my_longlong', value=CORBA.Any(CORBA.TC_longlong, -9223372036854775808L)) + my_longlong = CF.DataType(id='my_longlong', value=CORBA.Any(CORBA.TC_longlong, -9223372036854775808)) self._app.configure([my_octet, my_short, my_ushort, my_long, my_ulong, my_longlong]) res = self._app.query([]) for r in res: if r.id == 'my_octet': - self.assertEquals(r.value.value(), 0) + self.assertEqual(r.value.value(), 0) elif r.id == 'my_short': - self.assertEquals(r.value.value(), -32768) + self.assertEqual(r.value.value(), -32768) elif r.id == 'my_ushort': - self.assertEquals(r.value.value(), 0) + self.assertEqual(r.value.value(), 0) elif r.id == 'my_long': - self.assertEquals(r.value.value(), -2147483648) + self.assertEqual(r.value.value(), -2147483648) elif r.id == 'my_ulong': - self.assertEquals(r.value.value(), 0) + self.assertEqual(r.value.value(), 0) elif r.id == 'my_longlong': - self.assertEquals(r.value.value(), -9223372036854775808) + self.assertEqual(r.value.value(), -9223372036854775808) def test_javaPropsRangeStruct(self): self.assertNotEqual(self._domMgr, None, "DomainManager not available") @@ -388,14 +388,14 @@ def test_javaPropsRangeStruct(self): CF.DataType(id='struct_ushort', value=CORBA.Any(CORBA.TC_ushort, 65535)), CF.DataType(id='struct_long', value=CORBA.Any(CORBA.TC_long, 2147483647)), CF.DataType(id='struct_ulong', value=CORBA.Any(CORBA.TC_ulong, 4294967295)), - CF.DataType(id='struct_longlong', value=CORBA.Any(CORBA.TC_longlong, 9223372036854775807L)), + CF.DataType(id='struct_longlong', value=CORBA.Any(CORBA.TC_longlong, 9223372036854775807)), CF.DataType(id='struct_seq_octet', value=CORBA.Any(CORBA.TypeCode("IDL:omg.org/CORBA/OctetSeq:1.0"), octet_val)), CF.DataType(id='struct_seq_short', value=CORBA.Any(CORBA.TypeCode("IDL:omg.org/CORBA/ShortSeq:1.0"), [0, 32767])), CF.DataType(id='struct_seq_ushort', value=CORBA.Any(CORBA.TypeCode("IDL:omg.org/CORBA/UShortSeq:1.0"), [0, 65535])), CF.DataType(id='struct_seq_long', value=any.to_any([0, 2147483647])), CF.DataType(id='struct_seq_ulong', value=any.to_any([0, 4294967295])), - CF.DataType(id='struct_seq_longlong', value=any.to_any([0, 9223372036854775807L])), - CF.DataType(id='struct_seq_ulonglong', value=any.to_any([0, 9223372036854775807L])) + CF.DataType(id='struct_seq_longlong', value=any.to_any([0, 9223372036854775807])), + CF.DataType(id='struct_seq_ulonglong', value=any.to_any([0, 9223372036854775807])) ])) self._app.configure([my_struct]) res = self._app.query([]) @@ -404,17 +404,17 @@ def test_javaPropsRangeStruct(self): val = r.value.value() for v in val: if v.id == 'struct_octet': - self.assertEquals(v.value.value(), 255) + self.assertEqual(v.value.value(), 255) elif v.id == 'struct_short': - self.assertEquals(v.value.value(), 32767) + self.assertEqual(v.value.value(), 32767) elif v.id == 'struct_ushort': - self.assertEquals(v.value.value(), 65535) + self.assertEqual(v.value.value(), 65535) elif v.id == 'struct_long': - self.assertEquals(v.value.value(), 2147483647) + self.assertEqual(v.value.value(), 2147483647) elif v.id == 'struct_ulong': - self.assertEquals(v.value.value(), 4294967295) + self.assertEqual(v.value.value(), 4294967295) elif v.id == 'struct_longlong': - self.assertEquals(v.value.value(), 9223372036854775807L) + self.assertEqual(v.value.value(), 9223372036854775807) elif v.id == 'struct_seq_octet': # Octets need to be unpacked stored_vals = v.value.value() @@ -422,20 +422,20 @@ def test_javaPropsRangeStruct(self): for num in stored_vals: curr = struct.unpack('B', num) vals.append(curr[0]) - self.assertEquals(vals[0], 0) - self.assertEquals(vals[1], 255) + self.assertEqual(vals[0], 0) + self.assertEqual(vals[1], 255) elif v.id == 'struct_seq_short': - self.assertEquals(v.value.value(), [0, 32767]) + self.assertEqual(v.value.value(), [0, 32767]) elif v.id == 'struct_seq_ushort': - self.assertEquals(v.value.value(), [0, 65535]) + self.assertEqual(v.value.value(), [0, 65535]) elif v.id == 'struct_seq_long': - self.assertEquals(v.value.value(), [0, 2147483647]) + self.assertEqual(v.value.value(), [0, 2147483647]) elif v.id == 'struct_seq_ulong': - self.assertEquals(v.value.value(), [0, 4294967295]) + self.assertEqual(v.value.value(), [0, 4294967295]) elif v.id == 'struct_seq_longlong': - self.assertEquals(v.value.value(), [0, 9223372036854775807L]) + self.assertEqual(v.value.value(), [0, 9223372036854775807]) elif v.id == 'struct_seq_ulonglong': - self.assertEquals(v.value.value(), [0, 9223372036854775807L]) + self.assertEqual(v.value.value(), [0, 9223372036854775807]) # Test lower bounds my_struct = CF.DataType(id='my_struct', value=any.to_any([ @@ -444,13 +444,13 @@ def test_javaPropsRangeStruct(self): CF.DataType(id='struct_ushort', value=CORBA.Any(CORBA.TC_ushort, 0)), CF.DataType(id='struct_long', value=CORBA.Any(CORBA.TC_long, -2147483648)), CF.DataType(id='struct_ulong', value=CORBA.Any(CORBA.TC_ulong, 0)), - CF.DataType(id='struct_longlong', value=CORBA.Any(CORBA.TC_longlong, -9223372036854775808L)), + CF.DataType(id='struct_longlong', value=CORBA.Any(CORBA.TC_longlong, -9223372036854775808)), CF.DataType(id='struct_seq_octet', value=CORBA.Any(CORBA.TypeCode("IDL:omg.org/CORBA/OctetSeq:1.0"), octet_val)), CF.DataType(id='struct_seq_short', value=CORBA.Any(CORBA.TypeCode("IDL:omg.org/CORBA/ShortSeq:1.0"), [-32768, 32767])), CF.DataType(id='struct_seq_ushort', value=CORBA.Any(CORBA.TypeCode("IDL:omg.org/CORBA/UShortSeq:1.0"), [0, 65535])), CF.DataType(id='struct_seq_long', value=any.to_any([-2147483648, 2147483647])), CF.DataType(id='struct_seq_ulong', value=any.to_any([0, 4294967295])), - CF.DataType(id='struct_seq_longlong', value=any.to_any([-9223372036854775808L, 9223372036854775807L])), + CF.DataType(id='struct_seq_longlong', value=any.to_any([-9223372036854775808, 9223372036854775807])), CF.DataType(id='struct_seq_ulonglong', value=any.to_any([0, 9223372036854775807])) ])) self._app.configure([my_struct]) @@ -460,17 +460,17 @@ def test_javaPropsRangeStruct(self): val = r.value.value() for v in val: if v.id == 'struct_octet': - self.assertEquals(v.value.value(), 0) + self.assertEqual(v.value.value(), 0) elif v.id == 'struct_short': - self.assertEquals(v.value.value(), -32768) + self.assertEqual(v.value.value(), -32768) elif v.id == 'struct_ushort': - self.assertEquals(v.value.value(), 0) + self.assertEqual(v.value.value(), 0) elif v.id == 'struct_long': - self.assertEquals(v.value.value(), -2147483648) + self.assertEqual(v.value.value(), -2147483648) elif v.id == 'struct_ulong': - self.assertEquals(v.value.value(), 0) + self.assertEqual(v.value.value(), 0) elif v.id == 'struct_longlong': - self.assertEquals(v.value.value(), -9223372036854775808L) + self.assertEqual(v.value.value(), -9223372036854775808) elif v.id == 'struct_seq_octet': # Octets need to be unpacked stored_vals = v.value.value() @@ -478,20 +478,20 @@ def test_javaPropsRangeStruct(self): for num in stored_vals: curr = struct.unpack('B', num) vals.append(curr[0]) - self.assertEquals(vals[0], 0) - self.assertEquals(vals[1], 255) + self.assertEqual(vals[0], 0) + self.assertEqual(vals[1], 255) elif v.id == 'struct_seq_short': - self.assertEquals(v.value.value(), [-32768, 32767]) + self.assertEqual(v.value.value(), [-32768, 32767]) elif v.id == 'struct_seq_ushort': - self.assertEquals(v.value.value(), [0, 65535]) + self.assertEqual(v.value.value(), [0, 65535]) elif v.id == 'struct_seq_long': - self.assertEquals(v.value.value(), [-2147483648, 2147483647]) + self.assertEqual(v.value.value(), [-2147483648, 2147483647]) elif v.id == 'struct_seq_ulong': - self.assertEquals(v.value.value(), [0, 4294967295]) + self.assertEqual(v.value.value(), [0, 4294967295]) elif v.id == 'struct_seq_longlong': - self.assertEquals(v.value.value(), [-9223372036854775808L, 9223372036854775807L]) + self.assertEqual(v.value.value(), [-9223372036854775808, 9223372036854775807]) elif v.id == 'struct_seq_ulonglong': - self.assertEquals(v.value.value(), [0, 9223372036854775807L]) + self.assertEqual(v.value.value(), [0, 9223372036854775807]) def test_javaPropsRangeSeq(self): @@ -512,7 +512,7 @@ def test_javaPropsRangeSeq(self): )) seq_long = CF.DataType(id='seq_long', value=any.to_any([-2147483648, 2147483647])) seq_ulong = CF.DataType(id='seq_ulong', value=any.to_any([0,4294967295])) - seq_longlong = CF.DataType(id='seq_longlong', value=any.to_any([-9223372036854775808L, 9223372036854775807L])) + seq_longlong = CF.DataType(id='seq_longlong', value=any.to_any([-9223372036854775808, 9223372036854775807])) self._app.configure([seq_octet, seq_short, seq_ushort, seq_long, seq_ulong, seq_longlong]) res = self._app.query([]) @@ -524,23 +524,23 @@ def test_javaPropsRangeSeq(self): for num in stored_vals: curr = struct.unpack('B', num) vals.append(curr[0]) - self.assertEquals(vals[0], 0) - self.assertEquals(vals[1], 255) + self.assertEqual(vals[0], 0) + self.assertEqual(vals[1], 255) elif r.id == 'seq_short': - self.assertEquals(r.value.value()[0], -32768) - self.assertEquals(r.value.value()[1], 32767) + self.assertEqual(r.value.value()[0], -32768) + self.assertEqual(r.value.value()[1], 32767) elif r.id == 'seq_ushort': - self.assertEquals(r.value.value()[0], 0) - self.assertEquals(r.value.value()[1], 65535) + self.assertEqual(r.value.value()[0], 0) + self.assertEqual(r.value.value()[1], 65535) elif r.id == 'seq_long': - self.assertEquals(r.value.value()[0], -2147483648) - self.assertEquals(r.value.value()[1], 2147483647) + self.assertEqual(r.value.value()[0], -2147483648) + self.assertEqual(r.value.value()[1], 2147483647) elif r.id == 'seq_ulong': - self.assertEquals(r.value.value()[0], 0) - self.assertEquals(r.value.value()[1], 4294967295) + self.assertEqual(r.value.value()[0], 0) + self.assertEqual(r.value.value()[1], 4294967295) elif r.id == 'seq_longlong': - self.assertEquals(r.value.value()[0], -9223372036854775808L) - self.assertEquals(r.value.value()[1], 9223372036854775807L) + self.assertEqual(r.value.value()[0], -9223372036854775808) + self.assertEqual(r.value.value()[1], 9223372036854775807) def test_javaPropsRangeStructSeq(self): @@ -556,14 +556,14 @@ def test_javaPropsRangeStructSeq(self): CF.DataType(id='ss_ushort', value=CORBA.Any(CORBA.TC_ushort, 65535)), CF.DataType(id='ss_long', value=CORBA.Any(CORBA.TC_long, 2147483647)), CF.DataType(id='ss_ulong', value=CORBA.Any(CORBA.TC_ulong, 4294967295)), - CF.DataType(id='ss_longlong', value=CORBA.Any(CORBA.TC_longlong, 9223372036854775807L)), + CF.DataType(id='ss_longlong', value=CORBA.Any(CORBA.TC_longlong, 9223372036854775807)), CF.DataType(id='ss_seq_octet', value=CORBA.Any(CORBA.TypeCode("IDL:omg.org/CORBA/OctetSeq:1.0"), octet_val)), CF.DataType(id='ss_seq_short', value=CORBA.Any(CORBA.TypeCode("IDL:omg.org/CORBA/ShortSeq:1.0"), [0, 32767])), CF.DataType(id='ss_seq_ushort', value=CORBA.Any(CORBA.TypeCode("IDL:omg.org/CORBA/UShortSeq:1.0"), [0, 65535])), CF.DataType(id='ss_seq_long', value=any.to_any([0, 2147483647])), CF.DataType(id='ss_seq_ulong', value=any.to_any([0, 4294967295])), - CF.DataType(id='ss_seq_longlong', value=any.to_any([0, 9223372036854775807L])), - CF.DataType(id='ss_seq_ulonglong', value=any.to_any([0, 9223372036854775807L])) + CF.DataType(id='ss_seq_longlong', value=any.to_any([0, 9223372036854775807])), + CF.DataType(id='ss_seq_ulonglong', value=any.to_any([0, 9223372036854775807])) ]) # Struct with lower bound lower = CORBA.Any(CORBA.TypeCode("IDL:CF/Properties:1.0"), [ @@ -572,14 +572,14 @@ def test_javaPropsRangeStructSeq(self): CF.DataType(id='ss_ushort', value=CORBA.Any(CORBA.TC_ushort, 0)), CF.DataType(id='ss_long', value=CORBA.Any(CORBA.TC_long, -2147483648)), CF.DataType(id='ss_ulong', value=CORBA.Any(CORBA.TC_ulong, 0)), - CF.DataType(id='ss_longlong', value=CORBA.Any(CORBA.TC_longlong, -9223372036854775808L)), + CF.DataType(id='ss_longlong', value=CORBA.Any(CORBA.TC_longlong, -9223372036854775808)), CF.DataType(id='ss_seq_octet', value=CORBA.Any(CORBA.TypeCode("IDL:omg.org/CORBA/OctetSeq:1.0"), octet_val)), CF.DataType(id='ss_seq_short', value=CORBA.Any(CORBA.TypeCode("IDL:omg.org/CORBA/ShortSeq:1.0"), [-32768, 32767])), CF.DataType(id='ss_seq_ushort', value=CORBA.Any(CORBA.TypeCode("IDL:omg.org/CORBA/UShortSeq:1.0"), [0, 65535])), CF.DataType(id='ss_seq_long', value=any.to_any([-2147483648, 2147483647])), CF.DataType(id='ss_seq_ulong', value=any.to_any([0, 4294967295])), - CF.DataType(id='ss_seq_longlong', value=any.to_any([-9223372036854775808L, 9223372036854775807L])), - CF.DataType(id='ss_seq_ulonglong', value=any.to_any([0, 9223372036854775807L])) + CF.DataType(id='ss_seq_longlong', value=any.to_any([-9223372036854775808, 9223372036854775807])), + CF.DataType(id='ss_seq_ulonglong', value=any.to_any([0, 9223372036854775807])) ]) my_structseq = CF.DataType(id='my_structseq', @@ -596,17 +596,17 @@ def test_javaPropsRangeStructSeq(self): lower = r.value.value()[1] for v in upper.value(): if v.id == 'ss_octet': - self.assertEquals(v.value.value(), 255) + self.assertEqual(v.value.value(), 255) elif v.id == 'ss_short': - self.assertEquals(v.value.value(), 32767) + self.assertEqual(v.value.value(), 32767) elif v.id == 'ss_ushort': - self.assertEquals(v.value.value(), 65535) + self.assertEqual(v.value.value(), 65535) elif v.id == 'ss_long': - self.assertEquals(v.value.value(), 2147483647) + self.assertEqual(v.value.value(), 2147483647) elif v.id == 'ss_ulong': - self.assertEquals(v.value.value(), 4294967295) + self.assertEqual(v.value.value(), 4294967295) elif v.id == 'ss_longlong': - self.assertEquals(v.value.value(), 9223372036854775807L) + self.assertEqual(v.value.value(), 9223372036854775807) elif v.id == 'ss_seq_octet': # Octets need to be unpacked stored_vals = v.value.value() @@ -614,33 +614,33 @@ def test_javaPropsRangeStructSeq(self): for num in stored_vals: curr = struct.unpack('B', num) vals.append(curr[0]) - self.assertEquals(vals[0], 0) - self.assertEquals(vals[1], 255) + self.assertEqual(vals[0], 0) + self.assertEqual(vals[1], 255) elif v.id == 'ss_seq_short': - self.assertEquals(v.value.value(), [0, 32767]) + self.assertEqual(v.value.value(), [0, 32767]) elif v.id == 'ss_seq_ushort': - self.assertEquals(v.value.value(), [0, 65535]) + self.assertEqual(v.value.value(), [0, 65535]) elif v.id == 'ss_seq_long': - self.assertEquals(v.value.value(), [0, 2147483647]) + self.assertEqual(v.value.value(), [0, 2147483647]) elif v.id == 'ss_seq_ulong': - self.assertEquals(v.value.value(), [0, 4294967295]) + self.assertEqual(v.value.value(), [0, 4294967295]) elif v.id == 'ss_seq_longlong': - self.assertEquals(v.value.value(), [0, 9223372036854775807L]) + self.assertEqual(v.value.value(), [0, 9223372036854775807]) elif v.id == 'ss_seq_ulonglong': - self.assertEquals(v.value.value(), [0, 9223372036854775807L]) + self.assertEqual(v.value.value(), [0, 9223372036854775807]) for v in lower.value(): if v.id == 'ss_octet': - self.assertEquals(v.value.value(), 0) + self.assertEqual(v.value.value(), 0) elif v.id == 'ss_short': - self.assertEquals(v.value.value(), -32768) + self.assertEqual(v.value.value(), -32768) elif v.id == 'ss_ushort': - self.assertEquals(v.value.value(), 0) + self.assertEqual(v.value.value(), 0) elif v.id == 'ss_long': - self.assertEquals(v.value.value(), -2147483648) + self.assertEqual(v.value.value(), -2147483648) elif v.id == 'ss_ulong': - self.assertEquals(v.value.value(), 0) + self.assertEqual(v.value.value(), 0) elif v.id == 'ss_longlong': - self.assertEquals(v.value.value(), -9223372036854775808L) + self.assertEqual(v.value.value(), -9223372036854775808) elif v.id == 'ss_seq_octet': # Octets need to be unpacked stored_vals = v.value.value() @@ -648,20 +648,20 @@ def test_javaPropsRangeStructSeq(self): for num in stored_vals: curr = struct.unpack('B', num) vals.append(curr[0]) - self.assertEquals(vals[0], 0) - self.assertEquals(vals[1], 255) + self.assertEqual(vals[0], 0) + self.assertEqual(vals[1], 255) elif v.id == 'ss_seq_short': - self.assertEquals(v.value.value(), [-32768, 32767]) + self.assertEqual(v.value.value(), [-32768, 32767]) elif v.id == 'ss_seq_ushort': - self.assertEquals(v.value.value(), [0, 65535]) + self.assertEqual(v.value.value(), [0, 65535]) elif v.id == 'ss_seq_long': - self.assertEquals(v.value.value(), [-2147483648, 2147483647]) + self.assertEqual(v.value.value(), [-2147483648, 2147483647]) elif v.id == 'ss_seq_ulong': - self.assertEquals(v.value.value(), [0, 4294967295]) + self.assertEqual(v.value.value(), [0, 4294967295]) elif v.id == 'ss_seq_longlong': - self.assertEquals(v.value.value(), [-9223372036854775808L, 9223372036854775807L]) + self.assertEqual(v.value.value(), [-9223372036854775808, 9223372036854775807]) elif v.id == 'ss_seq_ulonglong': - self.assertEquals(v.value.value(), [0, 9223372036854775807L]) + self.assertEqual(v.value.value(), [0, 9223372036854775807]) @scatest.requireJava @@ -710,17 +710,17 @@ def test_Property_JAVA(self): c=None d=redhawk.attach(scatest.getTestDomainName()) a=d.apps[0] - c=filter( lambda c : c.name == 'Property_JAVA', a.comps )[0] + c=[c for c in a.comps if c.name == 'Property_JAVA'][0] self.assertNotEqual(c,None) ps = c.ref._narrow(CF.PropertySet) self.assertNotEqual(ps,None) - self.assertEquals(c.p1,"prop1") - self.assertAlmostEquals(c.p2,123.4) - self.assertEquals(c.p3,567) - self.assertEquals(c.p4.p4sub1,"prop2") + self.assertEqual(c.p1,"prop1") + self.assertAlmostEqual(c.p2,123.4) + self.assertEqual(c.p3,567) + self.assertEqual(c.p4.p4sub1,"prop2") t1=int(c.p4.p4sub2) - self.assertEquals(t1,890) + self.assertEqual(t1,890) c.p1 = "testing" c.p2 = 100.0 @@ -728,12 +728,12 @@ def test_Property_JAVA(self): c.p4.p4sub1="testing2" c.p4.p4sub2=200.0 - self.assertEquals(c.p1,"testing") - self.assertAlmostEquals(c.p2,100.0) - self.assertEquals(c.p3,100) - self.assertEquals(c.p4.p4sub1,"testing2") + self.assertEqual(c.p1,"testing") + self.assertAlmostEqual(c.p2,100.0) + self.assertEqual(c.p3,100) + self.assertEqual(c.p4.p4sub1,"testing2") t1=int(c.p4.p4sub2) - self.assertEquals(t1,200) + self.assertEqual(t1,200) app.releaseObject() @@ -770,17 +770,17 @@ def preconditions(self): def test_UTCTimeJava(self): prop = self._app.query([CF.DataType('simple_utctime', any.to_any(None))]) datetime = time.gmtime(prop[0].value.value().twsec) - self.assertEquals(datetime.tm_year,2017) - self.assertEquals(datetime.tm_mon,2) - self.assertEquals(datetime.tm_mday,1) - self.assertEquals(datetime.tm_hour,10) - self.assertEquals(datetime.tm_min,1) - self.assertEquals(datetime.tm_sec,0) - self.assertEquals(prop[0].value.value().tfsec,0.123) + self.assertEqual(datetime.tm_year,2017) + self.assertEqual(datetime.tm_mon,2) + self.assertEqual(datetime.tm_mday,1) + self.assertEqual(datetime.tm_hour,10) + self.assertEqual(datetime.tm_min,1) + self.assertEqual(datetime.tm_sec,0) + self.assertEqual(prop[0].value.value().tfsec,0.123) self._app.configure([CF.DataType('reset_utctime', any.to_any(True))]) prop = self._app.query([CF.DataType('simple_utctime', any.to_any(None))]) now = time.time() - self.assertEquals(abs(now-(prop[0].value.value().twsec+prop[0].value.value().tfsec))<0.1,True) + self.assertEqual(abs(now-(prop[0].value.value().twsec+prop[0].value.value().tfsec))<0.1,True) @scatest.requireJava class JavaPropertiesReadOnly(scatest.CorbaTestCase): @@ -814,7 +814,7 @@ def test_readonly_sad(self): self.assertEqual(props[0].value._v, "set_once") # try and configure the component - comp=filter( lambda c : c.name == 'TestJavaProps', self._app.comps )[0] + comp=[c for c in self._app.comps if c.name == 'TestJavaProps'][0] self.assertNotEqual(comp,None) readonly_prop=CF.DataType("readOnly", any.to_any("try_again")) self.assertRaises(CF.PropertySet.InvalidConfiguration, comp.configure, [ readonly_prop ] ) diff --git a/redhawk/src/testing/tests/test_11_PyProperties.py b/redhawk/src/testing/tests/test_11_PyProperties.py index 966aced86..fa0264b2a 100644 --- a/redhawk/src/testing/tests/test_11_PyProperties.py +++ b/redhawk/src/testing/tests/test_11_PyProperties.py @@ -30,9 +30,9 @@ class PyPropertiesTest(scatest.CorbaTestCase): def setUp(self): - print "-----------------------------------------" - print os.getenv('OSSIEHOME') - print "-----------------------------------------" + print("-----------------------------------------") + print(os.getenv('OSSIEHOME')) + print("-----------------------------------------") domBooter, self._domMgr = self.launchDomainManager() devBooter, self._devMgr = self.launchDeviceManager("/nodes/test_BasicTestDevice_node/DeviceManager.dcd.xml") self._app = None @@ -137,7 +137,7 @@ def test_sequenceOperators (self): # Test key list. keys = self._app.query([CF.DataType(id + '[?]', any.to_any(None))])[0] keys = any.from_any(keys.value) - self.assertEqual(keys, range(length)) + self.assertEqual(keys, list(range(length))) # Test key-value pairs. kvpairs = self._app.query([CF.DataType(id + '[@]', any.to_any(None))])[0] @@ -161,25 +161,25 @@ def test_pythonPropsRange(self): my_ushort = CF.DataType(id='my_ushort', value=CORBA.Any(CORBA.TC_long, 65535)) my_long = CF.DataType(id='my_long', value=CORBA.Any(CORBA.TC_longlong, 2147483647)) my_ulong = CF.DataType(id='my_ulong', value=CORBA.Any(CORBA.TC_longlong, 4294967295)) - my_longlong = CF.DataType(id='my_longlong', value=CORBA.Any(CORBA.TC_longlong, 9223372036854775807L)) - my_ulonglong = CF.DataType(id='my_ulonglong', value=CORBA.Any(CORBA.TC_ulonglong, 18446744073709551615L)) + my_longlong = CF.DataType(id='my_longlong', value=CORBA.Any(CORBA.TC_longlong, 9223372036854775807)) + my_ulonglong = CF.DataType(id='my_ulonglong', value=CORBA.Any(CORBA.TC_ulonglong, 18446744073709551615)) self._app.configure([my_octet, my_short, my_ushort, my_long, my_ulong, my_longlong, my_ulonglong]) res = self._app.query([]) for r in res: if r.id == 'my_octet': - self.assertEquals(r.value.value(), 255) + self.assertEqual(r.value.value(), 255) elif r.id == 'my_short': - self.assertEquals(r.value.value(), 32767) + self.assertEqual(r.value.value(), 32767) elif r.id == 'my_ushort': - self.assertEquals(r.value.value(), 65535) + self.assertEqual(r.value.value(), 65535) elif r.id == 'my_long': - self.assertEquals(r.value.value(), 2147483647) + self.assertEqual(r.value.value(), 2147483647) elif r.id == 'my_ulong': - self.assertEquals(r.value.value(), 4294967295) + self.assertEqual(r.value.value(), 4294967295) elif r.id == 'my_longlong': - self.assertEquals(r.value.value(), 9223372036854775807) + self.assertEqual(r.value.value(), 9223372036854775807) elif r.id == 'my_ulonglong': - self.assertEquals(r.value.value(), 18446744073709551615) + self.assertEqual(r.value.value(), 18446744073709551615) # Test lower boound my_octet = CF.DataType(id='my_octet', value=CORBA.Any(CORBA.TC_long, 0)) @@ -187,25 +187,25 @@ def test_pythonPropsRange(self): my_ushort = CF.DataType(id='my_ushort', value=CORBA.Any(CORBA.TC_long, 0)) my_long = CF.DataType(id='my_long', value=CORBA.Any(CORBA.TC_longlong, -2147483648)) my_ulong = CF.DataType(id='my_ulong', value=CORBA.Any(CORBA.TC_longlong, 0)) - my_longlong = CF.DataType(id='my_longlong', value=CORBA.Any(CORBA.TC_longlong, -9223372036854775808L)) + my_longlong = CF.DataType(id='my_longlong', value=CORBA.Any(CORBA.TC_longlong, -9223372036854775808)) my_ulonglong = CF.DataType(id='my_ulonglong', value=CORBA.Any(CORBA.TC_ulonglong, 0)) self._app.configure([my_octet, my_short, my_ushort, my_long, my_ulong, my_longlong, my_ulonglong]) res = self._app.query([]) for r in res: if r.id == 'my_octet': - self.assertEquals(r.value.value(), 0) + self.assertEqual(r.value.value(), 0) elif r.id == 'my_short': - self.assertEquals(r.value.value(), -32768) + self.assertEqual(r.value.value(), -32768) elif r.id == 'my_ushort': - self.assertEquals(r.value.value(), 0) + self.assertEqual(r.value.value(), 0) elif r.id == 'my_long': - self.assertEquals(r.value.value(), -2147483648) + self.assertEqual(r.value.value(), -2147483648) elif r.id == 'my_ulong': - self.assertEquals(r.value.value(), 0) + self.assertEqual(r.value.value(), 0) elif r.id == 'my_longlong': - self.assertEquals(r.value.value(), -9223372036854775808) + self.assertEqual(r.value.value(), -9223372036854775808) elif r.id == 'my_ulonglong': - self.assertEquals(r.value.value(), 0) + self.assertEqual(r.value.value(), 0) # Test one beyond upper bound my_octet = CF.DataType(id='my_octet', value=CORBA.Any(CORBA.TC_long, 256)) @@ -213,7 +213,7 @@ def test_pythonPropsRange(self): my_ushort = CF.DataType(id='my_ushort', value=CORBA.Any(CORBA.TC_long, 65536)) my_long = CF.DataType(id='my_long', value=CORBA.Any(CORBA.TC_longlong, 2147483648)) my_ulong = CF.DataType(id='my_ulong', value=CORBA.Any(CORBA.TC_longlong, 4294967296)) - my_longlong = CF.DataType(id='my_longlong', value=CORBA.Any(CORBA.TC_ulonglong, 9223372036854775808L)) + my_longlong = CF.DataType(id='my_longlong', value=CORBA.Any(CORBA.TC_ulonglong, 9223372036854775808)) # All should fail causing InvalidConfiguration self.assertRaises(CF.PropertySet.InvalidConfiguration, self._app.configure, @@ -239,19 +239,19 @@ def test_pythonPropsRange(self): res = self._app.query([]) for r in res: if r.id == 'my_octet': - self.assertEquals(r.value.value(), 11) + self.assertEqual(r.value.value(), 11) elif r.id == 'my_short': - self.assertEquals(r.value.value(), -32768) + self.assertEqual(r.value.value(), -32768) elif r.id == 'my_ushort': - self.assertEquals(r.value.value(), 22) + self.assertEqual(r.value.value(), 22) elif r.id == 'my_long': - self.assertEquals(r.value.value(), -2147483648) + self.assertEqual(r.value.value(), -2147483648) elif r.id == 'my_ulong': - self.assertEquals(r.value.value(), 0) + self.assertEqual(r.value.value(), 0) elif r.id == 'my_longlong': - self.assertEquals(r.value.value(), -9223372036854775808) + self.assertEqual(r.value.value(), -9223372036854775808) elif r.id == 'my_ulonglong': - self.assertEquals(r.value.value(), 0) + self.assertEqual(r.value.value(), 0) def test_pythonPropsRangeStruct(self): self._app = self._launchApp('TestPythonPropsRange') @@ -262,15 +262,15 @@ def test_pythonPropsRangeStruct(self): CF.DataType(id='struct_ushort', value=CORBA.Any(CORBA.TC_long, 65535)), CF.DataType(id='struct_long', value=CORBA.Any(CORBA.TC_longlong, 2147483647)), CF.DataType(id='struct_ulong', value=CORBA.Any(CORBA.TC_longlong, 4294967295)), - CF.DataType(id='struct_longlong', value=CORBA.Any(CORBA.TC_longlong, 9223372036854775807L)), - CF.DataType(id='struct_ulonglong', value=CORBA.Any(CORBA.TC_ulonglong, 18446744073709551615L)), + CF.DataType(id='struct_longlong', value=CORBA.Any(CORBA.TC_longlong, 9223372036854775807)), + CF.DataType(id='struct_ulonglong', value=CORBA.Any(CORBA.TC_ulonglong, 18446744073709551615)), CF.DataType(id='struct_seq_octet', value=any.to_any([CORBA.Any(CORBA.TC_long, 0), CORBA.Any(CORBA.TC_long, 255)])), CF.DataType(id='struct_seq_short', value=any.to_any([0, 32767])), CF.DataType(id='struct_seq_ushort', value=any.to_any([0, 65535])), CF.DataType(id='struct_seq_long', value=any.to_any([0, 2147483647])), CF.DataType(id='struct_seq_ulong', value=any.to_any([0, 4294967295])), - CF.DataType(id='struct_seq_longlong', value=any.to_any([0, 9223372036854775807L])), - CF.DataType(id='struct_seq_ulonglong', value=any.to_any([0, 9223372036854775807L])) + CF.DataType(id='struct_seq_longlong', value=any.to_any([0, 9223372036854775807])), + CF.DataType(id='struct_seq_ulonglong', value=any.to_any([0, 9223372036854775807])) ])) self._app.configure([my_struct]) res = self._app.query([]) @@ -279,36 +279,36 @@ def test_pythonPropsRangeStruct(self): val = r.value.value() for v in val: if v.id == 'struct_octet': - self.assertEquals(v.value.value(), 255) + self.assertEqual(v.value.value(), 255) elif v.id == 'struct_short': - self.assertEquals(v.value.value(), 32767) + self.assertEqual(v.value.value(), 32767) elif v.id == 'struct_ushort': - self.assertEquals(v.value.value(), 65535) + self.assertEqual(v.value.value(), 65535) elif v.id == 'struct_long': - self.assertEquals(v.value.value(), 2147483647) + self.assertEqual(v.value.value(), 2147483647) elif v.id == 'struct_ulong': - self.assertEquals(v.value.value(), 4294967295) + self.assertEqual(v.value.value(), 4294967295) elif v.id == 'struct_longlong': - self.assertEquals(v.value.value(), 9223372036854775807L) + self.assertEqual(v.value.value(), 9223372036854775807) elif v.id == 'struct_ulonglong': - self.assertEquals(v.value.value(), 18446744073709551615L) + self.assertEqual(v.value.value(), 18446744073709551615) elif v.id == 'struct_seq_octet': # Octet sequences are treated like strings, so numbers need to be extracted vals = v.value.value().lstrip('[').rstrip(']').split(',') - self.assertEquals(int(vals[0].strip()), 0) - self.assertEquals(int(vals[1].strip()), 255) + self.assertEqual(int(vals[0].strip()), 0) + self.assertEqual(int(vals[1].strip()), 255) elif v.id == 'struct_seq_short': - self.assertEquals(v.value.value(), [0, 32767]) + self.assertEqual(v.value.value(), [0, 32767]) elif v.id == 'struct_seq_ushort': - self.assertEquals(v.value.value(), [0, 65535]) + self.assertEqual(v.value.value(), [0, 65535]) elif v.id == 'struct_seq_long': - self.assertEquals(v.value.value(), [0, 2147483647]) + self.assertEqual(v.value.value(), [0, 2147483647]) elif v.id == 'struct_seq_ulong': - self.assertEquals(v.value.value(), [0, 4294967295]) + self.assertEqual(v.value.value(), [0, 4294967295]) elif v.id == 'struct_seq_longlong': - self.assertEquals(v.value.value(), [0, 9223372036854775807L]) + self.assertEqual(v.value.value(), [0, 9223372036854775807]) elif v.id == 'struct_seq_ulonglong': - self.assertEquals(v.value.value(), [0, 9223372036854775807L]) + self.assertEqual(v.value.value(), [0, 9223372036854775807]) # Test lower bounds my_struct = CF.DataType(id='my_struct', value=any.to_any([ @@ -317,14 +317,14 @@ def test_pythonPropsRangeStruct(self): CF.DataType(id='struct_ushort', value=CORBA.Any(CORBA.TC_long, 0)), CF.DataType(id='struct_long', value=CORBA.Any(CORBA.TC_longlong, -2147483648)), CF.DataType(id='struct_ulong', value=CORBA.Any(CORBA.TC_longlong, 0)), - CF.DataType(id='struct_longlong', value=CORBA.Any(CORBA.TC_longlong, -9223372036854775808L)), + CF.DataType(id='struct_longlong', value=CORBA.Any(CORBA.TC_longlong, -9223372036854775808)), CF.DataType(id='struct_ulonglong', value=CORBA.Any(CORBA.TC_ulonglong, 0)), CF.DataType(id='struct_seq_octet', value=any.to_any([CORBA.Any(CORBA.TC_long, 0), CORBA.Any(CORBA.TC_long, 255)])), CF.DataType(id='struct_seq_short', value=any.to_any([-32768, 32767])), CF.DataType(id='struct_seq_ushort', value=any.to_any([0, 65535])), CF.DataType(id='struct_seq_long', value=any.to_any([-2147483648, 2147483647])), CF.DataType(id='struct_seq_ulong', value=any.to_any([0, 4294967295])), - CF.DataType(id='struct_seq_longlong', value=any.to_any([-9223372036854775808L, 9223372036854775807L])), + CF.DataType(id='struct_seq_longlong', value=any.to_any([-9223372036854775808, 9223372036854775807])), CF.DataType(id='struct_seq_ulonglong', value=any.to_any([0, 9223372036854775807])) ])) self._app.configure([my_struct]) @@ -334,36 +334,36 @@ def test_pythonPropsRangeStruct(self): val = r.value.value() for v in val: if v.id == 'struct_octet': - self.assertEquals(v.value.value(), 0) + self.assertEqual(v.value.value(), 0) elif v.id == 'struct_short': - self.assertEquals(v.value.value(), -32768) + self.assertEqual(v.value.value(), -32768) elif v.id == 'struct_ushort': - self.assertEquals(v.value.value(), 0) + self.assertEqual(v.value.value(), 0) elif v.id == 'struct_long': - self.assertEquals(v.value.value(), -2147483648) + self.assertEqual(v.value.value(), -2147483648) elif v.id == 'struct_ulong': - self.assertEquals(v.value.value(), 0) + self.assertEqual(v.value.value(), 0) elif v.id == 'struct_longlong': - self.assertEquals(v.value.value(), -9223372036854775808L) + self.assertEqual(v.value.value(), -9223372036854775808) elif v.id == 'struct_ulonglong': - self.assertEquals(v.value.value(), 0) + self.assertEqual(v.value.value(), 0) elif v.id == 'struct_seq_octet': # Octet sequences are treated like strings, so numbers need to be extracted vals = v.value.value().lstrip('[').rstrip(']').split(',') - self.assertEquals(int(vals[0].strip()), 0) - self.assertEquals(int(vals[1].strip()), 255) + self.assertEqual(int(vals[0].strip()), 0) + self.assertEqual(int(vals[1].strip()), 255) elif v.id == 'struct_seq_short': - self.assertEquals(v.value.value(), [-32768, 32767]) + self.assertEqual(v.value.value(), [-32768, 32767]) elif v.id == 'struct_seq_ushort': - self.assertEquals(v.value.value(), [0, 65535]) + self.assertEqual(v.value.value(), [0, 65535]) elif v.id == 'struct_seq_long': - self.assertEquals(v.value.value(), [-2147483648, 2147483647]) + self.assertEqual(v.value.value(), [-2147483648, 2147483647]) elif v.id == 'struct_seq_ulong': - self.assertEquals(v.value.value(), [0, 4294967295]) + self.assertEqual(v.value.value(), [0, 4294967295]) elif v.id == 'struct_seq_longlong': - self.assertEquals(v.value.value(), [-9223372036854775808L, 9223372036854775807L]) + self.assertEqual(v.value.value(), [-9223372036854775808, 9223372036854775807]) elif v.id == 'struct_seq_ulonglong': - self.assertEquals(v.value.value(), [0, 9223372036854775807L]) + self.assertEqual(v.value.value(), [0, 9223372036854775807]) # Loop through each member of the struct to test one beyond the upper bound for r in res: @@ -381,10 +381,10 @@ def test_pythonPropsRangeStruct(self): seq_octet_val = [0, 0] seq_short_val = [0, 0] seq_ushort_val = [0, 0] - seq_long_val = [0L, 0L] - seq_ulong_val = [0L, 0L] - seq_longlong_val = [0L, 0L] - seq_ulonglong_val = [0L, 0L] + seq_long_val = [0, 0] + seq_ulong_val = [0, 0] + seq_longlong_val = [0, 0] + seq_ulonglong_val = [0, 0] # Creates struct with only 1 invalid member, which will still cause invalid configuration if v.id == 'struct_octet': octet_val = 256 @@ -397,7 +397,7 @@ def test_pythonPropsRangeStruct(self): elif v.id == 'struct_ulong': ulong_val = 4294967296 elif v.id == 'struct_longlong': - longlong_val = 9223372036854775808L + longlong_val = 9223372036854775808 elif v.id == 'struct_ulonglong': # No value large enough to test outside range of ulonglong continue @@ -408,11 +408,11 @@ def test_pythonPropsRangeStruct(self): elif v.id == 'struct_seq_ushort': seq_ushort_val = [0, 65536] elif v.id == 'struct_seq_long': - seq_long_val = [0, 2147483648L] + seq_long_val = [0, 2147483648] elif v.id == 'struct_seq_ulong': - seq_ulong_val = [0, 4294967296L] + seq_ulong_val = [0, 4294967296] elif v.id == 'struct_seq_longlong': - seq_longlong_val = [0, CORBA.Any(CORBA.TC_ulonglong, 9223372036854775808L)] + seq_longlong_val = [0, CORBA.Any(CORBA.TC_ulonglong, 9223372036854775808)] elif v.id == 'struct_seq_ulonglong': # No value large enough to test outside range of ulonglong continue @@ -451,10 +451,10 @@ def test_pythonPropsRangeStruct(self): seq_octet_val = [0, 0] seq_short_val = [0, 0] seq_ushort_val = [0, 0] - seq_long_val = [0L, 0L] - seq_ulong_val = [0L, 0L] - seq_longlong_val = [0L, 0L] - seq_ulonglong_val = [0L, 0L] + seq_long_val = [0, 0] + seq_ulong_val = [0, 0] + seq_longlong_val = [0, 0] + seq_ulonglong_val = [0, 0] # Creates struct with only 1 invalid member, which will still cause invalid configuration if v.id == 'struct_octet': octet_val = -1 @@ -478,14 +478,14 @@ def test_pythonPropsRangeStruct(self): elif v.id == 'struct_seq_ushort': seq_ushort_val = [-1, 65535] elif v.id == 'struct_seq_long': - seq_long_val = [-2147483649L, 2147483648] + seq_long_val = [-2147483649, 2147483648] elif v.id == 'struct_seq_ulong': - seq_ulong_val = [-1, 4294967295L] + seq_ulong_val = [-1, 4294967295] elif v.id == 'struct_seq_longlong': # No value to test below range of longlong continue elif v.id == 'struct_seq_ulonglong': - seq_ulonglong_val = [-1, 9223372036854775807L] + seq_ulonglong_val = [-1, 9223372036854775807] my_struct = CF.DataType(id='my_struct', value=any.to_any([ CF.DataType(id='struct_octet', value=CORBA.Any(CORBA.TC_long, octet_val)), CF.DataType(id='struct_short', value=CORBA.Any(CORBA.TC_long, short_val)), @@ -513,7 +513,7 @@ def test_pythonPropsRangeSeq(self): seq_ushort = CF.DataType(id='seq_ushort', value=any.to_any([0, 65535])) seq_long = CF.DataType(id='seq_long', value=any.to_any([-2147483648, 2147483647])) seq_ulong = CF.DataType(id='seq_ulong', value=any.to_any([0,4294967295])) - seq_longlong = CF.DataType(id='seq_longlong', value=any.to_any([-9223372036854775808L, 9223372036854775807L])) + seq_longlong = CF.DataType(id='seq_longlong', value=any.to_any([-9223372036854775808, 9223372036854775807])) #seq_ulonglong = CF.DataType(id='seq_ulonglong', value=any.to_any([ # CORBA.Any(CORBA.TC_ulonglong, 9223372036854775808L), # CORBA.Any(CORBA.TC_ulonglong, 0) @@ -525,23 +525,23 @@ def test_pythonPropsRangeSeq(self): if r.id == 'seq_octet': # Octet sequences are treated like strings, so numbers need to be extracted vals = r.value.value().lstrip('[').rstrip(']').split(',') - self.assertEquals(int(vals[0].strip()), 0) - self.assertEquals(int(vals[1].strip()), 255) + self.assertEqual(int(vals[0].strip()), 0) + self.assertEqual(int(vals[1].strip()), 255) elif r.id == 'seq_short': - self.assertEquals(r.value.value()[0], -32768) - self.assertEquals(r.value.value()[1], 32767) + self.assertEqual(r.value.value()[0], -32768) + self.assertEqual(r.value.value()[1], 32767) elif r.id == 'seq_ushort': - self.assertEquals(r.value.value()[0], 0) - self.assertEquals(r.value.value()[1], 65535) + self.assertEqual(r.value.value()[0], 0) + self.assertEqual(r.value.value()[1], 65535) elif r.id == 'seq_long': - self.assertEquals(r.value.value()[0], -2147483648) - self.assertEquals(r.value.value()[1], 2147483647) + self.assertEqual(r.value.value()[0], -2147483648) + self.assertEqual(r.value.value()[1], 2147483647) elif r.id == 'seq_ulong': - self.assertEquals(r.value.value()[0], 0) - self.assertEquals(r.value.value()[1], 4294967295) + self.assertEqual(r.value.value()[0], 0) + self.assertEqual(r.value.value()[1], 4294967295) elif r.id == 'seq_longlong': - self.assertEquals(r.value.value()[0], -9223372036854775808L) - self.assertEquals(r.value.value()[1], 9223372036854775807L) + self.assertEqual(r.value.value()[0], -9223372036854775808) + self.assertEqual(r.value.value()[1], 9223372036854775807) # Test one beyond upper bound seq_octet = CF.DataType(id='seq_octet', value=any.to_any([0, 256])) @@ -550,7 +550,7 @@ def test_pythonPropsRangeSeq(self): seq_long = CF.DataType(id='seq_long', value=any.to_any([0, 2147483648])) seq_ulong = CF.DataType(id='seq_ulong', value=any.to_any([0, 4294967296])) seq_longlong = CF.DataType(id='seq_longlong', value=any.to_any([0, - CORBA.Any(CORBA.TC_ulonglong, 9223372036854775808L)])) + CORBA.Any(CORBA.TC_ulonglong, 9223372036854775808)])) self.assertRaises(CF.PropertySet.InvalidConfiguration, self._app.configure, [seq_octet, seq_short, seq_ushort, seq_long, seq_ulong, seq_longlong]) @@ -574,15 +574,15 @@ def test_pythonPropsRangeStructSeq(self): CF.DataType(id='ss_ushort', value=CORBA.Any(CORBA.TC_long, 65535)), CF.DataType(id='ss_long', value=CORBA.Any(CORBA.TC_longlong, 2147483647)), CF.DataType(id='ss_ulong', value=CORBA.Any(CORBA.TC_longlong, 4294967295)), - CF.DataType(id='ss_longlong', value=CORBA.Any(CORBA.TC_ulonglong, 9223372036854775807L)), - CF.DataType(id='ss_ulonglong', value=CORBA.Any(CORBA.TC_ulonglong, 18446744073709551615L)), + CF.DataType(id='ss_longlong', value=CORBA.Any(CORBA.TC_ulonglong, 9223372036854775807)), + CF.DataType(id='ss_ulonglong', value=CORBA.Any(CORBA.TC_ulonglong, 18446744073709551615)), CF.DataType(id='ss_seq_octet', value=any.to_any([CORBA.Any(CORBA.TC_long, 0), CORBA.Any(CORBA.TC_long, 255)])), CF.DataType(id='ss_seq_short', value=any.to_any([0, 32767])), CF.DataType(id='ss_seq_ushort', value=any.to_any([0, 65535])), CF.DataType(id='ss_seq_long', value=any.to_any([0, 2147483647])), CF.DataType(id='ss_seq_ulong', value=any.to_any([0, 4294967295])), - CF.DataType(id='ss_seq_longlong', value=any.to_any([0, 9223372036854775807L])), - CF.DataType(id='ss_seq_ulonglong', value=any.to_any([0, 9223372036854775807L])) + CF.DataType(id='ss_seq_longlong', value=any.to_any([0, 9223372036854775807])), + CF.DataType(id='ss_seq_ulonglong', value=any.to_any([0, 9223372036854775807])) ]) # Struct with lower bound lower = CORBA.Any(CORBA.TypeCode("IDL:CF/Properties:1.0"), [ @@ -591,15 +591,15 @@ def test_pythonPropsRangeStructSeq(self): CF.DataType(id='ss_ushort', value=CORBA.Any(CORBA.TC_long, 0)), CF.DataType(id='ss_long', value=CORBA.Any(CORBA.TC_longlong, -2147483648)), CF.DataType(id='ss_ulong', value=CORBA.Any(CORBA.TC_longlong, 0)), - CF.DataType(id='ss_longlong', value=CORBA.Any(CORBA.TC_longlong, -9223372036854775808L)), + CF.DataType(id='ss_longlong', value=CORBA.Any(CORBA.TC_longlong, -9223372036854775808)), CF.DataType(id='ss_ulonglong', value=CORBA.Any(CORBA.TC_longlong, 0)), CF.DataType(id='ss_seq_octet', value=any.to_any([CORBA.Any(CORBA.TC_long, 0), CORBA.Any(CORBA.TC_long, 255)])), CF.DataType(id='ss_seq_short', value=any.to_any([-32768, 32767])), CF.DataType(id='ss_seq_ushort', value=any.to_any([0, 65535])), CF.DataType(id='ss_seq_long', value=any.to_any([-2147483648, 2147483647])), CF.DataType(id='ss_seq_ulong', value=any.to_any([0, 4294967295])), - CF.DataType(id='ss_seq_longlong', value=any.to_any([-9223372036854775808L, 9223372036854775807L])), - CF.DataType(id='ss_seq_ulonglong', value=any.to_any([0, 9223372036854775807L])) + CF.DataType(id='ss_seq_longlong', value=any.to_any([-9223372036854775808, 9223372036854775807])), + CF.DataType(id='ss_seq_ulonglong', value=any.to_any([0, 9223372036854775807])) ]) my_structseq = CF.DataType(id='my_structseq', @@ -616,68 +616,68 @@ def test_pythonPropsRangeStructSeq(self): lower = r.value.value()[1] for v in upper.value(): if v.id == 'ss_octet': - self.assertEquals(v.value.value(), 255) + self.assertEqual(v.value.value(), 255) elif v.id == 'ss_short': - self.assertEquals(v.value.value(), 32767) + self.assertEqual(v.value.value(), 32767) elif v.id == 'ss_ushort': - self.assertEquals(v.value.value(), 65535) + self.assertEqual(v.value.value(), 65535) elif v.id == 'ss_long': - self.assertEquals(v.value.value(), 2147483647) + self.assertEqual(v.value.value(), 2147483647) elif v.id == 'ss_ulong': - self.assertEquals(v.value.value(), 4294967295) + self.assertEqual(v.value.value(), 4294967295) elif v.id == 'ss_longlong': - self.assertEquals(v.value.value(), 9223372036854775807L) + self.assertEqual(v.value.value(), 9223372036854775807) elif v.id == 'ss_ulonglong': - self.assertEquals(v.value.value(), 18446744073709551615L) + self.assertEqual(v.value.value(), 18446744073709551615) elif v.id == 'ss_seq_octet': # Octet sequences are treated like strings, so numbers need to be extracted vals = v.value.value().lstrip('[').rstrip(']').split(',') - self.assertEquals(int(vals[0].strip()), 0) - self.assertEquals(int(vals[1].strip()), 255) + self.assertEqual(int(vals[0].strip()), 0) + self.assertEqual(int(vals[1].strip()), 255) elif v.id == 'ss_seq_short': - self.assertEquals(v.value.value(), [0, 32767]) + self.assertEqual(v.value.value(), [0, 32767]) elif v.id == 'ss_seq_ushort': - self.assertEquals(v.value.value(), [0, 65535]) + self.assertEqual(v.value.value(), [0, 65535]) elif v.id == 'ss_seq_long': - self.assertEquals(v.value.value(), [0, 2147483647]) + self.assertEqual(v.value.value(), [0, 2147483647]) elif v.id == 'ss_seq_ulong': - self.assertEquals(v.value.value(), [0, 4294967295]) + self.assertEqual(v.value.value(), [0, 4294967295]) elif v.id == 'ss_seq_longlong': - self.assertEquals(v.value.value(), [0, 9223372036854775807L]) + self.assertEqual(v.value.value(), [0, 9223372036854775807]) elif v.id == 'ss_seq_ulonglong': - self.assertEquals(v.value.value(), [0, 9223372036854775807L]) + self.assertEqual(v.value.value(), [0, 9223372036854775807]) for v in lower.value(): if v.id == 'ss_octet': - self.assertEquals(v.value.value(), 0) + self.assertEqual(v.value.value(), 0) elif v.id == 'ss_short': - self.assertEquals(v.value.value(), -32768) + self.assertEqual(v.value.value(), -32768) elif v.id == 'ss_ushort': - self.assertEquals(v.value.value(), 0) + self.assertEqual(v.value.value(), 0) elif v.id == 'ss_long': - self.assertEquals(v.value.value(), -2147483648) + self.assertEqual(v.value.value(), -2147483648) elif v.id == 'ss_ulong': - self.assertEquals(v.value.value(), 0) + self.assertEqual(v.value.value(), 0) elif v.id == 'ss_longlong': - self.assertEquals(v.value.value(), -9223372036854775808L) + self.assertEqual(v.value.value(), -9223372036854775808) elif v.id == 'ss_ulonglong': - self.assertEquals(v.value.value(), 0) + self.assertEqual(v.value.value(), 0) elif v.id == 'ss_seq_octet': # Octet sequences are treated like strings, so numbers need to be extracted vals = v.value.value().lstrip('[').rstrip(']').split(',') - self.assertEquals(int(vals[0].strip()), 0) - self.assertEquals(int(vals[1].strip()), 255) + self.assertEqual(int(vals[0].strip()), 0) + self.assertEqual(int(vals[1].strip()), 255) elif v.id == 'ss_seq_short': - self.assertEquals(v.value.value(), [-32768, 32767]) + self.assertEqual(v.value.value(), [-32768, 32767]) elif v.id == 'ss_seq_ushort': - self.assertEquals(v.value.value(), [0, 65535]) + self.assertEqual(v.value.value(), [0, 65535]) elif v.id == 'ss_seq_long': - self.assertEquals(v.value.value(), [-2147483648, 2147483647]) + self.assertEqual(v.value.value(), [-2147483648, 2147483647]) elif v.id == 'ss_seq_ulong': - self.assertEquals(v.value.value(), [0, 4294967295]) + self.assertEqual(v.value.value(), [0, 4294967295]) elif v.id == 'ss_seq_longlong': - self.assertEquals(v.value.value(), [-9223372036854775808L, 9223372036854775807L]) + self.assertEqual(v.value.value(), [-9223372036854775808, 9223372036854775807]) elif v.id == 'ss_seq_ulonglong': - self.assertEquals(v.value.value(), [0, 9223372036854775807L]) + self.assertEqual(v.value.value(), [0, 9223372036854775807]) # Loop through each member of the struct to test one beyond the upper bound for r in res: @@ -695,10 +695,10 @@ def test_pythonPropsRangeStructSeq(self): seq_octet_val = [0, 0] seq_short_val = [0, 0] seq_ushort_val = [0, 0] - seq_long_val = [0L, 0L] - seq_ulong_val = [0L, 0L] - seq_longlong_val = [0L, 0L] - seq_ulonglong_val = [0L, 0L] + seq_long_val = [0, 0] + seq_ulong_val = [0, 0] + seq_longlong_val = [0, 0] + seq_ulonglong_val = [0, 0] # Creates struct with only 1 invalid member, which will still cause invalid configuration if v.id == 'ss_octet': octet_val = 256 @@ -711,7 +711,7 @@ def test_pythonPropsRangeStructSeq(self): elif v.id == 'ss_ulong': ulong_val = 4294967296 elif v.id == 'ss_longlong': - longlong_val = 9223372036854775808L + longlong_val = 9223372036854775808 elif v.id == 'ss_ulonglong': # No value large enough to test outside range of ulonglong continue @@ -722,11 +722,11 @@ def test_pythonPropsRangeStructSeq(self): elif v.id == 'ss_seq_ushort': seq_ushort_val = [0, 65536] elif v.id == 'ss_seq_long': - seq_long_val = [0, 2147483648L] + seq_long_val = [0, 2147483648] elif v.id == 'ss_seq_ulong': - seq_ulong_val = [0, 4294967296L] + seq_ulong_val = [0, 4294967296] elif v.id == 'ss_seq_longlong': - seq_longlong_val = [0, CORBA.Any(CORBA.TC_ulonglong, 9223372036854775808L)] + seq_longlong_val = [0, CORBA.Any(CORBA.TC_ulonglong, 9223372036854775808)] elif v.id == 'ss_seq_ulonglong': # No value large enough to test outside range of ulonglong continue @@ -768,10 +768,10 @@ def test_pythonPropsRangeStructSeq(self): seq_octet_val = [0, 0] seq_short_val = [0, 0] seq_ushort_val = [0, 0] - seq_long_val = [0L, 0L] - seq_ulong_val = [0L, 0L] - seq_longlong_val = [0L, 0L] - seq_ulonglong_val = [0L, 0L] + seq_long_val = [0, 0] + seq_ulong_val = [0, 0] + seq_longlong_val = [0, 0] + seq_ulonglong_val = [0, 0] # Creates struct with only 1 invalid member, which will still cause invalid configuration if v.id == 'ss_octet': octet_val = -1 @@ -795,14 +795,14 @@ def test_pythonPropsRangeStructSeq(self): elif v.id == 'ss_seq_ushort': seq_ushort_val = [-1, 65535] elif v.id == 'ss_seq_long': - seq_long_val = [-2147483649L, 2147483648] + seq_long_val = [-2147483649, 2147483648] elif v.id == 'ss_seq_ulong': - seq_ulong_val = [-1, 4294967295L] + seq_ulong_val = [-1, 4294967295] elif v.id == 'ss_seq_longlong': # No value to test below range of longlong continue elif v.id == 'ss_seq_ulonglong': - seq_ulonglong_val = [-1, 9223372036854775807L] + seq_ulonglong_val = [-1, 9223372036854775807] bad_struct = CORBA.Any(CORBA.TypeCode("IDL:CF/Properties:1.0"), [ CF.DataType(id='ss_octet', value=CORBA.Any(CORBA.TC_long, octet_val)), CF.DataType(id='ss_short', value=CORBA.Any(CORBA.TC_long, short_val)), @@ -890,7 +890,7 @@ def test_toPyValueIntString(self): tests['longlong']= [ (1000,1000), (0x1000, 4096 ), (0o1000, 512 ), ('1000', 1000), ('0x1000', 4096 ), ('0o1000', 512 ) ] tests['ulonglong']= [ (1001,1001), (0x1001, 4097 ), (0o1001, 513 ), ('1001', 1001), ('0x1001', 4097 ), ('0o1001', 513 ) ] - for k,r in tests.items(): + for k,r in list(tests.items()): for v in r: res=properties.to_pyvalue( v[0],k) self.assertEqual(res,v[1] ) @@ -905,16 +905,16 @@ def test_OptionalPropertiesInStruct(self): CF.DataType(id='struct_ushort', value=CORBA.Any(CORBA.TC_long, 65535)), CF.DataType(id='struct_long', value=CORBA.Any(CORBA.TC_longlong, 2147483647)), CF.DataType(id='struct_ulong', value=CORBA.Any(CORBA.TC_longlong, 4294967295)), - CF.DataType(id='struct_longlong', value=CORBA.Any(CORBA.TC_longlong, 9223372036854775807L)), - CF.DataType(id='struct_ulonglong', value=CORBA.Any(CORBA.TC_ulonglong, 18446744073709551615L)), + CF.DataType(id='struct_longlong', value=CORBA.Any(CORBA.TC_longlong, 9223372036854775807)), + CF.DataType(id='struct_ulonglong', value=CORBA.Any(CORBA.TC_ulonglong, 18446744073709551615)), CF.DataType(id='struct_string', value=CORBA.Any(CORBA.TC_string, "new string")), CF.DataType(id='struct_seq_octet', value=any.to_any([CORBA.Any(CORBA.TC_long, 0), CORBA.Any(CORBA.TC_long, 255)])), CF.DataType(id='struct_seq_short', value=any.to_any([0, 32767])), CF.DataType(id='struct_seq_ushort', value=any.to_any([0, 65535])), CF.DataType(id='struct_seq_long', value=any.to_any([0, 2147483647])), CF.DataType(id='struct_seq_ulong', value=any.to_any([0, 4294967295])), - CF.DataType(id='struct_seq_longlong', value=any.to_any([0, 9223372036854775807L])), - CF.DataType(id='struct_seq_ulonglong', value=any.to_any([0, 9223372036854775807L])) + CF.DataType(id='struct_seq_longlong', value=any.to_any([0, 9223372036854775807])), + CF.DataType(id='struct_seq_ulonglong', value=any.to_any([0, 9223372036854775807])) ])) comp.configure([my_struct]) res = comp.query([]) @@ -923,38 +923,38 @@ def test_OptionalPropertiesInStruct(self): val = r.value.value() for v in val: if v.id == 'struct_octet': - self.assertEquals(v.value.value(), 255) + self.assertEqual(v.value.value(), 255) elif v.id == 'struct_short': - self.assertEquals(v.value.value(), 32767) + self.assertEqual(v.value.value(), 32767) elif v.id == 'struct_ushort': - self.assertEquals(v.value.value(), 65535) + self.assertEqual(v.value.value(), 65535) elif v.id == 'struct_long': - self.assertEquals(v.value.value(), 2147483647) + self.assertEqual(v.value.value(), 2147483647) elif v.id == 'struct_ulong': - self.assertEquals(v.value.value(), 4294967295) + self.assertEqual(v.value.value(), 4294967295) elif v.id == 'struct_longlong': - self.assertEquals(v.value.value(), 9223372036854775807L) + self.assertEqual(v.value.value(), 9223372036854775807) elif v.id == 'struct_ulonglong': - self.assertEquals(v.value.value(), 18446744073709551615L) + self.assertEqual(v.value.value(), 18446744073709551615) elif v.id == 'struct_string': - self.assertEquals(v.value.value(), "new string") + self.assertEqual(v.value.value(), "new string") elif v.id == 'struct_seq_octet': # Octet sequences are treated like strings, so numbers need to be extracted vals = v.value.value().lstrip('[').rstrip(']').split(',') - self.assertEquals(int(vals[0].strip()), 0) - self.assertEquals(int(vals[1].strip()), 255) + self.assertEqual(int(vals[0].strip()), 0) + self.assertEqual(int(vals[1].strip()), 255) elif v.id == 'struct_seq_short': - self.assertEquals(v.value.value(), [0, 32767]) + self.assertEqual(v.value.value(), [0, 32767]) elif v.id == 'struct_seq_ushort': - self.assertEquals(v.value.value(), [0, 65535]) + self.assertEqual(v.value.value(), [0, 65535]) elif v.id == 'struct_seq_long': - self.assertEquals(v.value.value(), [0, 2147483647]) + self.assertEqual(v.value.value(), [0, 2147483647]) elif v.id == 'struct_seq_ulong': - self.assertEquals(v.value.value(), [0, 4294967295]) + self.assertEqual(v.value.value(), [0, 4294967295]) elif v.id == 'struct_seq_longlong': - self.assertEquals(v.value.value(), [0, 9223372036854775807L]) + self.assertEqual(v.value.value(), [0, 9223372036854775807]) elif v.id == 'struct_seq_ulonglong': - self.assertEquals(v.value.value(), [0, 9223372036854775807L]) + self.assertEqual(v.value.value(), [0, 9223372036854775807]) # Configure leaving out a few elements my_struct = CF.DataType(id='my_struct', value=any.to_any([ @@ -964,15 +964,15 @@ def test_OptionalPropertiesInStruct(self): CF.DataType(id='struct_long', value=CORBA.Any(CORBA.TC_longlong, 2147483647)), CF.DataType(id='struct_ulong', value=CORBA.Any(CORBA.TC_longlong, 4294967295)), #CF.DataType(id='struct_longlong', value=CORBA.Any(CORBA.TC_longlong, 9223372036854775807L)), - CF.DataType(id='struct_ulonglong', value=CORBA.Any(CORBA.TC_ulonglong, 18446744073709551615L)), + CF.DataType(id='struct_ulonglong', value=CORBA.Any(CORBA.TC_ulonglong, 18446744073709551615)), CF.DataType(id='struct_string', value=CORBA.Any(CORBA.TC_string, "new string")), CF.DataType(id='struct_seq_octet', value=any.to_any([CORBA.Any(CORBA.TC_long, 0), CORBA.Any(CORBA.TC_long, 255)])), CF.DataType(id='struct_seq_short', value=any.to_any([0, 32767])), CF.DataType(id='struct_seq_ushort', value=any.to_any([0, 65535])), #CF.DataType(id='struct_seq_long', value=any.to_any([0, 2147483647])), CF.DataType(id='struct_seq_ulong', value=any.to_any([0, 4294967295])), - CF.DataType(id='struct_seq_longlong', value=any.to_any([0, 9223372036854775807L])), - CF.DataType(id='struct_seq_ulonglong', value=any.to_any([0, 9223372036854775807L])) + CF.DataType(id='struct_seq_longlong', value=any.to_any([0, 9223372036854775807])), + CF.DataType(id='struct_seq_ulonglong', value=any.to_any([0, 9223372036854775807])) ])) comp.configure([my_struct]) res = comp.runTest(0, comp.query([])) @@ -987,36 +987,36 @@ def test_OptionalPropertiesInStruct(self): #if v.id == 'struct_octet': # self.assertEquals(v.value.value(), 255) if v.id == 'struct_short': - self.assertEquals(v.value.value(), 32767) + self.assertEqual(v.value.value(), 32767) elif v.id == 'struct_ushort': - self.assertEquals(v.value.value(), 65535) + self.assertEqual(v.value.value(), 65535) elif v.id == 'struct_long': - self.assertEquals(v.value.value(), 2147483647) + self.assertEqual(v.value.value(), 2147483647) elif v.id == 'struct_ulong': - self.assertEquals(v.value.value(), 4294967295) + self.assertEqual(v.value.value(), 4294967295) #elif v.id == 'struct_longlong': # self.assertEquals(v.value.value(), 9223372036854775807L) elif v.id == 'struct_ulonglong': - self.assertEquals(v.value.value(), 18446744073709551615L) + self.assertEqual(v.value.value(), 18446744073709551615) elif v.id == 'struct_string': - self.assertEquals(v.value.value(), "new string") + self.assertEqual(v.value.value(), "new string") elif v.id == 'struct_seq_octet': # Octet sequences are treated like strings, so numbers need to be extracted vals = v.value.value().lstrip('[').rstrip(']').split(',') - self.assertEquals(int(vals[0].strip()), 0) - self.assertEquals(int(vals[1].strip()), 255) + self.assertEqual(int(vals[0].strip()), 0) + self.assertEqual(int(vals[1].strip()), 255) elif v.id == 'struct_seq_short': - self.assertEquals(v.value.value(), [0, 32767]) + self.assertEqual(v.value.value(), [0, 32767]) elif v.id == 'struct_seq_ushort': - self.assertEquals(v.value.value(), [0, 65535]) + self.assertEqual(v.value.value(), [0, 65535]) #elif v.id == 'struct_seq_long': # self.assertEquals(v.value.value(), [0, 2147483647]) elif v.id == 'struct_seq_ulong': - self.assertEquals(v.value.value(), [0, 4294967295]) + self.assertEqual(v.value.value(), [0, 4294967295]) elif v.id == 'struct_seq_longlong': - self.assertEquals(v.value.value(), [0, 9223372036854775807L]) + self.assertEqual(v.value.value(), [0, 9223372036854775807]) elif v.id == 'struct_seq_ulonglong': - self.assertEquals(v.value.value(), [0, 9223372036854775807L]) + self.assertEqual(v.value.value(), [0, 9223372036854775807]) class PyCallbacksTest(scatest.CorbaTestCase): def test_Callbacks(self): @@ -1092,17 +1092,17 @@ def test_Property_PY(self): c=None d=redhawk.attach(scatest.getTestDomainName()) a=d.apps[0] - c=filter( lambda c : c.name == 'Property_PY', a.comps )[0] + c=[c for c in a.comps if c.name == 'Property_PY'][0] self.assertNotEqual(c,None) ps = c.ref._narrow(CF.PropertySet) self.assertNotEqual(ps,None) - self.assertEquals(c.p1,"prop1") - self.assertAlmostEquals(c.p2,123.4) - self.assertEquals(c.p3,567) - self.assertEquals(c.p4.p4sub1,"prop2") + self.assertEqual(c.p1,"prop1") + self.assertAlmostEqual(c.p2,123.4) + self.assertEqual(c.p3,567) + self.assertEqual(c.p4.p4sub1,"prop2") t1=int(c.p4.p4sub2) - self.assertEquals(t1,890) + self.assertEqual(t1,890) c.p1 = "testing" c.p2 = 100.0 @@ -1110,12 +1110,12 @@ def test_Property_PY(self): c.p4.p4sub1="testing2" c.p4.p4sub2=200.0 - self.assertEquals(c.p1,"testing") - self.assertAlmostEquals(c.p2,100.0) - self.assertEquals(c.p3,100) - self.assertEquals(c.p4.p4sub1,"testing2") + self.assertEqual(c.p1,"testing") + self.assertAlmostEqual(c.p2,100.0) + self.assertEqual(c.p3,100) + self.assertEqual(c.p4.p4sub1,"testing2") t1=int(c.p4.p4sub2) - self.assertEquals(t1,200) + self.assertEqual(t1,200) app.releaseObject() @@ -1152,7 +1152,7 @@ def test_readonly_sad(self): self.assertEqual(props[0].value._v, "set_once") # try and configure the component - comp=filter( lambda c : c.name == 'TestPythonProps', self._app.comps )[0] + comp=[c for c in self._app.comps if c.name == 'TestPythonProps'][0] self.assertNotEqual(comp,None) readonly_prop=CF.DataType("readOnly", any.to_any("try_again")) self.assertRaises(CF.PropertySet.InvalidConfiguration, comp.configure, [ readonly_prop ] ) @@ -1188,14 +1188,14 @@ def preconditions(self): def test_UTCTimePython(self): prop = self._app.query([CF.DataType('simple_utctime', any.to_any(None))]) datetime = time.gmtime(prop[0].value.value().twsec) - self.assertEquals(datetime.tm_year,2017) - self.assertEquals(datetime.tm_mon,2) - self.assertEquals(datetime.tm_mday,1) - self.assertEquals(datetime.tm_hour,10) - self.assertEquals(datetime.tm_min,1) - self.assertEquals(datetime.tm_sec,0) - self.assertEquals(prop[0].value.value().tfsec,0.123) + self.assertEqual(datetime.tm_year,2017) + self.assertEqual(datetime.tm_mon,2) + self.assertEqual(datetime.tm_mday,1) + self.assertEqual(datetime.tm_hour,10) + self.assertEqual(datetime.tm_min,1) + self.assertEqual(datetime.tm_sec,0) + self.assertEqual(prop[0].value.value().tfsec,0.123) self._app.configure([CF.DataType('reset_utctime', any.to_any(True))]) prop = self._app.query([CF.DataType('simple_utctime', any.to_any(None))]) now = time.time() - self.assertEquals(abs(now-(prop[0].value.value().twsec+prop[0].value.value().tfsec))<0.1,True) + self.assertEqual(abs(now-(prop[0].value.value().twsec+prop[0].value.value().tfsec))<0.1,True) diff --git a/redhawk/src/testing/tests/test_12_TestUnitTest.py b/redhawk/src/testing/tests/test_12_TestUnitTest.py index a001a2b63..35e9f5195 100644 --- a/redhawk/src/testing/tests/test_12_TestUnitTest.py +++ b/redhawk/src/testing/tests/test_12_TestUnitTest.py @@ -37,10 +37,10 @@ def test_GetPropertySet(self): execparams = tc.getPropertySet(kinds=("execparam",), modes=("readwrite", "writeonly")) execparams = dict([(p.id, any.from_any(p.value)) for p in execparams]) - self.assertEqual(execparams.has_key("EXEC_PARAM_1"), True) - self.assertEqual(execparams.has_key("EXEC_PARAM_2"), True) - self.assertEqual(execparams.has_key("EXEC_PARAM_4"), True) - self.assertEqual(execparams.has_key("SOMEOBJREF"), True) + self.assertEqual("EXEC_PARAM_1" in execparams, True) + self.assertEqual("EXEC_PARAM_2" in execparams, True) + self.assertEqual("EXEC_PARAM_4" in execparams, True) + self.assertEqual("SOMEOBJREF" in execparams, True) self.assertEqual(execparams["EXEC_PARAM_1"], "Test1") self.assertEqual(execparams["EXEC_PARAM_2"], 2) @@ -49,10 +49,10 @@ def test_GetPropertySet(self): execparams = tc.getPropertySet(kinds=("execparam",), modes=("readwrite", "writeonly"), includeNil=False) execparams = dict([(p.id, any.from_any(p.value)) for p in execparams]) - self.assertEqual(execparams.has_key("EXEC_PARAM_1"), True) - self.assertEqual(execparams.has_key("EXEC_PARAM_2"), True) - self.assertEqual(execparams.has_key("EXEC_PARAM_4"), True) - self.assertEqual(execparams.has_key("SOMEOBJREF"), False) + self.assertEqual("EXEC_PARAM_1" in execparams, True) + self.assertEqual("EXEC_PARAM_2" in execparams, True) + self.assertEqual("EXEC_PARAM_4" in execparams, True) + self.assertEqual("SOMEOBJREF" in execparams, False) self.assertEqual(execparams["EXEC_PARAM_1"], "Test1") self.assertEqual(execparams["EXEC_PARAM_2"], 2) @@ -60,18 +60,18 @@ def test_GetPropertySet(self): cfgparams = tc.getPropertySet(kinds=("configure",), modes=("readwrite", "writeonly")) cfgparams = dict([(p.id, any.from_any(p.value)) for p in cfgparams]) - self.assertEqual(cfgparams.has_key("DCE:a4e7b230-1d17-4a86-aeff-ddc6ea3df26e"), True) - self.assertEqual(cfgparams.has_key("DCE:5d8bfe8d-bc25-4f26-8144-248bc343aa53"), True) - self.assertEqual(cfgparams.has_key("DCE:ffe634c9-096d-425b-86cc-df1cce50612f"), True) - self.assertEqual(cfgparams.has_key("DCE:fa8c5924-845c-484a-81df-7941f2c5baa9"), True) - self.assertEqual(cfgparams.has_key("DCE:a7de97ee-1e78-45e9-8e2b-204c141656fc"), True) - self.assertEqual(cfgparams.has_key("DCE:9ec6e2ff-6a4f-4452-8f38-4df47d6eebc1"), True) - self.assertEqual(cfgparams.has_key("DCE:cf623573-a09d-4fb1-a2ae-24b0b507115d"), True) - self.assertEqual(cfgparams.has_key("DCE:6ad84383-49cf-4017-b7ca-0ec4c4917952"), True) + self.assertEqual("DCE:a4e7b230-1d17-4a86-aeff-ddc6ea3df26e" in cfgparams, True) + self.assertEqual("DCE:5d8bfe8d-bc25-4f26-8144-248bc343aa53" in cfgparams, True) + self.assertEqual("DCE:ffe634c9-096d-425b-86cc-df1cce50612f" in cfgparams, True) + self.assertEqual("DCE:fa8c5924-845c-484a-81df-7941f2c5baa9" in cfgparams, True) + self.assertEqual("DCE:a7de97ee-1e78-45e9-8e2b-204c141656fc" in cfgparams, True) + self.assertEqual("DCE:9ec6e2ff-6a4f-4452-8f38-4df47d6eebc1" in cfgparams, True) + self.assertEqual("DCE:cf623573-a09d-4fb1-a2ae-24b0b507115d" in cfgparams, True) + self.assertEqual("DCE:6ad84383-49cf-4017-b7ca-0ec4c4917952" in cfgparams, True) propparams = tc.getPropertySet(kinds=("property",), modes=("readwrite", "writeonly")) propparams = dict([(p.id, any.from_any(p.value)) for p in propparams]) - self.assertEqual(propparams.has_key("configure_prop_notset"), True) + self.assertEqual("configure_prop_notset" in propparams, True) self.assertEqual(cfgparams["DCE:a4e7b230-1d17-4a86-aeff-ddc6ea3df26e"], "/bin/echo") self.assertEqual(cfgparams["DCE:5d8bfe8d-bc25-4f26-8144-248bc343aa53"], ["Hello World"]) @@ -162,10 +162,10 @@ def test_GetPropertySetBackwardsCompatibility(self): execparams = tc.getPropertySet(kinds=("execparam",), modes=("readwrite", "writeonly")) execparams = dict([(p.id, any.from_any(p.value)) for p in execparams]) - self.assertEqual(execparams.has_key("EXEC_PARAM_1"), True) - self.assertEqual(execparams.has_key("EXEC_PARAM_2"), True) - self.assertEqual(execparams.has_key("EXEC_PARAM_4"), True) - self.assertEqual(execparams.has_key("SOMEOBJREF"), True) + self.assertEqual("EXEC_PARAM_1" in execparams, True) + self.assertEqual("EXEC_PARAM_2" in execparams, True) + self.assertEqual("EXEC_PARAM_4" in execparams, True) + self.assertEqual("SOMEOBJREF" in execparams, True) self.assertEqual(execparams["EXEC_PARAM_1"], "Test1") self.assertEqual(execparams["EXEC_PARAM_2"], 2) @@ -174,10 +174,10 @@ def test_GetPropertySetBackwardsCompatibility(self): execparams = tc.getPropertySet(kinds=("execparam",), modes=("readwrite", "writeonly"), includeNil=False) execparams = dict([(p.id, any.from_any(p.value)) for p in execparams]) - self.assertEqual(execparams.has_key("EXEC_PARAM_1"), True) - self.assertEqual(execparams.has_key("EXEC_PARAM_2"), True) - self.assertEqual(execparams.has_key("EXEC_PARAM_4"), True) - self.assertEqual(execparams.has_key("SOMEOBJREF"), False) + self.assertEqual("EXEC_PARAM_1" in execparams, True) + self.assertEqual("EXEC_PARAM_2" in execparams, True) + self.assertEqual("EXEC_PARAM_4" in execparams, True) + self.assertEqual("SOMEOBJREF" in execparams, False) self.assertEqual(execparams["EXEC_PARAM_1"], "Test1") self.assertEqual(execparams["EXEC_PARAM_2"], 2) @@ -185,18 +185,18 @@ def test_GetPropertySetBackwardsCompatibility(self): cfgparams = tc.getPropertySet(kinds=("configure",), modes=("readwrite", "writeonly")) cfgparams = dict([(p.id, any.from_any(p.value)) for p in cfgparams]) - self.assertEqual(cfgparams.has_key("DCE:a4e7b230-1d17-4a86-aeff-ddc6ea3df26e"), True) - self.assertEqual(cfgparams.has_key("DCE:5d8bfe8d-bc25-4f26-8144-248bc343aa53"), True) - self.assertEqual(cfgparams.has_key("DCE:ffe634c9-096d-425b-86cc-df1cce50612f"), True) - self.assertEqual(cfgparams.has_key("DCE:fa8c5924-845c-484a-81df-7941f2c5baa9"), True) - self.assertEqual(cfgparams.has_key("DCE:a7de97ee-1e78-45e9-8e2b-204c141656fc"), True) - self.assertEqual(cfgparams.has_key("DCE:9ec6e2ff-6a4f-4452-8f38-4df47d6eebc1"), True) - self.assertEqual(cfgparams.has_key("DCE:cf623573-a09d-4fb1-a2ae-24b0b507115d"), True) - self.assertEqual(cfgparams.has_key("DCE:6ad84383-49cf-4017-b7ca-0ec4c4917952"), True) + self.assertEqual("DCE:a4e7b230-1d17-4a86-aeff-ddc6ea3df26e" in cfgparams, True) + self.assertEqual("DCE:5d8bfe8d-bc25-4f26-8144-248bc343aa53" in cfgparams, True) + self.assertEqual("DCE:ffe634c9-096d-425b-86cc-df1cce50612f" in cfgparams, True) + self.assertEqual("DCE:fa8c5924-845c-484a-81df-7941f2c5baa9" in cfgparams, True) + self.assertEqual("DCE:a7de97ee-1e78-45e9-8e2b-204c141656fc" in cfgparams, True) + self.assertEqual("DCE:9ec6e2ff-6a4f-4452-8f38-4df47d6eebc1" in cfgparams, True) + self.assertEqual("DCE:cf623573-a09d-4fb1-a2ae-24b0b507115d" in cfgparams, True) + self.assertEqual("DCE:6ad84383-49cf-4017-b7ca-0ec4c4917952" in cfgparams, True) propparams = tc.getPropertySet(kinds=("property",), modes=("readwrite", "writeonly")) propparams = dict([(p.id, any.from_any(p.value)) for p in propparams]) - self.assertEqual(propparams.has_key("configure_prop_notset"), True) + self.assertEqual("configure_prop_notset" in propparams, True) self.assertEqual(cfgparams["DCE:a4e7b230-1d17-4a86-aeff-ddc6ea3df26e"], "/bin/echo") self.assertEqual(cfgparams["DCE:5d8bfe8d-bc25-4f26-8144-248bc343aa53"], ["Hello World"]) diff --git a/redhawk/src/testing/tests/test_13_RedhawkModule.py b/redhawk/src/testing/tests/test_13_RedhawkModule.py index 6b90eaac9..4e84c0ff9 100644 --- a/redhawk/src/testing/tests/test_13_RedhawkModule.py +++ b/redhawk/src/testing/tests/test_13_RedhawkModule.py @@ -22,7 +22,7 @@ from _unitTestHelpers import scatest import time import contextlib -import cStringIO +import io import tempfile import re import resource @@ -31,8 +31,8 @@ from omniORB import any as _any from xml.dom import minidom import os as _os -import Queue -import StringIO +import queue +import io from ossie.cf import CF from ossie.utils import redhawk from ossie.utils import type_helpers @@ -77,7 +77,7 @@ def test_eventChannelPull(self): data = _any.to_any(payload) pub.push(data) rec_data = self._waitData(sub, 1.0) - self.assertEquals(rec_data, payload) + self.assertEqual(rec_data, payload) pub.terminate() sub.terminate() @@ -88,19 +88,19 @@ def test_eventChannelForceDelete(self): data = _any.to_any(payload) pub.push(data) rec_data = self._waitData(sub, 1.0) - self.assertEquals(rec_data, payload) + self.assertEqual(rec_data, payload) self.ecm.forceRelease(self.channelName) self.assertRaises(CF.EventChannelManager.ChannelDoesNotExist, self.ecm.release, self.channelName) def test_eventChannelCB(self): - queue = Queue.Queue() + queue = queue.Queue() sub = Subscriber(self._domMgr, self.channelName, dataArrivedCB=queue.put) pub = Publisher(self._domMgr, self.channelName) payload = 'hello' data = _any.to_any(payload) pub.push(data) rec_data = queue.get(timeout=1.0) - self.assertEquals(rec_data._v, payload) + self.assertEqual(rec_data._v, payload) pub.terminate() sub.terminate() @@ -109,7 +109,7 @@ def setUp(self): domBooter, self._domMgr = self.launchDomainManager() devBooter, self._devMgr = self.launchDeviceManager("/nodes/test_ExecutableDevice_node/DeviceManager.dcd.xml") self._rhDom = redhawk.attach(scatest.getTestDomainName()) - self.assertEquals(len(self._rhDom._get_applications()), 0) + self.assertEqual(len(self._rhDom._get_applications()), 0) def tearDown(self): # Do all application shutdown before calling the base class tearDown, @@ -138,40 +138,40 @@ def test_API_remap(self): for entry in orig_api: if entry in not_remap: continue - self.assertEquals(entry in remap_api, True) + self.assertEqual(entry in remap_api, True) orig_api = dir(self._rhDom.devMgrs[0].ref) remap_api = dir(self._rhDom.devMgrs[0]) for entry in orig_api: if entry in not_remap: continue - self.assertEquals(entry in remap_api, True) + self.assertEqual(entry in remap_api, True) app = self._rhDom.createApplication("/waveforms/TestCppProps/TestCppProps.sad.xml") self.assertNotEqual(app, None, "Application not created") - self.assertEquals(len(self._rhDom._get_applications()), 1) - self.assertEquals(len(self._rhDom.apps), 1) + self.assertEqual(len(self._rhDom._get_applications()), 1) + self.assertEqual(len(self._rhDom.apps), 1) orig_api = dir(self._rhDom.apps[0].comps[0].ref) remap_api = dir(self._rhDom.apps[0].comps[0]) for entry in orig_api: if entry in not_remap: continue - self.assertEquals(entry in remap_api, True) + self.assertEqual(entry in remap_api, True) orig_api = dir(self._rhDom.apps[0].ref) remap_api = dir(self._rhDom.apps[0]) for entry in orig_api: if entry in not_remap: continue - self.assertEquals(entry in remap_api, True) + self.assertEqual(entry in remap_api, True) orig_api = dir(self._rhDom.devMgrs[0].devs[0].ref) remap_api = dir(self._rhDom.devMgrs[0].devs[0]) for entry in orig_api: if entry in not_remap: continue - self.assertEquals(entry in remap_api, True) + self.assertEqual(entry in remap_api, True) def test_createBadCompApplication(self): # Automatically clean up @@ -180,16 +180,16 @@ def test_createBadCompApplication(self): app = self._rhDom.createApplication("/waveforms/svc_fn_error_cpp_w/svc_fn_error_cpp_w.sad.xml") app_2 = self._rhDom.createApplication("/waveforms/svc_one_error_w/svc_one_error_w.sad.xml") self.assertNotEqual(app, None, "Application not created") - self.assertEquals(len(self._rhDom._get_applications()), 2) - self.assertEquals(len(self._rhDom.apps), 2) + self.assertEqual(len(self._rhDom._get_applications()), 2) + self.assertEqual(len(self._rhDom.apps), 2) app.start() app_2.start() time.sleep(0.5) - self.assertEquals(app.comps, []) - self.assertEquals(len(app_2.comps), 2) + self.assertEqual(app.comps, []) + self.assertEqual(len(app_2.comps), 2) def test_createApplication1(self): # Automatically clean up @@ -197,11 +197,11 @@ def test_createApplication1(self): # Create Application from $SDRROOT path app = self._rhDom.createApplication("/waveforms/TestCppProps/TestCppProps.sad.xml") self.assertNotEqual(app, None, "Application not created") - self.assertEquals(len(self._rhDom._get_applications()), 1) - self.assertEquals(len(self._rhDom.apps), 1) + self.assertEqual(len(self._rhDom._get_applications()), 1) + self.assertEqual(len(self._rhDom.apps), 1) # Ensure that api() works. - _destfile=StringIO.StringIO() + _destfile=io.StringIO() try: app.api(destfile=_destfile) except: @@ -209,17 +209,17 @@ def test_createApplication1(self): app2 = self._rhDom.createApplication("TestCppProps") self.assertNotEqual(app2, None, "Application not created") - self.assertEquals(len(self._rhDom._get_applications()), 2) - self.assertEquals(len(self._rhDom.apps), 2) + self.assertEqual(len(self._rhDom._get_applications()), 2) + self.assertEqual(len(self._rhDom.apps), 2) app.releaseObject() - self.assertEquals(len(self._rhDom._get_applications()), 1) - self.assertEquals(len(self._rhDom.apps), 1) + self.assertEqual(len(self._rhDom._get_applications()), 1) + self.assertEqual(len(self._rhDom.apps), 1) # Use exit functions from module to release other launched app redhawk.core._cleanUpLaunchedApps() - self.assertEquals(len(self._rhDom.apps), 0) - self.assertEquals(len(self._rhDom._get_applications()), 0) + self.assertEqual(len(self._rhDom.apps), 0) + self.assertEqual(len(self._rhDom._get_applications()), 0) def test_createApplication_namespaced(self): @@ -228,35 +228,35 @@ def test_createApplication_namespaced(self): # Create Application from $SDRROOT path app = self._rhDom.createApplication("simple_ns.c2_comp") self.assertNotEqual(app, None, "Application not created") - self.assertEquals(len(self._rhDom._get_applications()), 1) - self.assertEquals(len(self._rhDom.apps), 1) + self.assertEqual(len(self._rhDom._get_applications()), 1) + self.assertEqual(len(self._rhDom.apps), 1) app2 = self._rhDom.createApplication("c2_comp") self.assertNotEqual(app2, None, "Application not created") - self.assertEquals(len(self._rhDom._get_applications()), 2) - self.assertEquals(len(self._rhDom.apps), 2) + self.assertEqual(len(self._rhDom._get_applications()), 2) + self.assertEqual(len(self._rhDom.apps), 2) app.releaseObject() - self.assertEquals(len(self._rhDom._get_applications()), 1) - self.assertEquals(len(self._rhDom.apps), 1) + self.assertEqual(len(self._rhDom._get_applications()), 1) + self.assertEqual(len(self._rhDom.apps), 1) self.assertRaises(CF.DomainManager.ApplicationInstallationError,self._rhDom.createApplication, "this.should.fail.c2_comp") # Use exit functions from module to release other launched app redhawk.core._cleanUpLaunchedApps() - self.assertEquals(len(self._rhDom.apps), 0) - self.assertEquals(len(self._rhDom._get_applications()), 0) + self.assertEqual(len(self._rhDom.apps), 0) + self.assertEqual(len(self._rhDom._get_applications()), 0) def test_createApplicationNoCleanup(self): # Create Application from $SDRROOT path app = self._rhDom.createApplication("/waveforms/TestCppProps/TestCppProps.sad.xml") self.assertNotEqual(app, None, "Application not created") - self.assertEquals(len(self._rhDom._get_applications()), 1) - self.assertEquals(len(self._rhDom.apps), 1) + self.assertEqual(len(self._rhDom._get_applications()), 1) + self.assertEqual(len(self._rhDom.apps), 1) # Ensure that api() works. - _destfile=StringIO.StringIO() + _destfile=io.StringIO() try: app.api(destfile=_destfile) except: @@ -264,17 +264,17 @@ def test_createApplicationNoCleanup(self): app2 = self._rhDom.createApplication("TestCppProps") self.assertNotEqual(app2, None, "Application not created") - self.assertEquals(len(self._rhDom._get_applications()), 2) - self.assertEquals(len(self._rhDom.apps), 2) + self.assertEqual(len(self._rhDom._get_applications()), 2) + self.assertEqual(len(self._rhDom.apps), 2) app.releaseObject() - self.assertEquals(len(self._rhDom._get_applications()), 1) - self.assertEquals(len(self._rhDom.apps), 1) + self.assertEqual(len(self._rhDom._get_applications()), 1) + self.assertEqual(len(self._rhDom.apps), 1) # Use exit functions from module to release other launched app redhawk.core._cleanUpLaunchedApps() - self.assertEquals(len(self._rhDom.apps), 1) - self.assertEquals(len(self._rhDom._get_applications()), 1) + self.assertEqual(len(self._rhDom.apps), 1) + self.assertEqual(len(self._rhDom._get_applications()), 1) def test_cleanup_multiple_waves(self): # Automatically clean up @@ -282,30 +282,30 @@ def test_cleanup_multiple_waves(self): # Create Application from $SDRROOT path app = self._rhDom.createApplication("/waveforms/TestCppProps/TestCppProps.sad.xml") self.assertNotEqual(app, None, "Application not created") - self.assertEquals(len(self._rhDom._get_applications()), 1) - self.assertEquals(len(self._rhDom.apps), 1) + self.assertEqual(len(self._rhDom._get_applications()), 1) + self.assertEqual(len(self._rhDom.apps), 1) app2 = self._rhDom.createApplication("TestCppProps") self.assertNotEqual(app2, None, "Application not created") - self.assertEquals(len(self._rhDom._get_applications()), 2) - self.assertEquals(len(self._rhDom.apps), 2) + self.assertEqual(len(self._rhDom._get_applications()), 2) + self.assertEqual(len(self._rhDom.apps), 2) app3 = self._rhDom.createApplication("TestCppProps") self.assertNotEqual(app3, None, "Application not created") - self.assertEquals(len(self._rhDom._get_applications()), 3) - self.assertEquals(len(self._rhDom.apps), 3) + self.assertEqual(len(self._rhDom._get_applications()), 3) + self.assertEqual(len(self._rhDom.apps), 3) # Use exit functions from module to release launched apps redhawk.core._cleanUpLaunchedApps() - self.assertEquals(len(self._rhDom.apps), 0) - self.assertEquals(len(self._rhDom._get_applications()), 0) + self.assertEqual(len(self._rhDom.apps), 0) + self.assertEqual(len(self._rhDom._get_applications()), 0) def test_largeShutdown(self): for i in range(16): self._rhDom.createApplication('TestCppProps') - self.assertEquals(len(self._rhDom._get_applications()), 16) - self.assertEquals(len(self._rhDom.apps), 16) + self.assertEqual(len(self._rhDom._get_applications()), 16) + self.assertEqual(len(self._rhDom.apps), 16) apps = self._rhDom.apps @@ -314,32 +314,32 @@ def test_largeShutdown(self): a.stop() a.releaseObject() - self.assertEquals(len(self._rhDom._get_applications()), 0) - self.assertEquals(len(self._rhDom.apps), 0) + self.assertEqual(len(self._rhDom._get_applications()), 0) + self.assertEqual(len(self._rhDom.apps), 0) def test_apiHostCollocation(self): app = self._rhDom.createApplication("/waveforms/through_w/through_w.sad.xml") provides_ports = object.__getattribute__(app,'_providesPortDict') - self.assertEquals(provides_ports, {}) + self.assertEqual(provides_ports, {}) uses_ports = object.__getattribute__(app,'_usesPortDict') - self.assertEquals(uses_ports, {}) - _destfile=StringIO.StringIO() + self.assertEqual(uses_ports, {}) + _destfile=io.StringIO() app.api(destfile=_destfile) provides_ports = object.__getattribute__(app,'_providesPortDict') - self.assertEquals(len(provides_ports), 1) - self.assertEquals(provides_ports.keys()[0], 'input') - self.assertEquals(provides_ports['input']['Port Interface'], 'IDL:CF/LifeCycle:1.0') - self.assertEquals(provides_ports['input']['Port Name'], 'input') + self.assertEqual(len(provides_ports), 1) + self.assertEqual(list(provides_ports.keys())[0], 'input') + self.assertEqual(provides_ports['input']['Port Interface'], 'IDL:CF/LifeCycle:1.0') + self.assertEqual(provides_ports['input']['Port Name'], 'input') uses_ports = object.__getattribute__(app,'_usesPortDict') - self.assertEquals(uses_ports.keys()[0], 'output') - self.assertEquals(uses_ports['output']['Port Interface'], 'IDL:CF/LifeCycle:1.0') - self.assertEquals(uses_ports['output']['Port Name'], 'output') + self.assertEqual(list(uses_ports.keys())[0], 'output') + self.assertEqual(uses_ports['output']['Port Interface'], 'IDL:CF/LifeCycle:1.0') + self.assertEqual(uses_ports['output']['Port Name'], 'output') def test_appListSync(self): app = self._rhDom.createApplication("/waveforms/TestCppProps/TestCppProps.sad.xml") self.assertNotEqual(app, None, "Application not created") - self.assertEquals(len(self._rhDom._get_applications()), 1) - self.assertEquals(len(self._rhDom.apps), 1) + self.assertEqual(len(self._rhDom._get_applications()), 1) + self.assertEqual(len(self._rhDom.apps), 1) # Make sure that an app created outside of the redhawk module still updates the app list inside self._domMgr.installApplication('/waveforms/TestCppProps/TestCppProps.sad.xml') @@ -347,14 +347,14 @@ def test_appListSync(self): app2 = appFact.create(appFact._get_name(), [], []) # Give the domain a moment to process the ODM event time.sleep(0.1) - self.assertEquals(len(self._rhDom.apps), 2) + self.assertEqual(len(self._rhDom.apps), 2) app2.releaseObject() app.releaseObject() # Give the domain a moment to process the ODM event time.sleep(0.1) - self.assertEquals(len(self._rhDom.apps), 0) - self.assertEquals(len(self._rhDom._get_applications()), 0) + self.assertEqual(len(self._rhDom.apps), 0) + self.assertEqual(len(self._rhDom._get_applications()), 0) def test_simplePropertyRange(self): # Make sure setters and getters all work for simples @@ -368,13 +368,13 @@ def test_simplePropertyRange(self): app.my_ulong_name = 4294967295 app.my_longlong_name = 9223372036854775807 app.my_ulonglong_name = 18446744073709551615 - self.assertEquals(app.my_octet_name, 255) - self.assertEquals(app.my_short_name, 32767) - self.assertEquals(app.my_ushort_name, 65535) - self.assertEquals(app.my_long_name, 2147483647) - self.assertEquals(app.my_ulong_name, 4294967295) - self.assertEquals(app.my_longlong_name, 9223372036854775807) - self.assertEquals(app.my_ulonglong_name, 18446744073709551615) + self.assertEqual(app.my_octet_name, 255) + self.assertEqual(app.my_short_name, 32767) + self.assertEqual(app.my_ushort_name, 65535) + self.assertEqual(app.my_long_name, 2147483647) + self.assertEqual(app.my_ulong_name, 4294967295) + self.assertEqual(app.my_longlong_name, 9223372036854775807) + self.assertEqual(app.my_ulonglong_name, 18446744073709551615) # Test lower range app.my_octet_name = 0 @@ -384,13 +384,13 @@ def test_simplePropertyRange(self): app.my_ulong_name = 0 app.my_longlong_name = -9223372036854775808 app.my_ulonglong_name = 0 - self.assertEquals(app.my_octet_name, 0) - self.assertEquals(app.my_short_name, -32768) - self.assertEquals(app.my_ushort_name, 0) - self.assertEquals(app.my_long_name, -2147483648) - self.assertEquals(app.my_ulong_name, 0) - self.assertEquals(app.my_longlong_name, -9223372036854775808) - self.assertEquals(app.my_ulonglong_name, 0) + self.assertEqual(app.my_octet_name, 0) + self.assertEqual(app.my_short_name, -32768) + self.assertEqual(app.my_ushort_name, 0) + self.assertEqual(app.my_long_name, -2147483648) + self.assertEqual(app.my_ulong_name, 0) + self.assertEqual(app.my_longlong_name, -9223372036854775808) + self.assertEqual(app.my_ulonglong_name, 0) # Test one beyond upper bound self.assertRaises(type_helpers.OutOfRangeException, app.my_octet_name.configureValue, 256) @@ -430,19 +430,19 @@ def test_structPropertyRange(self): app.my_struct_name.struct_seq_ulong_name[1] = 4294967295 app.my_struct_name.struct_seq_longlong_name[1] = 9223372036854775807 #app.my_struct_name.struct_seq_ulonglong_name[1] = 18446744073709551615 - self.assertEquals(app.my_struct_name.struct_octet_name, 255) - self.assertEquals(app.my_struct_name.struct_short_name, 32767) - self.assertEquals(app.my_struct_name.struct_ushort_name, 65535) - self.assertEquals(app.my_struct_name.struct_long_name, 2147483647) - self.assertEquals(app.my_struct_name.struct_ulong_name, 4294967295) - self.assertEquals(app.my_struct_name.struct_longlong_name, 9223372036854775807) - self.assertEquals(app.my_struct_name.struct_ulonglong_name, 18446744073709551615) - self.assertEquals(app.my_struct_name.struct_seq_octet_name[1], 255) - self.assertEquals(app.my_struct_name.struct_seq_short_name[1], 32767) - self.assertEquals(app.my_struct_name.struct_seq_ushort_name[1], 65535) - self.assertEquals(app.my_struct_name.struct_seq_long_name[1], 2147483647) - self.assertEquals(app.my_struct_name.struct_seq_ulong_name[1], 4294967295) - self.assertEquals(app.my_struct_name.struct_seq_longlong_name[1], 9223372036854775807) + self.assertEqual(app.my_struct_name.struct_octet_name, 255) + self.assertEqual(app.my_struct_name.struct_short_name, 32767) + self.assertEqual(app.my_struct_name.struct_ushort_name, 65535) + self.assertEqual(app.my_struct_name.struct_long_name, 2147483647) + self.assertEqual(app.my_struct_name.struct_ulong_name, 4294967295) + self.assertEqual(app.my_struct_name.struct_longlong_name, 9223372036854775807) + self.assertEqual(app.my_struct_name.struct_ulonglong_name, 18446744073709551615) + self.assertEqual(app.my_struct_name.struct_seq_octet_name[1], 255) + self.assertEqual(app.my_struct_name.struct_seq_short_name[1], 32767) + self.assertEqual(app.my_struct_name.struct_seq_ushort_name[1], 65535) + self.assertEqual(app.my_struct_name.struct_seq_long_name[1], 2147483647) + self.assertEqual(app.my_struct_name.struct_seq_ulong_name[1], 4294967295) + self.assertEqual(app.my_struct_name.struct_seq_longlong_name[1], 9223372036854775807) #self.assertEquals(app.my_struct_name.struct_seq_ulonglong_name[1], 18446744073709551615) # Test lower range @@ -460,20 +460,20 @@ def test_structPropertyRange(self): app.my_struct_name.struct_seq_ulong_name[0] = 0 app.my_struct_name.struct_seq_longlong_name[0] = -9223372036854775808 app.my_struct_name.struct_seq_ulonglong_name[0] = 0 - self.assertEquals(app.my_struct_name.struct_octet_name, 0) - self.assertEquals(app.my_struct_name.struct_short_name, -32768) - self.assertEquals(app.my_struct_name.struct_ushort_name, 0) - self.assertEquals(app.my_struct_name.struct_long_name, -2147483648) - self.assertEquals(app.my_struct_name.struct_ulong_name, 0) - self.assertEquals(app.my_struct_name.struct_longlong_name, -9223372036854775808) - self.assertEquals(app.my_struct_name.struct_ulonglong_name, 0) - self.assertEquals(app.my_struct_name.struct_seq_octet_name[0], 0) - self.assertEquals(app.my_struct_name.struct_seq_short_name[0], -32768) - self.assertEquals(app.my_struct_name.struct_seq_ushort_name[0], 0) - self.assertEquals(app.my_struct_name.struct_seq_long_name[0], -2147483648) - self.assertEquals(app.my_struct_name.struct_seq_ulong_name[0], 0) - self.assertEquals(app.my_struct_name.struct_seq_longlong_name[0], -9223372036854775808) - self.assertEquals(app.my_struct_name.struct_seq_ulonglong_name[0], 0) + self.assertEqual(app.my_struct_name.struct_octet_name, 0) + self.assertEqual(app.my_struct_name.struct_short_name, -32768) + self.assertEqual(app.my_struct_name.struct_ushort_name, 0) + self.assertEqual(app.my_struct_name.struct_long_name, -2147483648) + self.assertEqual(app.my_struct_name.struct_ulong_name, 0) + self.assertEqual(app.my_struct_name.struct_longlong_name, -9223372036854775808) + self.assertEqual(app.my_struct_name.struct_ulonglong_name, 0) + self.assertEqual(app.my_struct_name.struct_seq_octet_name[0], 0) + self.assertEqual(app.my_struct_name.struct_seq_short_name[0], -32768) + self.assertEqual(app.my_struct_name.struct_seq_ushort_name[0], 0) + self.assertEqual(app.my_struct_name.struct_seq_long_name[0], -2147483648) + self.assertEqual(app.my_struct_name.struct_seq_ulong_name[0], 0) + self.assertEqual(app.my_struct_name.struct_seq_longlong_name[0], -9223372036854775808) + self.assertEqual(app.my_struct_name.struct_seq_ulonglong_name[0], 0) # Test one beyond upper bound self.assertRaises(type_helpers.OutOfRangeException, app.my_struct_name.struct_octet_name.configureValue, 256) @@ -511,10 +511,10 @@ def test_structPropertyRange(self): # NB: This test used to use names instead of ids, which silently failed in 1.8. new_value = {'struct_octet': 100, 'struct_short': 101, 'struct_ushort': 102, 'struct_long': 103, 'struct_ulong': 104, 'struct_longlong': 105, 'struct_ulonglong': 106, 'struct_seq_octet': [100, 101], - 'struct_seq_short': [102, 103], 'struct_seq_ushort': [104, 105], 'struct_seq_long': [106L, 107L], - 'struct_seq_ulong': [108L, 109L], 'struct_seq_longlong': [110L, 111L], 'struct_seq_ulonglong': [112L, 113L]} + 'struct_seq_short': [102, 103], 'struct_seq_ushort': [104, 105], 'struct_seq_long': [106, 107], + 'struct_seq_ulong': [108, 109], 'struct_seq_longlong': [110, 111], 'struct_seq_ulonglong': [112, 113]} app.my_struct_name = new_value - self.assertEquals(app.my_struct_name, new_value) + self.assertEqual(app.my_struct_name, new_value) def test_seqPropertyRange(self): @@ -536,19 +536,19 @@ def test_seqPropertyRange(self): app.seq_longlong_name[1] = 9223372036854775807 app.seq_ulonglong_name[0] = 0 #app.seq_ulonglong_name[1] = 18446744073709551615 - self.assertEquals(app.seq_octet_name[0], 0) - self.assertEquals(app.seq_octet_name[1], 255) - self.assertEquals(app.seq_short_name[0], -32768) - self.assertEquals(app.seq_short_name[1], 32767) - self.assertEquals(app.seq_ushort_name[0], 0) - self.assertEquals(app.seq_ushort_name[1], 65535) - self.assertEquals(app.seq_long_name[0], -2147483648) - self.assertEquals(app.seq_long_name[1], 2147483647) - self.assertEquals(app.seq_ulong_name[0], 0) - self.assertEquals(app.seq_ulong_name[1], 4294967295) - self.assertEquals(app.seq_longlong_name[0], -9223372036854775808) - self.assertEquals(app.seq_longlong_name[1], 9223372036854775807) - self.assertEquals(app.seq_ulonglong_name[0], 0) + self.assertEqual(app.seq_octet_name[0], 0) + self.assertEqual(app.seq_octet_name[1], 255) + self.assertEqual(app.seq_short_name[0], -32768) + self.assertEqual(app.seq_short_name[1], 32767) + self.assertEqual(app.seq_ushort_name[0], 0) + self.assertEqual(app.seq_ushort_name[1], 65535) + self.assertEqual(app.seq_long_name[0], -2147483648) + self.assertEqual(app.seq_long_name[1], 2147483647) + self.assertEqual(app.seq_ulong_name[0], 0) + self.assertEqual(app.seq_ulong_name[1], 4294967295) + self.assertEqual(app.seq_longlong_name[0], -9223372036854775808) + self.assertEqual(app.seq_longlong_name[1], 9223372036854775807) + self.assertEqual(app.seq_ulonglong_name[0], 0) #self.assertEquals(app.seq_ulonglong_name[1], 18446744073709551615) # Test one beyond upper bound @@ -576,8 +576,8 @@ def test_seqPropertyRange(self): app.seq_char_name[0] = 'X' app.seq_char_name[1] = 'Y' - self.assertEquals(app.seq_char_name[0], 'X') - self.assertEquals(app.seq_char_name[1], 'Y') + self.assertEqual(app.seq_char_name[0], 'X') + self.assertEqual(app.seq_char_name[1], 'Y') def test_structSeqPropertyRange(self): @@ -613,34 +613,34 @@ def test_structSeqPropertyRange(self): app.my_structseq_name[1].ss_seq_longlong_name[0] = -9223372036854775808 #app.my_structseq_name[0].ss_seq_ulonglong_name[1] = 18446744073709551615 app.my_structseq_name[1].ss_seq_ulonglong_name[0] = 0 - self.assertEquals(app.my_structseq_name[0].ss_octet_name, 255) - self.assertEquals(app.my_structseq_name[1].ss_octet_name, 0) - self.assertEquals(app.my_structseq_name[0].ss_short_name, 32767) - self.assertEquals(app.my_structseq_name[1].ss_short_name, -32768) - self.assertEquals(app.my_structseq_name[0].ss_ushort_name, 65535) - self.assertEquals(app.my_structseq_name[1].ss_ushort_name, 0) - self.assertEquals(app.my_structseq_name[0].ss_long_name, 2147483647) - self.assertEquals(app.my_structseq_name[1].ss_long_name, -2147483648) - self.assertEquals(app.my_structseq_name[0].ss_ulong_name, 4294967295) - self.assertEquals(app.my_structseq_name[1].ss_ulong_name, 0) - self.assertEquals(app.my_structseq_name[0].ss_longlong_name, 9223372036854775807) - self.assertEquals(app.my_structseq_name[1].ss_longlong_name, -9223372036854775808) - self.assertEquals(app.my_structseq_name[0].ss_ulonglong_name, 18446744073709551615) - self.assertEquals(app.my_structseq_name[1].ss_ulonglong_name, 0) - self.assertEquals(app.my_structseq_name[0].ss_seq_octet_name[1], 255) - self.assertEquals(app.my_structseq_name[1].ss_seq_octet_name[0], 0) - self.assertEquals(app.my_structseq_name[0].ss_seq_short_name[1], 32767) - self.assertEquals(app.my_structseq_name[1].ss_seq_short_name[0], -32768) - self.assertEquals(app.my_structseq_name[0].ss_seq_ushort_name[1], 65535) - self.assertEquals(app.my_structseq_name[1].ss_seq_ushort_name[0], 0) - self.assertEquals(app.my_structseq_name[0].ss_seq_long_name[1], 2147483647) - self.assertEquals(app.my_structseq_name[1].ss_seq_long_name[0], -2147483648) - self.assertEquals(app.my_structseq_name[0].ss_seq_ulong_name[1], 4294967295) - self.assertEquals(app.my_structseq_name[1].ss_seq_ulong_name[0], 0) - self.assertEquals(app.my_structseq_name[0].ss_seq_longlong_name[1], 9223372036854775807) - self.assertEquals(app.my_structseq_name[1].ss_seq_longlong_name[0], -9223372036854775808) + self.assertEqual(app.my_structseq_name[0].ss_octet_name, 255) + self.assertEqual(app.my_structseq_name[1].ss_octet_name, 0) + self.assertEqual(app.my_structseq_name[0].ss_short_name, 32767) + self.assertEqual(app.my_structseq_name[1].ss_short_name, -32768) + self.assertEqual(app.my_structseq_name[0].ss_ushort_name, 65535) + self.assertEqual(app.my_structseq_name[1].ss_ushort_name, 0) + self.assertEqual(app.my_structseq_name[0].ss_long_name, 2147483647) + self.assertEqual(app.my_structseq_name[1].ss_long_name, -2147483648) + self.assertEqual(app.my_structseq_name[0].ss_ulong_name, 4294967295) + self.assertEqual(app.my_structseq_name[1].ss_ulong_name, 0) + self.assertEqual(app.my_structseq_name[0].ss_longlong_name, 9223372036854775807) + self.assertEqual(app.my_structseq_name[1].ss_longlong_name, -9223372036854775808) + self.assertEqual(app.my_structseq_name[0].ss_ulonglong_name, 18446744073709551615) + self.assertEqual(app.my_structseq_name[1].ss_ulonglong_name, 0) + self.assertEqual(app.my_structseq_name[0].ss_seq_octet_name[1], 255) + self.assertEqual(app.my_structseq_name[1].ss_seq_octet_name[0], 0) + self.assertEqual(app.my_structseq_name[0].ss_seq_short_name[1], 32767) + self.assertEqual(app.my_structseq_name[1].ss_seq_short_name[0], -32768) + self.assertEqual(app.my_structseq_name[0].ss_seq_ushort_name[1], 65535) + self.assertEqual(app.my_structseq_name[1].ss_seq_ushort_name[0], 0) + self.assertEqual(app.my_structseq_name[0].ss_seq_long_name[1], 2147483647) + self.assertEqual(app.my_structseq_name[1].ss_seq_long_name[0], -2147483648) + self.assertEqual(app.my_structseq_name[0].ss_seq_ulong_name[1], 4294967295) + self.assertEqual(app.my_structseq_name[1].ss_seq_ulong_name[0], 0) + self.assertEqual(app.my_structseq_name[0].ss_seq_longlong_name[1], 9223372036854775807) + self.assertEqual(app.my_structseq_name[1].ss_seq_longlong_name[0], -9223372036854775808) #self.assertEquals(app.my_structseq_name[0].ss_seq_ulonglong_name[1], 18446744073709551615) - self.assertEquals(app.my_structseq_name[1].ss_seq_ulonglong_name[0], 0) + self.assertEqual(app.my_structseq_name[1].ss_seq_ulonglong_name[0], 0) # Test one beyond upper bound self.assertRaises(type_helpers.OutOfRangeException, app.my_structseq_name[0].ss_octet_name.configureValue, 256) @@ -677,19 +677,19 @@ def test_structSeqPropertyRange(self): # Make sure entire struct seq can be set without error new_value = [{'ss_octet': 100, 'ss_short': 101, 'ss_ushort': 102, 'ss_long': 103, 'ss_ulong': 104, 'ss_longlong': 105, 'ss_ulonglong': 106, 'ss_seq_octet': [100, 101], - 'ss_seq_short': [102, 103], 'ss_seq_ushort': [104, 105], 'ss_seq_long': [106L, 107L], - 'ss_seq_ulong': [108L, 109L], 'ss_seq_longlong': [110L, 111L], 'ss_seq_ulonglong': [112L, 113L]}, + 'ss_seq_short': [102, 103], 'ss_seq_ushort': [104, 105], 'ss_seq_long': [106, 107], + 'ss_seq_ulong': [108, 109], 'ss_seq_longlong': [110, 111], 'ss_seq_ulonglong': [112, 113]}, {'ss_octet': 107, 'ss_short': 108, 'ss_ushort': 109, 'ss_long': 110, 'ss_ulong': 111, 'ss_longlong': 112, 'ss_ulonglong': 113, 'ss_seq_octet': [114, 115], - 'ss_seq_short': [116, 117], 'ss_seq_ushort': [118, 119], 'ss_seq_long': [120L, 121L], - 'ss_seq_ulong': [122L, 123L], 'ss_seq_longlong': [124L, 125L], 'ss_seq_ulonglong': [126L, 127L]}] + 'ss_seq_short': [116, 117], 'ss_seq_ushort': [118, 119], 'ss_seq_long': [120, 121], + 'ss_seq_ulong': [122, 123], 'ss_seq_longlong': [124, 125], 'ss_seq_ulonglong': [126, 127]}] app.my_structseq_name = new_value self.assertEqual(app.my_structseq_name, new_value) # Make sure individual structs can be set without error # NB: This test used to use names instead of ids, which silently failed in 1.8. for item in new_value: - for name in item.iterkeys(): + for name in item.keys(): if isinstance(item[name], list): for i in item[name]: i += 100 @@ -710,12 +710,12 @@ def test_createApplicationName(self): # Create an app and make sure that the given name was used as a prefix app1 = self._rhDom.createApplication(sadfile, name) self.assertNotEqual(app1, None, 'Application not created') - self.assert_(app1.ns_name.startswith(name)) + self.assertTrue(app1.ns_name.startswith(name)) # Create a second instance, and verify that the names are unique app2 = self._rhDom.createApplication(sadfile, name) self.assertNotEqual(app2, None, 'Application not created') - self.assert_(app2.ns_name.startswith(name)) + self.assertTrue(app2.ns_name.startswith(name)) self.assertNotEqual(app1.ns_name, app2.ns_name) def test_createApplicationDeviceAssignment(self): @@ -736,13 +736,13 @@ def test_createApplicationDeviceAssignment(self): devAssignment[0].assignedDeviceId = dev_1 app = self._rhDom.createApplication(sadfile, name, {}, devAssignment) self.assertNotEqual(app, None, 'Application not created') - self.assertEquals(app._get_componentDevices()[0].assignedDeviceId, dev_1) + self.assertEqual(app._get_componentDevices()[0].assignedDeviceId, dev_1) app.releaseObject() devAssignment[0].assignedDeviceId = dev_2 app = self._rhDom.createApplication(sadfile, name, {}, devAssignment) self.assertNotEqual(app, None, 'Application not created') - self.assertEquals(app._get_componentDevices()[0].assignedDeviceId, dev_2) + self.assertEqual(app._get_componentDevices()[0].assignedDeviceId, dev_2) app.releaseObject() def test_createApplication1InitConfig(self): @@ -756,7 +756,7 @@ def test_createApplication1InitConfig(self): # supports the use of property IDs props = {'my_long':1000} app1 = self._rhDom.createApplication(sadfile, initConfiguration=props) - for name, value in props.iteritems(): + for name, value in props.items(): self.assertEqual(getattr(app1, name), value) # Use CF.Properties to override the properties @@ -831,7 +831,7 @@ def test_connectionMgrComp(self): foundcomp=False for _comp in app1.comps: if _comp._id[:33] == 'PortTest1:PortConnectExternalPort': - self.assertEquals(_comp.instanceName, "PortTest1") + self.assertEqual(_comp.instanceName, "PortTest1") foundcomp = True break self.assertTrue(foundcomp) @@ -840,16 +840,16 @@ def test_connectionMgrComp(self): if _port.name == 'resource_out': break - self.assertEquals(len(_port._get_connections()), 0) + self.assertEqual(len(_port._get_connections()), 0) ep1=rhconnection.makeEndPoint(_comp, 'resource_out') - print ep1 + print(ep1) ep2=rhconnection.makeEndPoint(app2, '') - print ep2 + print(ep2) cMgr = self._rhDom._get_connectionMgr() cMgr.connect(ep1,ep2) - self.assertEquals(len(_port._get_connections()), 1) + self.assertEqual(len(_port._get_connections()), 1) class RedhawkModuleAllocationMgrTest(scatest.CorbaTestCase): def setUp(self): @@ -857,7 +857,7 @@ def setUp(self): devBooter, self._devMgr = self.launchDeviceManager("/nodes/dev_alloc_node/DeviceManager.dcd.xml") self._rhDom = redhawk.attach(scatest.getTestDomainName()) self.am=self._rhDom._get_allocationMgr() - self.assertEquals(len(self._rhDom._get_applications()), 0) + self.assertEqual(len(self._rhDom._get_applications()), 0) def tearDown(self): # Do all application shutdown before calling the base class tearDown, @@ -876,8 +876,8 @@ def test_allocMgrSimple(self): prop = allocations.createProps({'si_prop':3}) rq=self.am.createRequest('foo',prop) resp = self.am.allocate([rq]) - self.assertEquals(len(resp),1) - self.assertEquals(self.am.listAllocations(CF.AllocationManager.LOCAL_ALLOCATIONS, 100)[0][0].allocationID, resp[0].allocationID) + self.assertEqual(len(resp),1) + self.assertEqual(self.am.listAllocations(CF.AllocationManager.LOCAL_ALLOCATIONS, 100)[0][0].allocationID, resp[0].allocationID) self.am.deallocate([resp[0].allocationID]) def test_allocMgrSimSeq(self): @@ -887,13 +887,13 @@ def test_allocMgrSimSeq(self): prop = allocations.createProps({'se_prop':[1.0,2.0]}) rq=self.am.createRequest('foo',prop) resp = self.am.allocate([rq]) - self.assertEquals(len(resp),1) + self.assertEqual(len(resp),1) self.am.deallocate([resp[0].allocationID]) prop = allocations.createProps({'se_prop':[1.0,2.0]}, prf='sdr/dev/devices/dev_alloc_cpp/dev_alloc_cpp.prf.xml') rq=self.am.createRequest('foo',prop) resp = self.am.allocate([rq]) - self.assertEquals(len(resp),1) - self.assertEquals(self.am.listAllocations(CF.AllocationManager.LOCAL_ALLOCATIONS, 100)[0][0].allocationID, resp[0].allocationID) + self.assertEqual(len(resp),1) + self.assertEqual(self.am.listAllocations(CF.AllocationManager.LOCAL_ALLOCATIONS, 100)[0][0].allocationID, resp[0].allocationID) self.am.deallocate([resp[0].allocationID]) def test_allocMgrStruct(self): @@ -903,13 +903,13 @@ def test_allocMgrStruct(self): prop = allocations.createProps({'s_prop':{'s_prop::a':'hello','s_prop::b':5}}) rq=self.am.createRequest('foo',prop) resp = self.am.allocate([rq]) - self.assertEquals(len(resp),1) + self.assertEqual(len(resp),1) self.am.deallocate([resp[0].allocationID]) prop = allocations.createProps({'s_prop':{'s_prop::a':'hello','s_prop::b':5}}, prf='sdr/dev/devices/dev_alloc_cpp/dev_alloc_cpp.prf.xml') rq=self.am.createRequest('foo',prop) resp = self.am.allocate([rq]) - self.assertEquals(len(resp),1) - self.assertEquals(self.am.listAllocations(CF.AllocationManager.LOCAL_ALLOCATIONS, 100)[0][0].allocationID, resp[0].allocationID) + self.assertEqual(len(resp),1) + self.assertEqual(self.am.listAllocations(CF.AllocationManager.LOCAL_ALLOCATIONS, 100)[0][0].allocationID, resp[0].allocationID) self.am.deallocate([resp[0].allocationID]) def test_allocMgrStrSeq(self): @@ -919,13 +919,13 @@ def test_allocMgrStrSeq(self): prop = allocations.createProps({'sq_prop':[{'sq_prop::b':'hello','sq_prop::a':5},{'sq_prop::b':'another','sq_prop::a':7}]}) rq=self.am.createRequest('foo',prop) resp = self.am.allocate([rq]) - self.assertEquals(len(resp),1) + self.assertEqual(len(resp),1) self.am.deallocate([resp[0].allocationID]) prop = allocations.createProps({'sq_prop':[{'sq_prop::b':'hello','sq_prop::a':5},{'sq_prop::b':'another','sq_prop::a':7}]}, prf='sdr/dev/devices/dev_alloc_cpp/dev_alloc_cpp.prf.xml') rq=self.am.createRequest('foo',prop) resp = self.am.allocate([rq]) - self.assertEquals(len(resp),1) - self.assertEquals(self.am.listAllocations(CF.AllocationManager.LOCAL_ALLOCATIONS, 100)[0][0].allocationID, resp[0].allocationID) + self.assertEqual(len(resp),1) + self.assertEqual(self.am.listAllocations(CF.AllocationManager.LOCAL_ALLOCATIONS, 100)[0][0].allocationID, resp[0].allocationID) self.am.deallocate([resp[0].allocationID]) def test_allocMgrListAllocationsDefaults(self): @@ -935,12 +935,12 @@ def test_allocMgrListAllocationsDefaults(self): prop = allocations.createProps({'si_prop':3}) request = self.am.createRequest('first', prop) response = self.am.allocate([request]) - self.assertEquals(len(response), 1) + self.assertEqual(len(response), 1) # Default arguments are a scope of all allocations and count of 0, # which yields an empty list and an iterator allocs, iterator = self.am.listAllocations() - self.assertEquals(len(allocs), 0) - self.failIf(iterator is None) + self.assertEqual(len(allocs), 0) + self.assertFalse(iterator is None) class MixedRedhawkSandboxTest(scatest.CorbaTestCase): def setUp(self): @@ -1023,7 +1023,7 @@ def test_default_logconfig(self): ## remove extra white space cfg=cfg.replace(" ","") c_cfg=c_cfg.replace(" ","") - self.assertEquals( cfg, c_cfg) + self.assertEqual( cfg, c_cfg) def test_logconfig(self): @@ -1038,7 +1038,7 @@ def test_logconfig(self): c_cfg=self.dom.ref.getLogConfig() cfg=cfg.replace(" ","") c_cfg=c_cfg.replace(" ","") - self.assertEquals( cfg, c_cfg) + self.assertEqual( cfg, c_cfg) def test_macro_config(self): @@ -1054,14 +1054,14 @@ def test_macro_config(self): res=c_cfg.find(scatest.getTestDomainName()) - self.assertNotEquals( res, -1 ) + self.assertNotEqual( res, -1 ) def test_macro_config2(self): cfg = "@@@DOMAIN.NAME@@@" self.dom.ref.setLogConfig(cfg) c_cfg=self.dom.ref.getLogConfig() res=c_cfg.find(scatest.getTestDomainName()) - self.assertNotEquals( res, -1 ) + self.assertNotEqual( res, -1 ) class RedhawkModuleAttachTest(scatest.CorbaTestCase): def setUp(self): @@ -1100,12 +1100,12 @@ def setUp(self): def tearDown(self): redhawk.base._cleanup_domain() scatest.CorbaTestCase.tearDown(self) - import commands + import subprocess try: - s,o = commands.getstatusoutput('pkill -9 -f nodeBooter ') - s,o = commands.getstatusoutput('pkill -9 -f dev/devices ') - s,o = commands.getstatusoutput('pkill -9 -f DomainManager ') - s,o = commands.getstatusoutput('pkill -9 -f DeviceManager ') + s,o = subprocess.getstatusoutput('pkill -9 -f nodeBooter ') + s,o = subprocess.getstatusoutput('pkill -9 -f dev/devices ') + s,o = subprocess.getstatusoutput('pkill -9 -f DomainManager ') + s,o = subprocess.getstatusoutput('pkill -9 -f DeviceManager ') except: pass @@ -1130,19 +1130,19 @@ def _try_kick_domain(self, logcfg, epatterns, debug_level=None, kick_device_man time.sleep(2) new_stdout=open(tmpfile,'r') - for k, epat in epatterns.iteritems(): + for k, epat in epatterns.items(): epat.setdefault('results',[]) for x in new_stdout.readlines(): #print "Line -> ", x - for k, pat in epatterns.iteritems(): + for k, pat in epatterns.items(): for epat in pat['patterns' ]: m=re.search( epat, x ) if m : #print "MATCH -> ", epat, " LINE ", x pat['results'].append(True) - for k,pat in epatterns.iteritems(): + for k,pat in epatterns.items(): if type(pat['match']) == list: lmatch = len(pat['results']) == len(pat['match']) and pat['results'] == pat['match'] self.assertEqual(lmatch, True ) diff --git a/redhawk/src/testing/tests/test_13_SDDS.py b/redhawk/src/testing/tests/test_13_SDDS.py index 4d9c14a95..728c72360 100644 --- a/redhawk/src/testing/tests/test_13_SDDS.py +++ b/redhawk/src/testing/tests/test_13_SDDS.py @@ -25,7 +25,7 @@ import time import calendar import contextlib -import cStringIO +import io import binascii import struct import re @@ -64,7 +64,7 @@ def _run_test(self, fmt_key): if len(conv) > 2: logline = logline.split(conv[2])[0] pval = pval.split(conv[2])[0] - self.assertEquals( pval, logline) + self.assertEqual( pval, logline) def test_startofyear(self): @@ -100,7 +100,7 @@ def test_init(self): # set partial sdds_time.setFromPartial( 4, .001 ) - self.assertEqual( sdds_time.picoTicks(), (4000000000*4) + long(4000000000*0.001) ) + self.assertEqual( sdds_time.picoTicks(), (4000000000*4) + int(4000000000*0.001) ) self.assertEqual( sdds_time.picoTicksFractional(), 0 ) @@ -216,33 +216,33 @@ def test_format_identifier_packet(self): pkt = sdds_pkt.sdds_packet() pkt.set_standardformat(True) - self.assertEquals(pkt.get_standardformat(),True) + self.assertEqual(pkt.get_standardformat(),True) pkt.set_startofsequence(True) - self.assertEquals(pkt.get_startofsequence(),True) + self.assertEqual(pkt.get_startofsequence(),True) pkt.set_paritypacket(True) - self.assertEquals(pkt.get_paritypacket(),True) + self.assertEqual(pkt.get_paritypacket(),True) pkt.set_spectralsense(True) - self.assertEquals(pkt.get_spectralsense(),True) + self.assertEqual(pkt.get_spectralsense(),True) pkt.set_originalformat(True) - self.assertEquals(pkt.get_originalformat(),True) + self.assertEqual(pkt.get_originalformat(),True) pkt.set_complex(True) - self.assertEquals(pkt.get_complex(),True) + self.assertEqual(pkt.get_complex(),True) pkt.set_vw(True) - self.assertEquals(pkt.get_vw(),True) + self.assertEqual(pkt.get_vw(),True) for x in [ 2, 4, 8, 12 ]: pkt.set_bps(x) - self.assertEquals(pkt.get_bps(),x) + self.assertEqual(pkt.get_bps(),x) for x in [ 0,1,2,5,6,7]: pkt.set_dmode(x) - self.assertEquals(pkt.get_dmode(),x) + self.assertEqual(pkt.get_dmode(),x) diff --git a/redhawk/src/testing/tests/test_13_TestSB.py b/redhawk/src/testing/tests/test_13_TestSB.py index 081d1bca2..28e0cfcd8 100644 --- a/redhawk/src/testing/tests/test_13_TestSB.py +++ b/redhawk/src/testing/tests/test_13_TestSB.py @@ -19,17 +19,17 @@ # import os -import Queue +import queue import unittest import sys -import commands -import cStringIO +import subprocess +import io import time import copy import threading import warnings import subprocess -import commands +import subprocess import struct import tempfile import numpy @@ -96,16 +96,16 @@ def tearDown(self): pass def test_NoInteractiveJavaService(self): - status, output=commands.getstatusoutput('sdr/dev/services/BasicService_java/java/startJava.sh -i') - self.assertNotEquals(output.find(self.message),-1) + status, output=subprocess.getstatusoutput('sdr/dev/services/BasicService_java/java/startJava.sh -i') + self.assertNotEqual(output.find(self.message),-1) def test_NoInteractiveJavaDevice(self): - status, output=commands.getstatusoutput('sdr/dev/devices/BasicTestDevice_java/java/startJava.sh -i') - self.assertNotEquals(output.find(self.message),-1) + status, output=subprocess.getstatusoutput('sdr/dev/devices/BasicTestDevice_java/java/startJava.sh -i') + self.assertNotEqual(output.find(self.message),-1) def test_NoInteractiveJavaComponent(self): - status, output=commands.getstatusoutput('sdr/dom/components/ECM_JAVA/java/startJava.sh -i') - self.assertNotEquals(output.find(self.message),-1) + status, output=subprocess.getstatusoutput('sdr/dom/components/ECM_JAVA/java/startJava.sh -i') + self.assertNotEqual(output.find(self.message),-1) class InteractiveTestPython(scatest.CorbaTestCase): def setUp(self): @@ -115,16 +115,16 @@ def tearDown(self): pass def test_NoInteractivePythonService(self): - status, output=commands.getstatusoutput('sdr/dev/services/S1/python/S1.py -i') - self.assertNotEquals(output.find(self.message),-1) + status, output=subprocess.getstatusoutput('sdr/dev/services/S1/python/S1.py -i') + self.assertNotEqual(output.find(self.message),-1) def test_NoInteractivePythonDevice(self): - status, output=commands.getstatusoutput('sdr/dev/devices/BasicTestDevice/BasicTestDevice.py -i') - self.assertNotEquals(output.find(self.message),-1) + status, output=subprocess.getstatusoutput('sdr/dev/devices/BasicTestDevice/BasicTestDevice.py -i') + self.assertNotEqual(output.find(self.message),-1) def test_NoInteractivePythonComponent(self): - status, output=commands.getstatusoutput('sdr/dom/components/ECM_PY/python/ECM_PY.py -i') - self.assertNotEquals(output.find(self.message),-1) + status, output=subprocess.getstatusoutput('sdr/dom/components/ECM_PY/python/ECM_PY.py -i') + self.assertNotEqual(output.find(self.message),-1) class InteractiveTestCpp(scatest.CorbaTestCase): def setUp(self): @@ -134,16 +134,16 @@ def tearDown(self): pass def test_NoInteractiveCppService(self): - status, output=commands.getstatusoutput('sdr/dev/services/BasicService_cpp/cpp/BasicService_cpp -i') - self.assertNotEquals(output.find(self.message),-1) + status, output=subprocess.getstatusoutput('sdr/dev/services/BasicService_cpp/cpp/BasicService_cpp -i') + self.assertNotEqual(output.find(self.message),-1) def test_NoInteractiveCppDevice(self): - status, output=commands.getstatusoutput('sdr/dev/devices/cpp_dev/cpp/cpp_dev -i') - self.assertNotEquals(output.find(self.message),-1) + status, output=subprocess.getstatusoutput('sdr/dev/devices/cpp_dev/cpp/cpp_dev -i') + self.assertNotEqual(output.find(self.message),-1) def test_NoInteractiveCppComponent(self): - status, output=commands.getstatusoutput('sdr/dom/components/ECM_CPP/cpp/ECM_CPP -i') - self.assertNotEquals(output.find(self.message),-1) + status, output=subprocess.getstatusoutput('sdr/dom/components/ECM_CPP/cpp/ECM_CPP -i') + self.assertNotEqual(output.find(self.message),-1) def wait_on_data(sink, number_timestamps, timeout=1): begin_time = time.time() @@ -194,19 +194,19 @@ def test_PublishSubscribePull(self): data = any.to_any(payload) pub.push(data) rec_data = self._waitData(sub, 1.0) - self.assertEquals(rec_data, payload) + self.assertEqual(rec_data, payload) pub.terminate() sub.terminate() def test_PublishSubscribeCB(self): - queue = Queue.Queue() + queue = queue.Queue() sub = Subscriber(self.channel, dataArrivedCB=queue.put) pub = Publisher(self.channel) payload = 'hello' data = any.to_any(payload) pub.push(data) rec_data = queue.get(timeout=1.0) - self.assertEquals(rec_data._v, payload) + self.assertEqual(rec_data._v, payload) pub.terminate() sub.terminate() @@ -318,7 +318,7 @@ def setUp(self): sb.domainless._sandbox = None def assertComponentCount(self, count): - self.assertEquals(len(sb.domainless._getSandbox().getComponents()), count) + self.assertEqual(len(sb.domainless._getSandbox().getComponents()), count) def tearDown(self): sb.release() @@ -334,53 +334,53 @@ def test_catalog(self): sdrRoot = os.environ.pop('SDRROOT') # No SDRROOT env (should default to current directory). - self.assertEquals(sb.catalog(), []) + self.assertEqual(sb.catalog(), []) # Bad Sdr root env; dispose of existing sandbox instance to test. sb.domainless._sandbox = None os.environ["SDRROOT"] = "" - self.assertEquals(sb.catalog(), []) + self.assertEqual(sb.catalog(), []) # Good SDRROOT sb.setSDRROOT(sdrRoot) - self.assertNotEquals(len(sb.catalog()), 0) + self.assertNotEqual(len(sb.catalog()), 0) # test objType options - self.assertNotEquals(len(sb.catalog(objType="components")), 0) - self.assertNotEquals(len(sb.catalog(objType="devices")), 0) - self.assertNotEquals(len(sb.catalog(objType="services")), 0) - self.assertNotEquals(len(sb.catalog(objType="all")), 0) + self.assertNotEqual(len(sb.catalog(objType="components")), 0) + self.assertNotEqual(len(sb.catalog(objType="devices")), 0) + self.assertNotEqual(len(sb.catalog(objType="services")), 0) + self.assertNotEqual(len(sb.catalog(objType="all")), 0) # Bad search path - self.assertEquals(len(sb.catalog("my_path")), 0) + self.assertEqual(len(sb.catalog("my_path")), 0) # Search path with no usable files - self.assertEquals(len(sb.catalog("jackhammer")), 0) + self.assertEqual(len(sb.catalog("jackhammer")), 0) # Restore sdrroot os.environ['SDRROOT'] = sdrRoot def test_softpkgDepSingle(self): c = sb.launch('ticket_490_single') - self.assertNotEquals(c, None) + self.assertNotEqual(c, None) def test_softpkgDepNone(self): c = sb.launch('ticket_490_none') - self.assertNotEquals(c, None) + self.assertNotEqual(c, None) def test_softpkgDepDouble(self): c = sb.launch('ticket_490_double') - self.assertNotEquals(c, None) + self.assertNotEqual(c, None) def test_pid(self): a = sb.launch('comp_src') - status,output = commands.getstatusoutput('ps -ww -f | grep comp_src ') + status,output = subprocess.getstatusoutput('ps -ww -f | grep comp_src ') lines = output.split('\n') for line in lines: if 'IOR' in line: break _pid = line.split()[1] - self.assertEquals(int(_pid), a._pid) + self.assertEqual(int(_pid), a._pid) def test_cleanHeap(self): a = sb.launch('alloc_shm') @@ -401,8 +401,8 @@ def test_doubleNamedConnection(self): c.connect(d,connectionId='some_id') import ossie.utils.model connection_mgr=ossie.utils.model.ConnectionManager.instance() - connection_ids = connection_mgr.getConnections().keys() - self.assertEquals(len(connection_ids), 2) + connection_ids = list(connection_mgr.getConnections().keys()) + self.assertEqual(len(connection_ids), 2) def test_setSDRROOT(self): # None type @@ -411,15 +411,15 @@ def test_setSDRROOT(self): # Bad dir should not change root sdrroot = sb.getSDRROOT() self.assertRaises(AssertionError, sb.setSDRROOT, 'TEMP_PATH') - self.assertEquals(sdrroot, sb.getSDRROOT()) + self.assertEqual(sdrroot, sb.getSDRROOT()) # Good dir with no dev/dom should not change root self.assertRaises(AssertionError, sb.setSDRROOT, 'jackhammer') - self.assertEquals(sdrroot, sb.getSDRROOT()) + self.assertEqual(sdrroot, sb.getSDRROOT()) # New root sb.setSDRROOT('sdr') - self.assertEquals(sb.getSDRROOT(), 'sdr') + self.assertEqual(sb.getSDRROOT(), 'sdr') # Restore sdrroot sb.setSDRROOT(os.environ['SDRROOT']) @@ -496,8 +496,8 @@ def test_propertyInitialization(self): properties={'cmdline':'override', 'initial':'override'}) self.assertFalse('initial' in comp.cmdline_args) self.assertFalse('cmdline' in comp.initialize_props) - self.assertEquals('override', comp.cmdline) - self.assertEquals('override', comp.initial) + self.assertEqual('override', comp.cmdline) + self.assertEqual('override', comp.initial) comp.releaseObject() # Test with overrides in deprecated 'execparams' and 'configure' arguments @@ -507,8 +507,8 @@ def test_propertyInitialization(self): execparams={'cmdline':'override'}, configure={'initial':'override'}) self.assertFalse('initial' in comp.cmdline_args) self.assertFalse('cmdline' in comp.initialize_props) - self.assertEquals('override', comp.cmdline) - self.assertEquals('override', comp.initial) + self.assertEqual('override', comp.cmdline) + self.assertEqual('override', comp.initial) comp.releaseObject() # Test with misplaced command line property in deprecated 'configure' argument @@ -516,31 +516,31 @@ def test_propertyInitialization(self): configure={'cmdline':'override'}) self.assertFalse('initial' in comp.cmdline_args) self.assertFalse('cmdline' in comp.initialize_props) - self.assertEquals('override', comp.cmdline) + self.assertEqual('override', comp.cmdline) comp.releaseObject() def test_writeOnly(self): dev = sb.launch('writeonly_cpp') try: - print dev.foo + print(dev.foo) self.assertTrue(False) - except Exception, e: - self.assertEquals(e.args[0], 'Could not perform query, "foo" is a writeonly property') + except Exception as e: + self.assertEqual(e.args[0], 'Could not perform query, "foo" is a writeonly property') try: - print dev.foo_seq + print(dev.foo_seq) self.assertTrue(False) - except Exception, e: - self.assertEquals(e.args[0], 'Could not perform query, "foo_seq" is a writeonly property') + except Exception as e: + self.assertEqual(e.args[0], 'Could not perform query, "foo_seq" is a writeonly property') try: - print dev.foo_struct + print(dev.foo_struct) self.assertTrue(False) - except Exception, e: - self.assertEquals(e.args[0], 'Could not perform query, "foo_struct" is a writeonly property') + except Exception as e: + self.assertEqual(e.args[0], 'Could not perform query, "foo_struct" is a writeonly property') try: - print dev.foo_struct_seq + print(dev.foo_struct_seq) self.assertTrue(False) - except Exception, e: - self.assertEquals(e.args[0], 'Could not perform query, "foo_struct_seq" is a writeonly property') + except Exception as e: + self.assertEqual(e.args[0], 'Could not perform query, "foo_struct_seq" is a writeonly property') def test_zeroLengthSeqStruct(self): """ @@ -576,7 +576,7 @@ def test_nestedSoftPkgDeps(self): depLibraryPath = cwd + "/sdr/dom/components/softpkgNestedDep/spdNestedDepLibrary" if not depLibraryPath in sys.path: sys.path.append(depLibraryPath) - if os.environ.has_key('PYTHONPATH'): + if 'PYTHONPATH' in os.environ: os.environ['PYTHONPATH'] = "%s:%s" % (depLibraryPath, os.environ['PYTHONPATH']) else: os.environ['PYTHONPATH'] = "%s" % (depLibraryPath) @@ -586,30 +586,30 @@ def test_nestedSoftPkgDeps(self): def initValues(self, comp): # Init values - self.assertEquals(comp.my_bool_true, True) - self.assertEquals(comp.my_bool_false, False) - self.assertEquals(comp.my_bool_empty, None) - self.assertEquals(comp.my_long, 10) - self.assertEquals(comp.my_long_empty, None) - self.assertEquals(comp.my_str, "Hello World!") - self.assertEquals(comp.my_str_empty, None) - self.assertEquals(comp.my_struct.bool_true, True) - self.assertEquals(comp.my_struct.bool_false, False) - - self.assertEquals(comp.my_struct.bool_empty, None) - self.assertEquals(comp.my_struct.long_s, None) - self.assertEquals(comp.my_struct.str_s, None) - self.assertEquals(comp.my_seq_bool[0], True) - self.assertEquals(comp.my_seq_bool[1], False) - self.assertEquals(comp.my_seq_str[0], "one") - self.assertEquals(comp.my_seq_str[1], "") - self.assertEquals(comp.my_seq_str[2], "three") - self.assertEquals(comp.my_long_enum, None) - self.assertEquals(comp.my_bool_enum, None) - self.assertEquals(comp.my_str_enum, None) - self.assertEquals(comp.my_struct.enum_long, None) - self.assertEquals(comp.my_struct.enum_bool, None) - self.assertEquals(comp.my_struct.enum_str, None) + self.assertEqual(comp.my_bool_true, True) + self.assertEqual(comp.my_bool_false, False) + self.assertEqual(comp.my_bool_empty, None) + self.assertEqual(comp.my_long, 10) + self.assertEqual(comp.my_long_empty, None) + self.assertEqual(comp.my_str, "Hello World!") + self.assertEqual(comp.my_str_empty, None) + self.assertEqual(comp.my_struct.bool_true, True) + self.assertEqual(comp.my_struct.bool_false, False) + + self.assertEqual(comp.my_struct.bool_empty, None) + self.assertEqual(comp.my_struct.long_s, None) + self.assertEqual(comp.my_struct.str_s, None) + self.assertEqual(comp.my_seq_bool[0], True) + self.assertEqual(comp.my_seq_bool[1], False) + self.assertEqual(comp.my_seq_str[0], "one") + self.assertEqual(comp.my_seq_str[1], "") + self.assertEqual(comp.my_seq_str[2], "three") + self.assertEqual(comp.my_long_enum, None) + self.assertEqual(comp.my_bool_enum, None) + self.assertEqual(comp.my_str_enum, None) + self.assertEqual(comp.my_struct.enum_long, None) + self.assertEqual(comp.my_struct.enum_bool, None) + self.assertEqual(comp.my_struct.enum_str, None) def test_simpleComp(self): @@ -632,18 +632,18 @@ def test_simpleComp(self): comp.my_seq_str[0] = "1" comp.my_seq_str[1] = "2" comp.my_seq_str[2] = "3" - self.assertEquals(comp.my_bool_true, False) - self.assertEquals(comp.my_bool_false, True) - self.assertEquals(comp.my_long, 22) - self.assertEquals(comp.my_str, "new") - self.assertEquals(comp.my_struct.bool_true, False) - self.assertEquals(comp.my_struct.bool_false, True) - self.assertEquals(comp.my_struct.long_s, 33) - self.assertEquals(comp.my_seq_bool[0], False) - self.assertEquals(comp.my_seq_bool[1], True) - self.assertEquals(comp.my_seq_str[0], "1") - self.assertEquals(comp.my_seq_str[1], "2") - self.assertEquals(comp.my_seq_str[2], "3") + self.assertEqual(comp.my_bool_true, False) + self.assertEqual(comp.my_bool_false, True) + self.assertEqual(comp.my_long, 22) + self.assertEqual(comp.my_str, "new") + self.assertEqual(comp.my_struct.bool_true, False) + self.assertEqual(comp.my_struct.bool_false, True) + self.assertEqual(comp.my_struct.long_s, 33) + self.assertEqual(comp.my_seq_bool[0], False) + self.assertEqual(comp.my_seq_bool[1], True) + self.assertEqual(comp.my_seq_str[0], "1") + self.assertEqual(comp.my_seq_str[1], "2") + self.assertEqual(comp.my_seq_str[2], "3") # Checks invalid simple enumeration changes comp.my_long_enum = 10 @@ -651,17 +651,17 @@ def test_simpleComp(self): comp.my_long_enum = "3" comp.my_long_enum = 11.1 comp.my_long_enum = False - self.assertEquals(comp.my_long_enum, None) + self.assertEqual(comp.my_long_enum, None) comp.my_str_enum = 10 comp.my_str_enum = "one" comp.my_str_enum = 11.1 comp.my_str_enum = False - self.assertEquals(comp.my_str_enum, None) + self.assertEqual(comp.my_str_enum, None) comp.my_bool_enum = 10 comp.my_bool_enum = "one" comp.my_bool_enum = 11.1 comp.my_bool_enum = "invalid" - self.assertEquals(comp.my_bool_enum, None) + self.assertEqual(comp.my_bool_enum, None) # Checks invalid struct enumeration changes comp.my_struct.enum_long = 10 @@ -669,77 +669,77 @@ def test_simpleComp(self): comp.my_struct.enum_long = "3" comp.my_struct.enum_long = 11.1 comp.my_struct.enum_long = False - self.assertEquals(comp.my_struct.enum_long, None) + self.assertEqual(comp.my_struct.enum_long, None) comp.my_struct.enum_str = 10 comp.my_struct.enum_str = "one" comp.my_struct.enum_str = 11.1 comp.my_struct.enum_str = False - self.assertEquals(comp.my_struct.enum_str, None) + self.assertEqual(comp.my_struct.enum_str, None) comp.my_struct.enum_bool = 10 comp.my_struct.enum_bool = "one" comp.my_struct.enum_bool = 11.1 comp.my_struct.enum_bool = "valid" - self.assertEquals(comp.my_struct.enum_bool, None) + self.assertEqual(comp.my_struct.enum_bool, None) # Checks changes to simple enumerations comp.my_long_enum = "ONE" - self.assertEquals(comp.my_long_enum, 11) + self.assertEqual(comp.my_long_enum, 11) comp.my_long_enum = "Two" - self.assertEquals(comp.my_long_enum, 11) + self.assertEqual(comp.my_long_enum, 11) comp.my_long_enum = 33 - self.assertEquals(comp.my_long_enum, 33) + self.assertEqual(comp.my_long_enum, 33) comp.my_long_enum = 34 - self.assertEquals(comp.my_long_enum, 33) + self.assertEqual(comp.my_long_enum, 33) comp.my_str_enum = "ONE" - self.assertEquals(comp.my_str_enum, "FIRST") + self.assertEqual(comp.my_str_enum, "FIRST") comp.my_str_enum = "two" - self.assertEquals(comp.my_str_enum, "FIRST") + self.assertEqual(comp.my_str_enum, "FIRST") comp.my_str_enum = "SECOND" - self.assertEquals(comp.my_str_enum, "SECOND") + self.assertEqual(comp.my_str_enum, "SECOND") comp.my_str_enum = "third" - self.assertEquals(comp.my_str_enum, "SECOND") + self.assertEqual(comp.my_str_enum, "SECOND") comp.my_bool_enum = "VALID" - self.assertEquals(comp.my_bool_enum, True) + self.assertEqual(comp.my_bool_enum, True) comp.my_bool_enum = "false" - self.assertEquals(comp.my_bool_enum, True) + self.assertEqual(comp.my_bool_enum, True) comp.my_bool_enum = False - self.assertEquals(comp.my_bool_enum, False) + self.assertEqual(comp.my_bool_enum, False) comp.my_bool_enum = True - self.assertEquals(comp.my_bool_enum, True) + self.assertEqual(comp.my_bool_enum, True) comp.my_bool_enum = "INVALID" - self.assertEquals(comp.my_bool_enum, False) + self.assertEqual(comp.my_bool_enum, False) # Checks changes to struct enumerations comp.my_struct.enum_long = "ONE" - self.assertEquals(comp.my_struct.enum_long, 1) + self.assertEqual(comp.my_struct.enum_long, 1) comp.my_struct.enum_long = "Two" - self.assertEquals(comp.my_struct.enum_long, 1) + self.assertEqual(comp.my_struct.enum_long, 1) comp.my_struct.enum_long = 3 - self.assertEquals(comp.my_struct.enum_long, 3) + self.assertEqual(comp.my_struct.enum_long, 3) comp.my_struct.enum_long = 4 - self.assertEquals(comp.my_struct.enum_long, 3) + self.assertEqual(comp.my_struct.enum_long, 3) comp.my_struct.enum_str = "ONE" - self.assertEquals(comp.my_struct.enum_str, "first") + self.assertEqual(comp.my_struct.enum_str, "first") comp.my_struct.enum_str = "two" - self.assertEquals(comp.my_struct.enum_str, "first") + self.assertEqual(comp.my_struct.enum_str, "first") comp.my_struct.enum_str = "second" - self.assertEquals(comp.my_struct.enum_str, "second") + self.assertEqual(comp.my_struct.enum_str, "second") comp.my_struct.enum_str = "THIRD" - self.assertEquals(comp.my_struct.enum_str, "second") + self.assertEqual(comp.my_struct.enum_str, "second") comp.my_struct.enum_bool = "VALID" - self.assertEquals(comp.my_struct.enum_bool, True) + self.assertEqual(comp.my_struct.enum_bool, True) comp.my_struct.enum_bool = "false" - self.assertEquals(comp.my_struct.enum_bool, True) + self.assertEqual(comp.my_struct.enum_bool, True) comp.my_struct.enum_bool = False - self.assertEquals(comp.my_struct.enum_bool, False) + self.assertEqual(comp.my_struct.enum_bool, False) comp.my_struct.enum_bool = True - self.assertEquals(comp.my_struct.enum_bool, True) + self.assertEqual(comp.my_struct.enum_bool, True) comp.my_struct.enum_bool = "INVALID" - self.assertEquals(comp.my_struct.enum_bool, False) + self.assertEqual(comp.my_struct.enum_bool, False) #Components which have properties with the same id where one is #enumerated and one is not. checks the id's can not be confused and enum @@ -747,25 +747,25 @@ def test_simpleComp(self): sandbox = sb.launch("Sandbox") testProp = sb.launch("TestComponentProperty") self.assertRaises(TypeError, testProp.my_long_enum.configureValue, "TWO") - self.assertEquals(testProp.my_long_enum, 11) + self.assertEqual(testProp.my_long_enum, 11) testProp.my_struct.long_s = 1 self.assertRaises(TypeError, testProp.my_struct.enum_long.configureValue, "THREE") - self.assertEquals(testProp.my_struct.long_s,1) + self.assertEqual(testProp.my_struct.long_s,1) sandbox.my_struct.enum_str = "TWO" - self.assertEquals(sandbox.my_struct.enum_str,"second") + self.assertEqual(sandbox.my_struct.enum_str,"second") sandbox.my_struct.enum_str = "fourth" - self.assertEquals(sandbox.my_struct.enum_str,"second") + self.assertEqual(sandbox.my_struct.enum_str,"second") #Test _properties query works for getting a properties #kinds, action, type, value, defualt value, typecode and id - self.assertEquals(testProp.simpleExecparam.kinds,['execparam']) - self.assertEquals(testProp.simpleExecparam.action,"eq") - self.assertEquals(testProp.seqTest.kinds,["configure"]) - self.assertEquals(testProp.structSeqTest[0].simpleShort,3) - self.assertEquals(testProp.structSeqTest[1].simpleFloat.defValue, 2) - self.assertEquals(testProp.simpleExecparam.id,"simpleExecparam") - self.assertEquals(testProp.structSeqTest.type,"structSeq") - self.assertEquals(testProp.simpleExecparam.typecode,CORBA.TC_float) + self.assertEqual(testProp.simpleExecparam.kinds,['execparam']) + self.assertEqual(testProp.simpleExecparam.action,"eq") + self.assertEqual(testProp.seqTest.kinds,["configure"]) + self.assertEqual(testProp.structSeqTest[0].simpleShort,3) + self.assertEqual(testProp.structSeqTest[1].simpleFloat.defValue, 2) + self.assertEqual(testProp.simpleExecparam.id,"simpleExecparam") + self.assertEqual(testProp.structSeqTest.type,"structSeq") + self.assertEqual(testProp.simpleExecparam.typecode,CORBA.TC_float) @@ -804,32 +804,32 @@ def test_illegalPropertyNames(self): comp.escape__structseq[1].val__1 = 22 # Makes sure that values got set properly - self.assertEquals(comp.escape__simple, 1234) - self.assertEquals(comp.escape__struct.es__1, 5678) - self.assertEquals(comp.escape__struct.es__2, 4321) - self.assertEquals(comp.escape__struct.normal, 8765) - self.assertEquals(comp.my_struct.es__3, 333) - self.assertEquals(comp.my_struct_seq[0].simp_bool, True) - self.assertEquals(comp.my_struct_seq[1].simp__bad, 11) - self.assertEquals(comp.escape__structseq[0].val_2, "test") - self.assertEquals(comp.escape__structseq[1].val__1, 22) + self.assertEqual(comp.escape__simple, 1234) + self.assertEqual(comp.escape__struct.es__1, 5678) + self.assertEqual(comp.escape__struct.es__2, 4321) + self.assertEqual(comp.escape__struct.normal, 8765) + self.assertEqual(comp.my_struct.es__3, 333) + self.assertEqual(comp.my_struct_seq[0].simp_bool, True) + self.assertEqual(comp.my_struct_seq[1].simp__bad, 11) + self.assertEqual(comp.escape__structseq[0].val_2, "test") + self.assertEqual(comp.escape__structseq[1].val__1, 22) def test_loadSADFile(self): retval = sb.loadSADFile('sdr/dom/waveforms/ticket_462_w/ticket_462_w.sad.xml') - self.assertEquals(retval, True) + self.assertEqual(retval, True) comp_ac = sb.getComponent('ticket_462_ac_1') - self.assertNotEquals(comp_ac, None) + self.assertNotEqual(comp_ac, None) comp = sb.getComponent('ticket_462_1') comp_id = comp._get_identifier() - self.assertEquals(len(comp_id.split(':')), 2) - self.assertEquals(comp_id.split(':')[0], 'ticket_462_1') - self.assertEquals(comp_id.split(':')[1], 'ticket_462_w') - self.assertNotEquals(comp, None) - self.assertEquals(comp_ac.my_simple, "foo") - self.assertEquals(comp_ac.my_seq, ["initial value"]) - self.assertEquals(comp_ac.basic_struct.some_simple, '4') - self.assertEquals(comp.over_simple, "override") - self.assertEquals(comp.over_struct_seq, [{'a_word': 'something', 'a_number': 1}]) + self.assertEqual(len(comp_id.split(':')), 2) + self.assertEqual(comp_id.split(':')[0], 'ticket_462_1') + self.assertEqual(comp_id.split(':')[1], 'ticket_462_w') + self.assertNotEqual(comp, None) + self.assertEqual(comp_ac.my_simple, "foo") + self.assertEqual(comp_ac.my_seq, ["initial value"]) + self.assertEqual(comp_ac.basic_struct.some_simple, '4') + self.assertEqual(comp.over_simple, "override") + self.assertEqual(comp.over_struct_seq, [{'a_word': 'something', 'a_number': 1}]) def test_connectPortSADFile(self): retval = sb.loadSADFile('sdr/dom/waveforms/PortConnectProvidesPort/PortConnectProvidesPort.sad.xml') @@ -845,7 +845,7 @@ def test_connectPortSADFile(self): self.assertNotEqual(sad.find(uses_string), -1) self.assertNotEqual(sad.find(provides_string), -1) - self.assertEquals(sad.find('DCE:DCE'), -1) + self.assertEqual(sad.find('DCE:DCE'), -1) def test_connectSupportedInterfaceSADFile(self): retval = sb.loadSADFile('sdr/dom/waveforms/PortConnectComponentSupportedInterface/PortConnectComponentSupportedInterface.sad.xml') @@ -861,7 +861,7 @@ def test_connectSupportedInterfaceSADFile(self): self.assertNotEqual(sad.find(uses_string), -1) self.assertNotEqual(sad.find(provides_string), -1) - self.assertEquals(sad.find('DCE:DCE'), -1) + self.assertEqual(sad.find('DCE:DCE'), -1) def test_connectSandbox(self): src=sb.launch('PortTest') @@ -882,7 +882,7 @@ def test_connectSandbox(self): self.assertNotEqual(sad.find(uses_string), -1) self.assertNotEqual(sad.find(provides_string), -1) self.assertNotEqual(sad.find(non_colon_connectionid), -1) - self.assertEquals(sad.find('DCE:DCE'), -1) + self.assertEqual(sad.find('DCE:DCE'), -1) def test_loadSADFile_startorder(self): maxpid=32768 @@ -893,11 +893,11 @@ def test_loadSADFile_startorder(self): except: pass retval = sb.loadSADFile('sdr/dom/waveforms/ticket_462_w/ticket_462_w.sad.xml') - self.assertEquals(retval, True) + self.assertEqual(retval, True) comp_ac = sb.getComponent('ticket_462_ac_1') - self.assertNotEquals(comp_ac, None) + self.assertNotEqual(comp_ac, None) comp = sb.getComponent('ticket_462_1') - self.assertNotEquals(comp, None) + self.assertNotEqual(comp, None) if comp_ac._pid <= maxpid-1: isless= comp_ac._pid < comp._pid else: @@ -907,7 +907,7 @@ def test_loadSADFile_startorder(self): def test_SDDS_SRI(self): c = sb.launch('sdds_src') - self.assertNotEquals(c, None) + self.assertNotEqual(c, None) snk = sb.DataSinkSDDS() c.connect(snk) sb.start() @@ -919,13 +919,13 @@ def test_SDDS_SRI(self): break count += 1 time.sleep(0.5) - self.assertNotEquals(sri, None) + self.assertNotEqual(sri, None) def test_SDDS_Incompatable_Port(self): from ossie.utils.model import NoMatchingPorts c = sb.launch('sdds_src') - self.assertNotEquals(c, None) + self.assertNotEqual(c, None) with warnings.catch_warnings(): warnings.filterwarnings('ignore', 'DataSink is deprecated, use StreamSink instead') snk = sb.DataSink() @@ -934,104 +934,104 @@ def test_SDDS_Incompatable_Port(self): def test_loadSADFileSpecialChar(self): retval = sb.loadSADFile('sdr/dom/waveforms/comp_prop_special_char_w/comp_prop_special_char_w.sad.xml') - self.assertEquals(retval, True) + self.assertEqual(retval, True) def test_loadSADFileUses_p(self): retval = sb.loadSADFile('sdr/dom/waveforms/SADUsesDeviceWave/SADUsesDeviceWaveConnectionDevProvides.sad.xml') - self.assertEquals(retval, True) + self.assertEqual(retval, True) def test_loadSADFileUses_u(self): retval = sb.loadSADFile('sdr/dom/waveforms/SADUsesDeviceWave/SADUsesDeviceWaveConnectionDevUses.sad.xml') - self.assertEquals(retval, True) + self.assertEqual(retval, True) def test_loadSADFilePartialOverrideStruct(self): # This tests partially overriding a struct or struct seq property in sad retval = sb.loadSADFile('sdr/dom/waveforms/more_ticket_462/more_ticket_462.sad.xml') comp = sb.getComponent('another_ticket_462_1') - self.assertNotEquals(comp, None) - self.assertEquals(comp.simple_prop, "This is a string") - self.assertEquals(comp.seq_prop, [9,8,7]) - self.assertEquals(comp.struct_prop.prop_two, 'string override') - self.assertEquals(comp.struct_seq_prop[0].prop_five, 1) - self.assertEquals(comp.struct_seq_prop[0].prop_six, 123.0) - self.assertEquals(comp.struct_seq_prop[1].prop_four, "anotherString") - self.assertEquals(comp.struct_seq_prop[1].prop_six, 345.0) - self.assertEquals(comp.struct_seq_prop[2].prop_four, "string_override") - self.assertEquals(comp.struct_seq_prop[2].prop_five, 3) - self.assertEquals(comp.struct_seq_prop[2].prop_six, 678.0) - self.assertEquals(comp.struct_seq_prop[3].prop_six, 987.0) + self.assertNotEqual(comp, None) + self.assertEqual(comp.simple_prop, "This is a string") + self.assertEqual(comp.seq_prop, [9,8,7]) + self.assertEqual(comp.struct_prop.prop_two, 'string override') + self.assertEqual(comp.struct_seq_prop[0].prop_five, 1) + self.assertEqual(comp.struct_seq_prop[0].prop_six, 123.0) + self.assertEqual(comp.struct_seq_prop[1].prop_four, "anotherString") + self.assertEqual(comp.struct_seq_prop[1].prop_six, 345.0) + self.assertEqual(comp.struct_seq_prop[2].prop_four, "string_override") + self.assertEqual(comp.struct_seq_prop[2].prop_five, 3) + self.assertEqual(comp.struct_seq_prop[2].prop_six, 678.0) + self.assertEqual(comp.struct_seq_prop[3].prop_six, 987.0) def test_loadSADFileACPropertyWithDefaultValueOverride(self): # Tests overriding a property in the sad file for an assembly controller property that has a default value retval = sb.loadSADFile('sdr/dom/waveforms/ticket_cf_1066_wf/ticket_cf_1066_wf.sad.xml') comp = sb.getComponent('ticket_cf_1066_comp_1') - self.assertNotEquals(comp, None) - self.assertEquals(comp.simple_prop, "This is a string") - self.assertEquals(comp.seq_prop, [9,8,7]) - self.assertEquals(comp.struct_prop.prop_two, 'string override') - self.assertEquals(comp.struct_seq_prop[0].prop_five, 1) - self.assertEquals(comp.struct_seq_prop[0].prop_six, 123.0) - self.assertEquals(comp.struct_seq_prop[1].prop_four, "anotherString") - self.assertEquals(comp.struct_seq_prop[1].prop_six, 345.0) - self.assertEquals(comp.struct_seq_prop[2].prop_four, "string_override") - self.assertEquals(comp.struct_seq_prop[2].prop_five, 3) - self.assertEquals(comp.struct_seq_prop[2].prop_six, 678.0) - self.assertEquals(comp.struct_seq_prop[3].prop_six, 987.0) + self.assertNotEqual(comp, None) + self.assertEqual(comp.simple_prop, "This is a string") + self.assertEqual(comp.seq_prop, [9,8,7]) + self.assertEqual(comp.struct_prop.prop_two, 'string override') + self.assertEqual(comp.struct_seq_prop[0].prop_five, 1) + self.assertEqual(comp.struct_seq_prop[0].prop_six, 123.0) + self.assertEqual(comp.struct_seq_prop[1].prop_four, "anotherString") + self.assertEqual(comp.struct_seq_prop[1].prop_six, 345.0) + self.assertEqual(comp.struct_seq_prop[2].prop_four, "string_override") + self.assertEqual(comp.struct_seq_prop[2].prop_five, 3) + self.assertEqual(comp.struct_seq_prop[2].prop_six, 678.0) + self.assertEqual(comp.struct_seq_prop[3].prop_six, 987.0) def test_loadSADFileOverrideWithExecparam(self): # Tests overriding a property in the sad file for a component that also has an execparam property retval = sb.loadSADFile('sdr/dom/waveforms/ticket_cf_1067_wf/ticket_cf_1067_wf.sad.xml') - self.assertEquals(retval, True) + self.assertEqual(retval, True) comp = sb.getComponent('ticket_cf_1067_comp_1') - self.assertNotEquals(comp, None) - self.assertEquals(comp.simple_exec_param, "default_value") + self.assertNotEqual(comp, None) + self.assertEqual(comp.simple_exec_param, "default_value") def test_loadSADFilePassingInOverrideOfExecparamWithOverrideInSadFile(self): # Tests passing in an execparam property value for a property that is overridden in the sad file retval = sb.loadSADFile('sdr/dom/waveforms/override_execparam_wf/override_execparam_wf.sad.xml',props={'simple_exec_param':'another_override_value'}) - self.assertEquals(retval, True) + self.assertEqual(retval, True) comp = sb.getComponent('ticket_cf_1067_comp_1') - self.assertNotEquals(comp, None) - self.assertEquals(comp.simple_exec_param, "another_override_value") + self.assertNotEqual(comp, None) + self.assertEqual(comp.simple_exec_param, "another_override_value") def test_loadSADFileMorePassingInOverrideOfExecparamWithDefaultValue(self): # Tests overriding an execparam property for an assembly controller by passing value in, and the execparam is not overridden in the sad file retval = sb.loadSADFile('sdr/dom/waveforms/ticket_cf_1067_wf/ticket_cf_1067_wf.sad.xml',props={'simple_exec_param':'another_override_value'}) - self.assertEquals(retval, True) + self.assertEqual(retval, True) comp = sb.getComponent('ticket_cf_1067_comp_1') - self.assertNotEquals(comp, None) - self.assertEquals(comp.simple_exec_param, "another_override_value") + self.assertNotEqual(comp, None) + self.assertEqual(comp.simple_exec_param, "another_override_value") def test_loadSADFileNoOverriddenProperties(self): retval = sb.loadSADFile('sdr/dom/waveforms/ticket_841_and_854/ticket_841_and_854.sad.xml') - self.assertEquals(retval, True) + self.assertEqual(retval, True) comp_ac = sb.getComponent('Sandbox_1') - self.assertNotEquals(comp_ac, None) - self.assertEquals(comp_ac.my_long, 10) + self.assertNotEqual(comp_ac, None) + self.assertEqual(comp_ac.my_long, 10) def test_loadSADFile_overload_create(self): self.assertRaises(Warning, sb.loadSADFile, 'sdr/dom/waveforms/ticket_462_w/ticket_462_w.sad.xml', props={'my_simple':'not foo','over_simple':'not override'}) #retval = sb.loadSADFile('sdr/dom/waveforms/ticket_462_w/ticket_462_w.sad.xml', props=[{'my_simple':'not foo'},{'over_simple':'not override'}]) comp_ac = sb.getComponent('ticket_462_ac_1') - self.assertNotEquals(comp_ac, None) + self.assertNotEqual(comp_ac, None) comp = sb.getComponent('ticket_462_1') - self.assertNotEquals(comp, None) - self.assertEquals(comp_ac.my_simple, "not foo") - self.assertEquals(comp_ac.my_seq, ["initial value"]) - self.assertEquals(comp_ac.basic_struct.some_simple, '4') - self.assertEquals(comp.over_simple, "override") - self.assertEquals(comp.over_struct_seq, [{'a_word': 'something', 'a_number': 1}]) + self.assertNotEqual(comp, None) + self.assertEqual(comp_ac.my_simple, "not foo") + self.assertEqual(comp_ac.my_seq, ["initial value"]) + self.assertEqual(comp_ac.basic_struct.some_simple, '4') + self.assertEqual(comp.over_simple, "override") + self.assertEqual(comp.over_struct_seq, [{'a_word': 'something', 'a_number': 1}]) def test_loadSADFile_overload_external_props(self): retval = sb.loadSADFile('sdr/dom/waveforms/cf_1535/cf_1535.sad.xml', props={'freq_3': '2222', 's1_3': [ 1,2,3 ], 'st1_3' : { 'st1::b1' : 2 , 'st1::a1' : 'setting st1::a1' } , 'ss1_3' : [ { 'b1' : 3, 'a1' : 'struct1 a1' }, { 'b1' : 4 , 'ss1::st1::a1' : 'struct2 a1' }]} ) - self.assertEquals(retval, True) + self.assertEqual(retval, True) comp = sb.getComponent('P1_3') - self.assertNotEquals(comp, None) - self.assertAlmostEquals(comp.freq, 2222.0) - self.assertEquals(comp.s1, [1,2,3]) - self.assertEquals(comp.st1.a1, 'setting st1::a1' ) - self.assertEquals(comp.st1.b1, 2.0 ) - self.assertEquals(comp.ss1, [ { 'ss1::st1::a1': 'struct1 a1', 'ss1::st1::b1': 3.0 }, { 'ss1::st1::a1': 'struct2 a1', 'ss1::st1::b1': 4.0 } ] ) + self.assertNotEqual(comp, None) + self.assertAlmostEqual(comp.freq, 2222.0) + self.assertEqual(comp.s1, [1,2,3]) + self.assertEqual(comp.st1.a1, 'setting st1::a1' ) + self.assertEqual(comp.st1.b1, 2.0 ) + self.assertEqual(comp.ss1, [ { 'ss1::st1::a1': 'struct1 a1', 'ss1::st1::b1': 3.0 }, { 'ss1::st1::a1': 'struct2 a1', 'ss1::st1::b1': 4.0 } ] ) def test_simplePropertyRange(self): @@ -1046,13 +1046,13 @@ def test_simplePropertyRange(self): comp.my_ulong_name = 4294967295 comp.my_longlong_name = 9223372036854775807 comp.my_ulonglong_name = 18446744073709551615 - self.assertEquals(comp.my_octet_name, 255) - self.assertEquals(comp.my_short_name, 32767) - self.assertEquals(comp.my_ushort_name, 65535) - self.assertEquals(comp.my_long_name, 2147483647) - self.assertEquals(comp.my_ulong_name, 4294967295) - self.assertEquals(comp.my_longlong_name, 9223372036854775807) - self.assertEquals(comp.my_ulonglong_name, 18446744073709551615) + self.assertEqual(comp.my_octet_name, 255) + self.assertEqual(comp.my_short_name, 32767) + self.assertEqual(comp.my_ushort_name, 65535) + self.assertEqual(comp.my_long_name, 2147483647) + self.assertEqual(comp.my_ulong_name, 4294967295) + self.assertEqual(comp.my_longlong_name, 9223372036854775807) + self.assertEqual(comp.my_ulonglong_name, 18446744073709551615) # Test lower range comp.my_octet_name = 0 @@ -1062,13 +1062,13 @@ def test_simplePropertyRange(self): comp.my_ulong_name = 0 comp.my_longlong_name = -9223372036854775808 comp.my_ulonglong_name = 0 - self.assertEquals(comp.my_octet_name, 0) - self.assertEquals(comp.my_short_name, -32768) - self.assertEquals(comp.my_ushort_name, 0) - self.assertEquals(comp.my_long_name, -2147483648) - self.assertEquals(comp.my_ulong_name, 0) - self.assertEquals(comp.my_longlong_name, -9223372036854775808) - self.assertEquals(comp.my_ulonglong_name, 0) + self.assertEqual(comp.my_octet_name, 0) + self.assertEqual(comp.my_short_name, -32768) + self.assertEqual(comp.my_ushort_name, 0) + self.assertEqual(comp.my_long_name, -2147483648) + self.assertEqual(comp.my_ulong_name, 0) + self.assertEqual(comp.my_longlong_name, -9223372036854775808) + self.assertEqual(comp.my_ulonglong_name, 0) # Test one beyond upper bound self.assertRaises(type_helpers.OutOfRangeException, comp.my_octet_name.configureValue, 256) @@ -1108,19 +1108,19 @@ def test_structPropertyRange(self): comp.my_struct_name.struct_seq_ulong_name[1] = 4294967295 comp.my_struct_name.struct_seq_longlong_name[1] = 9223372036854775807 #comp.my_struct_name.struct_seq_ulonglong_name[1] = 18446744073709551615 - self.assertEquals(comp.my_struct_name.struct_octet_name, 255) - self.assertEquals(comp.my_struct_name.struct_short_name, 32767) - self.assertEquals(comp.my_struct_name.struct_ushort_name, 65535) - self.assertEquals(comp.my_struct_name.struct_long_name, 2147483647) - self.assertEquals(comp.my_struct_name.struct_ulong_name, 4294967295) - self.assertEquals(comp.my_struct_name.struct_longlong_name, 9223372036854775807) - self.assertEquals(comp.my_struct_name.struct_ulonglong_name, 18446744073709551615) - self.assertEquals(comp.my_struct_name.struct_seq_octet_name[1], 255) - self.assertEquals(comp.my_struct_name.struct_seq_short_name[1], 32767) - self.assertEquals(comp.my_struct_name.struct_seq_ushort_name[1], 65535) - self.assertEquals(comp.my_struct_name.struct_seq_long_name[1], 2147483647) - self.assertEquals(comp.my_struct_name.struct_seq_ulong_name[1], 4294967295) - self.assertEquals(comp.my_struct_name.struct_seq_longlong_name[1], 9223372036854775807) + self.assertEqual(comp.my_struct_name.struct_octet_name, 255) + self.assertEqual(comp.my_struct_name.struct_short_name, 32767) + self.assertEqual(comp.my_struct_name.struct_ushort_name, 65535) + self.assertEqual(comp.my_struct_name.struct_long_name, 2147483647) + self.assertEqual(comp.my_struct_name.struct_ulong_name, 4294967295) + self.assertEqual(comp.my_struct_name.struct_longlong_name, 9223372036854775807) + self.assertEqual(comp.my_struct_name.struct_ulonglong_name, 18446744073709551615) + self.assertEqual(comp.my_struct_name.struct_seq_octet_name[1], 255) + self.assertEqual(comp.my_struct_name.struct_seq_short_name[1], 32767) + self.assertEqual(comp.my_struct_name.struct_seq_ushort_name[1], 65535) + self.assertEqual(comp.my_struct_name.struct_seq_long_name[1], 2147483647) + self.assertEqual(comp.my_struct_name.struct_seq_ulong_name[1], 4294967295) + self.assertEqual(comp.my_struct_name.struct_seq_longlong_name[1], 9223372036854775807) #self.assertEquals(comp.my_struct_name.struct_seq_ulonglong_name[1], 18446744073709551615) # Test lower range @@ -1138,20 +1138,20 @@ def test_structPropertyRange(self): comp.my_struct_name.struct_seq_ulong_name[0] = 0 comp.my_struct_name.struct_seq_longlong_name[0] = -9223372036854775808 comp.my_struct_name.struct_seq_ulonglong_name[0] = 0 - self.assertEquals(comp.my_struct_name.struct_octet_name, 0) - self.assertEquals(comp.my_struct_name.struct_short_name, -32768) - self.assertEquals(comp.my_struct_name.struct_ushort_name, 0) - self.assertEquals(comp.my_struct_name.struct_long_name, -2147483648) - self.assertEquals(comp.my_struct_name.struct_ulong_name, 0) - self.assertEquals(comp.my_struct_name.struct_longlong_name, -9223372036854775808) - self.assertEquals(comp.my_struct_name.struct_ulonglong_name, 0) - self.assertEquals(comp.my_struct_name.struct_seq_octet_name[0], 0) - self.assertEquals(comp.my_struct_name.struct_seq_short_name[0], -32768) - self.assertEquals(comp.my_struct_name.struct_seq_ushort_name[0], 0) - self.assertEquals(comp.my_struct_name.struct_seq_long_name[0], -2147483648) - self.assertEquals(comp.my_struct_name.struct_seq_ulong_name[0], 0) - self.assertEquals(comp.my_struct_name.struct_seq_longlong_name[0], -9223372036854775808) - self.assertEquals(comp.my_struct_name.struct_seq_ulonglong_name[0], 0) + self.assertEqual(comp.my_struct_name.struct_octet_name, 0) + self.assertEqual(comp.my_struct_name.struct_short_name, -32768) + self.assertEqual(comp.my_struct_name.struct_ushort_name, 0) + self.assertEqual(comp.my_struct_name.struct_long_name, -2147483648) + self.assertEqual(comp.my_struct_name.struct_ulong_name, 0) + self.assertEqual(comp.my_struct_name.struct_longlong_name, -9223372036854775808) + self.assertEqual(comp.my_struct_name.struct_ulonglong_name, 0) + self.assertEqual(comp.my_struct_name.struct_seq_octet_name[0], 0) + self.assertEqual(comp.my_struct_name.struct_seq_short_name[0], -32768) + self.assertEqual(comp.my_struct_name.struct_seq_ushort_name[0], 0) + self.assertEqual(comp.my_struct_name.struct_seq_long_name[0], -2147483648) + self.assertEqual(comp.my_struct_name.struct_seq_ulong_name[0], 0) + self.assertEqual(comp.my_struct_name.struct_seq_longlong_name[0], -9223372036854775808) + self.assertEqual(comp.my_struct_name.struct_seq_ulonglong_name[0], 0) # Test one beyond upper bound self.assertRaises(type_helpers.OutOfRangeException, comp.my_struct_name.struct_octet_name.configureValue, 256) @@ -1189,10 +1189,10 @@ def test_structPropertyRange(self): # NB: This test used to use names instead of ids, which silently failed in 1.8. new_value = {'struct_octet': 100, 'struct_short': 101, 'struct_ushort': 102, 'struct_long': 103, 'struct_ulong': 104, 'struct_longlong': 105, 'struct_ulonglong': 106, 'struct_seq_octet': [100, 101], - 'struct_seq_short': [102, 103], 'struct_seq_ushort': [104, 105], 'struct_seq_long': [106L, 107L], - 'struct_seq_ulong': [108L, 109L], 'struct_seq_longlong': [110L, 111L], 'struct_seq_ulonglong': [112L, 113L]} + 'struct_seq_short': [102, 103], 'struct_seq_ushort': [104, 105], 'struct_seq_long': [106, 107], + 'struct_seq_ulong': [108, 109], 'struct_seq_longlong': [110, 111], 'struct_seq_ulonglong': [112, 113]} comp.my_struct_name = new_value - self.assertEquals(comp.my_struct_name, new_value) + self.assertEqual(comp.my_struct_name, new_value) def test_seqPropertyRange(self): comp = sb.launch('TestPythonPropsRange') @@ -1213,19 +1213,19 @@ def test_seqPropertyRange(self): comp.seq_longlong_name[1] = 9223372036854775807 comp.seq_ulonglong_name[0] = 0 #comp.seq_ulonglong_name[1] = 18446744073709551615 - self.assertEquals(comp.seq_octet_name[0], 0) - self.assertEquals(comp.seq_octet_name[1], 255) - self.assertEquals(comp.seq_short_name[0], -32768) - self.assertEquals(comp.seq_short_name[1], 32767) - self.assertEquals(comp.seq_ushort_name[0], 0) - self.assertEquals(comp.seq_ushort_name[1], 65535) - self.assertEquals(comp.seq_long_name[0], -2147483648) - self.assertEquals(comp.seq_long_name[1], 2147483647) - self.assertEquals(comp.seq_ulong_name[0], 0) - self.assertEquals(comp.seq_ulong_name[1], 4294967295) - self.assertEquals(comp.seq_longlong_name[0], -9223372036854775808) - self.assertEquals(comp.seq_longlong_name[1], 9223372036854775807) - self.assertEquals(comp.seq_ulonglong_name[0], 0) + self.assertEqual(comp.seq_octet_name[0], 0) + self.assertEqual(comp.seq_octet_name[1], 255) + self.assertEqual(comp.seq_short_name[0], -32768) + self.assertEqual(comp.seq_short_name[1], 32767) + self.assertEqual(comp.seq_ushort_name[0], 0) + self.assertEqual(comp.seq_ushort_name[1], 65535) + self.assertEqual(comp.seq_long_name[0], -2147483648) + self.assertEqual(comp.seq_long_name[1], 2147483647) + self.assertEqual(comp.seq_ulong_name[0], 0) + self.assertEqual(comp.seq_ulong_name[1], 4294967295) + self.assertEqual(comp.seq_longlong_name[0], -9223372036854775808) + self.assertEqual(comp.seq_longlong_name[1], 9223372036854775807) + self.assertEqual(comp.seq_ulonglong_name[0], 0) #self.assertEquals(comp.seq_ulonglong_name[1], 18446744073709551615) # Test one beyond upper bound @@ -1253,8 +1253,8 @@ def test_seqPropertyRange(self): comp.seq_char_name[0] = 'X' comp.seq_char_name[1] = 'Y' - self.assertEquals(comp.seq_char_name[0], 'X') - self.assertEquals(comp.seq_char_name[1], 'Y') + self.assertEqual(comp.seq_char_name[0], 'X') + self.assertEqual(comp.seq_char_name[1], 'Y') def test_structSeqPropertyRange(self): @@ -1290,34 +1290,34 @@ def test_structSeqPropertyRange(self): comp.my_structseq_name[1].ss_seq_longlong_name[0] = -9223372036854775808 #comp.my_structseq_name[0].ss_seq_ulonglong_name[1] = 18446744073709551615 comp.my_structseq_name[1].ss_seq_ulonglong_name[0] = 0 - self.assertEquals(comp.my_structseq_name[0].ss_octet_name, 255) - self.assertEquals(comp.my_structseq_name[1].ss_octet_name, 0) - self.assertEquals(comp.my_structseq_name[0].ss_short_name, 32767) - self.assertEquals(comp.my_structseq_name[1].ss_short_name, -32768) - self.assertEquals(comp.my_structseq_name[0].ss_ushort_name, 65535) - self.assertEquals(comp.my_structseq_name[1].ss_ushort_name, 0) - self.assertEquals(comp.my_structseq_name[0].ss_long_name, 2147483647) - self.assertEquals(comp.my_structseq_name[1].ss_long_name, -2147483648) - self.assertEquals(comp.my_structseq_name[0].ss_ulong_name, 4294967295) - self.assertEquals(comp.my_structseq_name[1].ss_ulong_name, 0) - self.assertEquals(comp.my_structseq_name[0].ss_longlong_name, 9223372036854775807) - self.assertEquals(comp.my_structseq_name[1].ss_longlong_name, -9223372036854775808) + self.assertEqual(comp.my_structseq_name[0].ss_octet_name, 255) + self.assertEqual(comp.my_structseq_name[1].ss_octet_name, 0) + self.assertEqual(comp.my_structseq_name[0].ss_short_name, 32767) + self.assertEqual(comp.my_structseq_name[1].ss_short_name, -32768) + self.assertEqual(comp.my_structseq_name[0].ss_ushort_name, 65535) + self.assertEqual(comp.my_structseq_name[1].ss_ushort_name, 0) + self.assertEqual(comp.my_structseq_name[0].ss_long_name, 2147483647) + self.assertEqual(comp.my_structseq_name[1].ss_long_name, -2147483648) + self.assertEqual(comp.my_structseq_name[0].ss_ulong_name, 4294967295) + self.assertEqual(comp.my_structseq_name[1].ss_ulong_name, 0) + self.assertEqual(comp.my_structseq_name[0].ss_longlong_name, 9223372036854775807) + self.assertEqual(comp.my_structseq_name[1].ss_longlong_name, -9223372036854775808) #self.assertEquals(comp.my_structseq_name[0].ss_ulonglong_name, 18446744073709551615) - self.assertEquals(comp.my_structseq_name[1].ss_ulonglong_name, 0) - self.assertEquals(comp.my_structseq_name[0].ss_seq_octet_name[1], 255) - self.assertEquals(comp.my_structseq_name[1].ss_seq_octet_name[0], 0) - self.assertEquals(comp.my_structseq_name[0].ss_seq_short_name[1], 32767) - self.assertEquals(comp.my_structseq_name[1].ss_seq_short_name[0], -32768) - self.assertEquals(comp.my_structseq_name[0].ss_seq_ushort_name[1], 65535) - self.assertEquals(comp.my_structseq_name[1].ss_seq_ushort_name[0], 0) - self.assertEquals(comp.my_structseq_name[0].ss_seq_long_name[1], 2147483647) - self.assertEquals(comp.my_structseq_name[1].ss_seq_long_name[0], -2147483648) - self.assertEquals(comp.my_structseq_name[0].ss_seq_ulong_name[1], 4294967295) - self.assertEquals(comp.my_structseq_name[1].ss_seq_ulong_name[0], 0) - self.assertEquals(comp.my_structseq_name[0].ss_seq_longlong_name[1], 9223372036854775807) - self.assertEquals(comp.my_structseq_name[1].ss_seq_longlong_name[0], -9223372036854775808) + self.assertEqual(comp.my_structseq_name[1].ss_ulonglong_name, 0) + self.assertEqual(comp.my_structseq_name[0].ss_seq_octet_name[1], 255) + self.assertEqual(comp.my_structseq_name[1].ss_seq_octet_name[0], 0) + self.assertEqual(comp.my_structseq_name[0].ss_seq_short_name[1], 32767) + self.assertEqual(comp.my_structseq_name[1].ss_seq_short_name[0], -32768) + self.assertEqual(comp.my_structseq_name[0].ss_seq_ushort_name[1], 65535) + self.assertEqual(comp.my_structseq_name[1].ss_seq_ushort_name[0], 0) + self.assertEqual(comp.my_structseq_name[0].ss_seq_long_name[1], 2147483647) + self.assertEqual(comp.my_structseq_name[1].ss_seq_long_name[0], -2147483648) + self.assertEqual(comp.my_structseq_name[0].ss_seq_ulong_name[1], 4294967295) + self.assertEqual(comp.my_structseq_name[1].ss_seq_ulong_name[0], 0) + self.assertEqual(comp.my_structseq_name[0].ss_seq_longlong_name[1], 9223372036854775807) + self.assertEqual(comp.my_structseq_name[1].ss_seq_longlong_name[0], -9223372036854775808) #self.assertEquals(comp.my_structseq_name[0].ss_seq_ulonglong_name[1], 18446744073709551615) - self.assertEquals(comp.my_structseq_name[1].ss_seq_ulonglong_name[0], 0) + self.assertEqual(comp.my_structseq_name[1].ss_seq_ulonglong_name[0], 0) # Test one beyond upper bound self.assertRaises(type_helpers.OutOfRangeException, comp.my_structseq_name[0].ss_octet_name.configureValue, 256) @@ -1354,19 +1354,19 @@ def test_structSeqPropertyRange(self): # Make sure entire struct seq can be set without error new_value = [{'ss_octet': 100, 'ss_short': 101, 'ss_ushort': 102, 'ss_long': 103, 'ss_ulong': 104, 'ss_longlong': 105, 'ss_ulonglong': 106, 'ss_seq_octet': [100, 101], - 'ss_seq_short': [102, 103], 'ss_seq_ushort': [104, 105], 'ss_seq_long': [106L, 107L], - 'ss_seq_ulong': [108L, 109L], 'ss_seq_longlong': [110L, 111L], 'ss_seq_ulonglong': [112L, 113L]}, + 'ss_seq_short': [102, 103], 'ss_seq_ushort': [104, 105], 'ss_seq_long': [106, 107], + 'ss_seq_ulong': [108, 109], 'ss_seq_longlong': [110, 111], 'ss_seq_ulonglong': [112, 113]}, {'ss_octet': 107, 'ss_short': 108, 'ss_ushort': 109, 'ss_long': 110, 'ss_ulong': 111, 'ss_longlong': 112, 'ss_ulonglong': 113, 'ss_seq_octet': [114, 115], - 'ss_seq_short': [116, 117], 'ss_seq_ushort': [118, 119], 'ss_seq_long': [120L, 121L], - 'ss_seq_ulong': [122L, 123L], 'ss_seq_longlong': [124L, 125L], 'ss_seq_ulonglong': [126L, 127L]}] + 'ss_seq_short': [116, 117], 'ss_seq_ushort': [118, 119], 'ss_seq_long': [120, 121], + 'ss_seq_ulong': [122, 123], 'ss_seq_longlong': [124, 125], 'ss_seq_ulonglong': [126, 127]}] comp.my_structseq_name = new_value self.assertEqual(comp.my_structseq_name, new_value) # Make sure individual structs can be set without error # NB: This test used to use names instead of ids, which silently failed in 1.8. for item in new_value: - for name in item.iterkeys(): + for name in item.keys(): if isinstance(item[name], list): for i in item[name]: i += 100 @@ -1385,8 +1385,8 @@ def test_readOnlyProps(self): comp.readonly_simp try: comp.readonly_simp = 'bad' - except Exception, e: - self.assertEquals(e.__class__, Exception) + except Exception as e: + self.assertEqual(e.__class__, Exception) else: self.fail('Expected exception to be thrown for read only property') @@ -1394,14 +1394,14 @@ def test_readOnlyProps(self): comp.readonly_struct.readonly_struct_simp try: comp.readonly_struct.readonly_struct_simp = 'bad' - except Exception, e: - self.assertEquals(e.__class__, Exception) + except Exception as e: + self.assertEqual(e.__class__, Exception) else: self.fail('Expected exception to be thrown for read only property') try: comp.readonly_struct = {'readonly_struct_simp':'bad'} - except Exception, e: - self.assertEquals(e.__class__, Exception) + except Exception as e: + self.assertEqual(e.__class__, Exception) else: self.fail('Expected exception to be thrown for read only property') @@ -1410,14 +1410,14 @@ def test_readOnlyProps(self): comp.readonly_seq[1] try: comp.readonly_seq[1] = 'bad' - except Exception, e: - self.assertEquals(e.__class__, Exception) + except Exception as e: + self.assertEqual(e.__class__, Exception) else: self.fail('Expected exception to be thrown for read only property') try: comp.readonly_seq = ['bad1', 'bad2'] - except Exception, e: - self.assertEquals(e.__class__, Exception) + except Exception as e: + self.assertEqual(e.__class__, Exception) else: self.fail('Expected exception to be thrown for read only property') @@ -1426,30 +1426,30 @@ def test_readOnlyProps(self): comp.readonly_structseq[1].readonly_s try: comp.readonly_structseq[0].readonly_s = 'bad' - except Exception, e: - self.assertEquals(e.__class__, Exception) + except Exception as e: + self.assertEqual(e.__class__, Exception) else: self.fail('Expected exception to be thrown for read only property') try: comp.readonly_structseq[1] = {'readonly_s':'bad'} - except Exception, e: - self.assertEquals(e.__class__, Exception) + except Exception as e: + self.assertEqual(e.__class__, Exception) else: self.fail('Expected exception to be thrown for read only property') try: comp.readonly_structseq = [{'readonly_s':'bad1'}, {'readonly_s':'bad2'}] - except Exception, e: - self.assertEquals(e.__class__, Exception) + except Exception as e: + self.assertEqual(e.__class__, Exception) else: self.fail('Expected exception to be thrown for read only property') # Nothing should have changed - self.assertEquals(comp.readonly_simp, 'Read only simple prop') - self.assertEquals(comp.readonly_struct.readonly_struct_simp, 'read only struct property') - self.assertEquals(comp.readonly_seq[0], 'read only') - self.assertEquals(comp.readonly_seq[1], 'sequence property') - self.assertEquals(comp.readonly_structseq[0].readonly_s, 'read only') - self.assertEquals(comp.readonly_structseq[1].readonly_s, 'struct seq property') + self.assertEqual(comp.readonly_simp, 'Read only simple prop') + self.assertEqual(comp.readonly_struct.readonly_struct_simp, 'read only struct property') + self.assertEqual(comp.readonly_seq[0], 'read only') + self.assertEqual(comp.readonly_seq[1], 'sequence property') + self.assertEqual(comp.readonly_structseq[0].readonly_s, 'read only') + self.assertEqual(comp.readonly_structseq[1].readonly_s, 'struct seq property') def test_DuplicateNames(self): """ @@ -1515,7 +1515,7 @@ def test_Services(self): service = sb.launch(sb.getSDRROOT() + '/dev/services/BasicService_java/BasicService_java.spd.xml') comp = sb.launch('ServiceComponent') comp.connect(service) - self.assertEquals(len(sb.domainless.ConnectionManager.instance().getConnections().keys()), 1) + self.assertEqual(len(list(sb.domainless.ConnectionManager.instance().getConnections().keys())), 1) # Check that all the parameters got set correctly props = service.query([]) @@ -1526,7 +1526,7 @@ def test_Services(self): self.assertAlmostEqual(d["PARAM3"], 3.1459) self.assertEqual(d["PARAM4"], False) self.assertEqual(d["PARAM5"], "Hello World") - self.assertEqual(d.has_key("PARAM6"), False) + self.assertEqual("PARAM6" in d, False) def test_IDMChannel(self): @@ -1536,7 +1536,7 @@ def test_IDMChannel(self): channel = sb.getEventChannel('IDM_Channel') # Push all events onto a queue - event_queue = Queue.Queue() + event_queue = queue.Queue() channel.eventReceived.addListener(event_queue.put) # Lock and unlock the device; this should create an event @@ -1545,7 +1545,7 @@ def test_IDMChannel(self): # Wait up to a second, just in case try: event = event_queue.get(True, 1.0) - except Queue.Empty: + except queue.Empty: self.fail('Device admin state change message was never received') # Unpack the event and check that it matches our expectations @@ -1572,7 +1572,7 @@ def test_EventChannels(self): self.assertEqual(channel, sb.getEventChannel(channel_name)) # Push all events onto a queue - event_queue = Queue.Queue() + event_queue = queue.Queue() channel.eventReceived.addListener(event_queue.put) # Connect a component that emits events to the channel @@ -1585,7 +1585,7 @@ def test_EventChannels(self): comp.myprop = 2 try: event = event_queue.get(True, 1.0) - except Queue.Empty: + except queue.Empty: self.fail('Property change event not received') # Check that the event matches our expectations @@ -1631,7 +1631,7 @@ def test_ComplexSequenceFromRealSequence(self): # exception during launch. Overriding it avoids the error message, # though in general, complex char properties should be avoided. comp = sb.launch('TestComplexProps', properties={'complexCharProp':('a','b')}) - value = range(4) + value = list(range(4)) try: comp.complexFloatSequence = value except: @@ -1652,17 +1652,17 @@ def test_MessageFormat(self): src.sendMessage({'val':5,'seq':[1,2]}) while not self.message and time.time()-begin < 1: time.sleep(0.1) - self.assertEquals(self.message[1].id, 'foo') + self.assertEqual(self.message[1].id, 'foo') msg = None for _msg in self.message[1].value._v: if _msg.id == 'seq': msg = _msg.value - self.assertEquals(msg._t.content_type(), CORBA.TC_float) + self.assertEqual(msg._t.content_type(), CORBA.TC_float) msg = None for _msg in self.message[1].value._v: if _msg.id == 'val': msg = _msg.value - self.assertEquals(msg._t, CORBA.TC_short) + self.assertEqual(msg._t, CORBA.TC_short) def test_DeviceAllocation(self): """ @@ -1690,7 +1690,7 @@ def test_DeviceAllocation(self): self.assertEqual(dev.shared_memory, shared_memory) # Allocate with a list of CF.DataTypes - cf_props = [self._propertyToDataType(dev, name, value) for name, value in dict_props.iteritems()] + cf_props = [self._propertyToDataType(dev, name, value) for name, value in dict_props.items()] self.assertTrue(dev.allocateCapacity(cf_props)) self.assertEqual(dev.load_average, load_average+dict_props['load_average']) @@ -1742,12 +1742,12 @@ def test_Services(self): def test_ComplexListConversions(self): # Test interleaved-to-complex - inData = range(4) + inData = list(range(4)) outData = bulkio_helpers.bulkioComplexToPythonComplexList(inData) self.assertEqual(outData,[complex(0,1),complex(2,3)]) # Test complex-to-interleaved - cxData = [complex(x+0.5,0) for x in xrange(4)] + cxData = [complex(x+0.5,0) for x in range(4)] outData = bulkio_helpers.pythonComplexListToBulkioComplex(cxData) self.assertEqual(outData, [0.5,0.0,1.5,0.0,2.5,0.0,3.5,0.0]) @@ -1761,12 +1761,12 @@ def test_ComplexListConversions(self): def test_ComplexNumpyListConversions(self): # Test interleaved-to-complex - inData = range(4) + inData = list(range(4)) outData = bulkio_helpers.bulkioComplexToPythonComplexList(inData) self.assertEqual(outData,[complex(0,1),complex(2,3)]) # Test complex-to-interleaved - cxData = [complex(x+0.5,0) for x in xrange(4)] + cxData = [complex(x+0.5,0) for x in range(4)] outData = bulkio_helpers.pythonComplexListToBulkioComplex(cxData, itemType=float) self.assertEqual(outData, [0.5,0.0,1.5,0.0,2.5,0.0,3.5,0.0]) @@ -1885,7 +1885,7 @@ class Test_DataSDDSSource(unittest.TestCase): def test_CreateSDDSSource(self): source = sb.DataSourceSDDS() - self.assertNotEquals(source, None) + self.assertNotEqual(source, None) @@ -1934,7 +1934,7 @@ def _pushSRIThroughSourceAndSink( source, sink = _initSourceAndSink(dataFormat) - data = range(10) + data = list(range(10)) source.push( data, EOS = EOS, @@ -1946,10 +1946,10 @@ def _pushSRIThroughSourceAndSink( time.sleep(delay) returnedSRI = sink.sri() - self.assertEquals(sink.eos(), EOS) - self.assertEquals(returnedSRI.streamID, streamID) - self.assertEquals(returnedSRI.xdelta, 1./sampleRate) - self.assertEquals(returnedSRI.keywords, SRIKeywords) + self.assertEqual(sink.eos(), EOS) + self.assertEqual(returnedSRI.streamID, streamID) + self.assertEqual(returnedSRI.xdelta, 1./sampleRate) + self.assertEqual(returnedSRI.keywords, SRIKeywords) def _pushDataThroughSourceAndSink( self, @@ -1976,15 +1976,15 @@ def _pushDataThroughSourceAndSink( # Detect if we were passed a data list that had python complex types # in it def isComplex(x) : return type(x) == type(complex()) - if len(filter(isComplex, originalData)): + if len(list(filter(isComplex, originalData))): # in this case, the DataSink will return bulkio complex data # convert the originalData to the bulkio data format. originalData = bulkio_helpers.pythonComplexListToBulkioComplex(originalData) # make sure the mode flag was automatically set - self.assertEquals(sink.sri().mode, True) + self.assertEqual(sink.sri().mode, True) - self.assertEquals(receivedData, originalData) + self.assertEqual(receivedData, originalData) def test_DataSourceWithFormatConnect(self): with warnings.catch_warnings(): @@ -1994,7 +1994,7 @@ def test_DataSourceWithFormatConnect(self): sink = sb.DataSink() try: src.connect(sink) - except Exception, e: + except Exception as e: self.fail('Automatic connect failed for source that had dataFormat passed in') def test_DataSourceAndSink(self): @@ -2005,10 +2005,10 @@ def test_DataSourceAndSink(self): self._pushSRIThroughSourceAndSink() - scalarDataList = range(8) + scalarDataList = list(range(8)) complexDataList = [0, 1, 2+2j] - for format in supportedPorts.keys(): + for format in list(supportedPorts.keys()): if format == "file": # TODO: add test for file continue @@ -2060,7 +2060,7 @@ def test_DataSinkBadTimeStamp(self): # push bad timestamp, no data, and EOS (should not get the bad timestamp) port.pushPacket([],t_bad,True,'hello') data, tstamps = datasink.getData(eos_block=True, tstamps=True) - self.assertEquals(len(tstamps), 2) + self.assertEqual(len(tstamps), 2) def test_XMLDataSource(self): with warnings.catch_warnings(): @@ -2137,7 +2137,7 @@ def test_DataSourceEOS(self): sb.start() # Use an integer multiple of bytesPerPush (in this case 4X) to check # that exact boundaries don't break EOS - source.push([float(x) for x in xrange(1024)], EOS=True) + source.push([float(x) for x in range(1024)], EOS=True) # Wait up to 2 seconds for EOS to be received start = time.time() @@ -2169,7 +2169,7 @@ def test_DataSourceChunkedTimeStamp(self): sb.start() # test default sample rate - _srcData = range(500000) + _srcData = list(range(500000)) source.push(_srcData, sampleRate=_sampleRate) estimate = sink.getDataEstimate() begin_time = time.time() @@ -2180,11 +2180,11 @@ def test_DataSourceChunkedTimeStamp(self): break (_data, _tstamps) = sink.getData(tstamps=True) xdelta = sink.sri().xdelta - print _tstamps - self.assertEquals(_tstamps[0][1].twsec, _startTime) - self.assertEquals(_tstamps[1][1].twsec, _tstamps[1][0]*sink.sri().xdelta+_startTime) - self.assertEquals(_tstamps[2][1].twsec, _tstamps[2][0]*sink.sri().xdelta+_startTime) - self.assertEquals(_tstamps[3][1].twsec, _tstamps[3][0]*sink.sri().xdelta+_startTime) + print(_tstamps) + self.assertEqual(_tstamps[0][1].twsec, _startTime) + self.assertEqual(_tstamps[1][1].twsec, _tstamps[1][0]*sink.sri().xdelta+_startTime) + self.assertEqual(_tstamps[2][1].twsec, _tstamps[2][0]*sink.sri().xdelta+_startTime) + self.assertEqual(_tstamps[3][1].twsec, _tstamps[3][0]*sink.sri().xdelta+_startTime) def test_DataSourceSampleRateInt(self): """ @@ -2202,10 +2202,10 @@ def test_DataSourceSampleRateInt(self): # Use an integral sample rate larger than the packet size to make sure # that floating point math is used to calculate the time stamps sampleRate = 48000 - source.push(range(9600), sampleRate=sampleRate, EOS=True) + source.push(list(range(9600)), sampleRate=sampleRate, EOS=True) data, tstamps = sink.getData(eos_block=True, tstamps=True) xdelta = sink.sri().xdelta - self.assertAlmostEquals(xdelta, 1.0/sampleRate) + self.assertAlmostEqual(xdelta, 1.0/sampleRate) # Check all of the received time stamps, only using the precision of a # float (instead of a PrecisionUTCTime) because that's all DataSource @@ -2213,7 +2213,7 @@ def test_DataSourceSampleRateInt(self): for offset, ts in tstamps: actual = ts.twsec + ts.tfsec expected = offset * xdelta - self.assertAlmostEquals(actual, expected) + self.assertAlmostEqual(actual, expected) def test_DataSourceTimeStamp(self): """ @@ -2241,10 +2241,10 @@ def test_DataSourceTimeStamp(self): if time.time() - begin_time > _timeout: break (_data, _tstamps) = sink.getData(tstamps=True) - self.assertEquals(len(_data), len(_srcData)*2) - self.assertEquals(sink.sri().xdelta, 1) - self.assertEquals(_tstamps[0][1].twsec, _startTime) - self.assertEquals(_tstamps[1][1].twsec, _startTime+len(_srcData)) + self.assertEqual(len(_data), len(_srcData)*2) + self.assertEqual(sink.sri().xdelta, 1) + self.assertEqual(_tstamps[0][1].twsec, _startTime) + self.assertEqual(_tstamps[1][1].twsec, _startTime+len(_srcData)) toffset = _startTime+len(_data) @@ -2260,14 +2260,14 @@ def test_DataSourceTimeStamp(self): if time.time() - begin_time > _timeout: break (_data, _tstamps) = sink.getData(tstamps=True) - self.assertEquals(len(_data), len(_srcData)*2) - self.assertEquals(sink.sri().xdelta, 1/_sampleRate) + self.assertEqual(len(_data), len(_srcData)*2) + self.assertEqual(sink.sri().xdelta, 1/_sampleRate) _orig_time = _tstamps[0][1].twsec+_tstamps[0][1].tfsec _round_time = int(round(_orig_time*10))/10.0 - self.assertEquals(_round_time, toffset) + self.assertEqual(_round_time, toffset) _orig_time = _tstamps[1][1].twsec+_tstamps[1][1].tfsec _round_time = int(round(_orig_time*10))/10.0 - self.assertEquals(_round_time, toffset+len(_srcData)/_sampleRate) + self.assertEqual(_round_time, toffset+len(_srcData)/_sampleRate) toffset = toffset+len(_data)/_sampleRate @@ -2283,14 +2283,14 @@ def test_DataSourceTimeStamp(self): if time.time() - begin_time > _timeout: break (_data, _tstamps) = sink.getData(tstamps=True) - self.assertEquals(len(_data), len(_srcData)*2) - self.assertEquals(sink.sri().xdelta, 1/_sampleRate) + self.assertEqual(len(_data), len(_srcData)*2) + self.assertEqual(sink.sri().xdelta, 1/_sampleRate) _orig_time = _tstamps[0][1].twsec+_tstamps[0][1].tfsec _round_time = int(round(_orig_time*10))/10.0 - self.assertEquals(_round_time, toffset) + self.assertEqual(_round_time, toffset) _orig_time = _tstamps[1][1].twsec+_tstamps[1][1].tfsec _round_time = int(round(_orig_time*10))/10.0 - self.assertEquals(_round_time, toffset+len(_srcData)/_sampleRate) + self.assertEqual(_round_time, toffset+len(_srcData)/_sampleRate) toffset = toffset+len(_data)/_sampleRate @@ -2307,14 +2307,14 @@ def test_DataSourceTimeStamp(self): if time.time() - begin_time > _timeout: break (_data, _tstamps) = sink.getData(tstamps=True) - self.assertEquals(len(_data), len(_srcData)*4) - self.assertEquals(sink.sri().xdelta, 1/_sampleRate) + self.assertEqual(len(_data), len(_srcData)*4) + self.assertEqual(sink.sri().xdelta, 1/_sampleRate) _orig_time = _tstamps[0][1].twsec+_tstamps[0][1].tfsec _round_time = int(round(_orig_time*10))/10.0 - self.assertEquals(_round_time, toffset) + self.assertEqual(_round_time, toffset) _orig_time = _tstamps[1][1].twsec+_tstamps[1][1].tfsec _round_time = int(round(_orig_time*10))/10.0 - self.assertEquals(_round_time, toffset+len(_srcData)/_sampleRate) + self.assertEqual(_round_time, toffset+len(_srcData)/_sampleRate) def test_DataSourceTimeStampParam(self): @@ -2344,10 +2344,10 @@ def test_DataSourceTimeStampParam(self): if time.time() - begin_time > _timeout: break (_data, _tstamps) = sink.getData(tstamps=True) - self.assertEquals(len(_data), len(_srcData)*2) - self.assertEquals(sink.sri().xdelta, 1) - self.assertEquals(_tstamps[0][1].twsec, _startTime) - self.assertEquals(_tstamps[1][1].twsec, _startTime+len(_srcData)) + self.assertEqual(len(_data), len(_srcData)*2) + self.assertEqual(sink.sri().xdelta, 1) + self.assertEqual(_tstamps[0][1].twsec, _startTime) + self.assertEqual(_tstamps[1][1].twsec, _startTime+len(_srcData)) _ts = sb.createTimeStamp() begin_time = _ts.twsec+_ts.tfsec @@ -2361,16 +2361,16 @@ def test_DataSourceTimeStampParam(self): if time.time() - begin_time > _timeout: break (_data, _tstamps) = sink.getData(tstamps=True) - self.assertEquals(len(_data), len(_srcData)*2) - self.assertEquals(sink.sri().xdelta, 1/_sampleRate) + self.assertEqual(len(_data), len(_srcData)*2) + self.assertEqual(sink.sri().xdelta, 1/_sampleRate) _pkt_time = _tstamps[0][1].twsec+_tstamps[0][1].tfsec _rnd_pkt_time = int(round(_pkt_time*10))/10.0 _rnd_toffset = int(round(_toffset*10))/10.0 - self.assertEquals(_rnd_pkt_time,_rnd_toffset ) + self.assertEqual(_rnd_pkt_time,_rnd_toffset ) _pkt_time = _tstamps[1][1].twsec+_tstamps[1][1].tfsec _rnd_pkt_time = int(round(_pkt_time*10))/10.0 _rnd_toffset = int(round( (_toffset+len(_srcData)/_sampleRate) *10))/10.0 - self.assertEquals(_rnd_pkt_time,_rnd_toffset ) + self.assertEqual(_rnd_pkt_time,_rnd_toffset ) # test modified sample rate @@ -2387,16 +2387,16 @@ def test_DataSourceTimeStampParam(self): if time.time() - begin_time > _timeout: break (_data, _tstamps) = sink.getData(tstamps=True) - self.assertEquals(len(_data), len(_srcData)*2) - self.assertEquals(sink.sri().xdelta, 1/_sampleRate) + self.assertEqual(len(_data), len(_srcData)*2) + self.assertEqual(sink.sri().xdelta, 1/_sampleRate) _pkt_time = _tstamps[0][1].twsec+_tstamps[0][1].tfsec _rnd_pkt_time = int(round(_pkt_time*10))/10.0 _rnd_toffset = int(round(_toffset*10))/10.0 - self.assertEquals(_rnd_pkt_time,_rnd_toffset ) + self.assertEqual(_rnd_pkt_time,_rnd_toffset ) _pkt_time = _tstamps[1][1].twsec+_tstamps[1][1].tfsec _rnd_pkt_time = int(round(_pkt_time*10))/10.0 _rnd_toffset = int(round( (_toffset+len(_srcData)/_sampleRate) *10))/10.0 - self.assertEquals(_rnd_pkt_time,_rnd_toffset ) + self.assertEqual(_rnd_pkt_time,_rnd_toffset ) # test modified sample rate @@ -2415,16 +2415,16 @@ def test_DataSourceTimeStampParam(self): if time.time() - begin_time > _timeout: break (_data, _tstamps) = sink.getData(tstamps=True) - self.assertEquals(len(_data), len(_srcData)*2) - self.assertEquals(sink.sri().xdelta, 1/_sampleRate) + self.assertEqual(len(_data), len(_srcData)*2) + self.assertEqual(sink.sri().xdelta, 1/_sampleRate) _pkt_time = _tstamps[0][1].twsec+_tstamps[0][1].tfsec _rnd_pkt_time = int(round(_pkt_time*10))/10.0 _rnd_toffset = int(round(_toffset*10))/10.0 - self.assertEquals(_rnd_pkt_time,_rnd_toffset ) + self.assertEqual(_rnd_pkt_time,_rnd_toffset ) _pkt_time = _tstamps[1][1].twsec+_tstamps[1][1].tfsec _rnd_pkt_time = int(round(_pkt_time*10))/10.0 _rnd_toffset = int(round( (_toffset+len(_srcData)/_sampleRate) *10))/10.0 - self.assertEquals(_rnd_pkt_time,_rnd_toffset ) + self.assertEqual(_rnd_pkt_time,_rnd_toffset ) def _fileSourceThrottle(self, _file, rate): fp=open(_file, 'r') @@ -2469,7 +2469,7 @@ def test_DataSourceThrottle(self): self.assertTrue(time_diff>time_estimate*0.9) data=snk.getData() - self.assertEquals(len(data), 3.0*_dataLength) + self.assertEqual(len(data), 3.0*_dataLength) _sampleRate = 300 _dataLength = 100 @@ -2485,7 +2485,7 @@ def test_DataSourceThrottle(self): self.assertTrue(time_diff>time_estimate*0.9) data=snk.getData() - self.assertEquals(len(data), 3.0*_dataLength) + self.assertEqual(len(data), 3.0*_dataLength) class customSink(bulkio_data_helpers.ArraySink): def __init__(self, porttype): @@ -2509,7 +2509,7 @@ def test_CustomDataSink(self): src.push([1,2,3,4,5],sampleRate=10000) wait_on_data(snk, 3) data=snk.getData(tstamps=True) - self.assertEquals(snk._sink.sri.xdelta, 0.0002) + self.assertEqual(snk._sink.sri.xdelta, 0.0002) def test_DataSourceSRI(self): _timeout = 1 @@ -2535,8 +2535,8 @@ def test_DataSourceSRI(self): wait_on_data(sink, 1) data=sink.getData() rsri=sink.sri() - self.assertEquals(rsri.streamID, sid ) - self.assertAlmostEquals(rsri.xdelta, 0.1234) + self.assertEqual(rsri.streamID, sid ) + self.assertAlmostEqual(rsri.xdelta, 0.1234) # add keywords as a param kws=[] @@ -2564,8 +2564,8 @@ def test_DataSourceSRI(self): wait_on_data(sink, 1) data=sink.getData() rsri=sink.sri() - self.assertEquals(rsri.streamID, sid ) - self.assertAlmostEquals(rsri.xdelta, 0.1234) + self.assertEqual(rsri.streamID, sid ) + self.assertAlmostEqual(rsri.xdelta, 0.1234) self.assertEqual(True, compareKeywordLists( rsri.keywords, matchkws) ) # Repeat, making sure that a second push with keywords does not fail @@ -2587,8 +2587,8 @@ def test_DataSourceSRI(self): wait_on_data(sink, 1) data=sink.getData() rsri=sink.sri() - self.assertEquals(rsri.streamID, sid ) - self.assertAlmostEquals(rsri.xdelta, 0.1234) + self.assertEqual(rsri.streamID, sid ) + self.assertAlmostEqual(rsri.xdelta, 0.1234) self.assertEqual(True, compareKeywordLists( rsri.keywords, matchkws) ) # try pushing using the same sri object with changing attributes @@ -2599,7 +2599,7 @@ def test_DataSourceSRI(self): wait_on_data(sink, 1) data=sink.getData() rsri=sink.sri() - self.assertEquals(rsri.streamID, sid ) + self.assertEqual(rsri.streamID, sid ) _sri.streamID='anewsri' _srcData = [1,2,3,4] @@ -2607,7 +2607,7 @@ def test_DataSourceSRI(self): wait_on_data(sink, 1) data=sink.getData() rsri=sink.sri() - self.assertEquals(rsri.streamID, 'anewsri' ) + self.assertEqual(rsri.streamID, 'anewsri' ) _sri.mode=1 _srcData = [1,2,3,4] @@ -2615,7 +2615,7 @@ def test_DataSourceSRI(self): wait_on_data(sink, 1) data=sink.getData() rsri=sink.sri() - self.assertEquals(rsri.mode, 1 ) + self.assertEqual(rsri.mode, 1 ) _sri.mode=0 _srcData = [1,2,3,4] @@ -2623,7 +2623,7 @@ def test_DataSourceSRI(self): wait_on_data(sink, 1) data=sink.getData() rsri=sink.sri() - self.assertEquals(rsri.mode, 0 ) + self.assertEqual(rsri.mode, 0 ) _sri.hversion=100 _srcData = [1,2,3,4] @@ -2631,7 +2631,7 @@ def test_DataSourceSRI(self): wait_on_data(sink, 1) data=sink.getData() rsri=sink.sri() - self.assertEquals(rsri.hversion, 100 ) + self.assertEqual(rsri.hversion, 100 ) def test_DataSinkSubsize(self): @@ -2648,15 +2648,15 @@ def test_DataSinkSubsize(self): time.sleep(0.1) data=snk.getData() self.assertTrue(snk.eos()) - self.assertEquals(len(data),2) - self.assertEquals(len(data[0]),5) - self.assertEquals(len(data[1]),5) + self.assertEqual(len(data),2) + self.assertEqual(len(data[0]),5) + self.assertEqual(len(data[1]),5) def test_SubsizeComplex(self): # Test interleaved-to-complex _subsize = 10 _frames = 4 - inData = range(_subsize * _frames) + inData = list(range(_subsize * _frames)) with warnings.catch_warnings(): warnings.filterwarnings('ignore', 'DataSink is deprecated, use StreamSink instead') warnings.filterwarnings('ignore', 'DataSource is deprecated, use StreamSource') @@ -2673,7 +2673,7 @@ def test_SubsizeComplexNoEOS(self): # Test interleaved-to-complex _subsize = 10 _frames = 4 - inData = range(_subsize * _frames) + inData = list(range(_subsize * _frames)) with warnings.catch_warnings(): warnings.filterwarnings('ignore', 'DataSink is deprecated, use StreamSink instead') warnings.filterwarnings('ignore', 'DataSource is deprecated, use StreamSource') @@ -2697,14 +2697,14 @@ def test_DataSinkChar(self): snk = sb.DataSink() src.connect(snk) sb.start() - indata = range(16) + indata = list(range(16)) src.push(indata, EOS=True) start = time.time() while not snk.eos() and (time.time() - start) < 2.0: time.sleep(0.1) outdata = snk.getData() - self.assertEquals(len(outdata), len(indata)) - self.assertEquals(outdata, indata) + self.assertEqual(len(outdata), len(indata)) + self.assertEqual(outdata, indata) def _formatOctet(self, data): return list(struct.pack('%dB' % len(data), *data)) @@ -2717,14 +2717,14 @@ def test_DataSinkOctet(self): snk = sb.DataSink() src.connect(snk) sb.start() - indata = range(16) + indata = list(range(16)) src.push(indata, EOS=True) start = time.time() while not snk.eos() and (time.time() - start) < 2.0: time.sleep(0.1) outdata = snk.getData() - self.assertEquals(len(outdata), len(indata)) - self.assertEquals(outdata, self._formatOctet(indata)) + self.assertEqual(len(outdata), len(indata)) + self.assertEqual(outdata, self._formatOctet(indata)) def test_DataSinkCharSubsize(self): subsize = 8 @@ -2736,14 +2736,14 @@ def test_DataSinkCharSubsize(self): snk = sb.DataSink() src.connect(snk) sb.start() - src.push(range(subsize*frames), EOS=True) + src.push(list(range(subsize*frames)), EOS=True) start = time.time() while not snk.eos() and (time.time() - start) < 2.0: time.sleep(0.1) outdata = snk.getData() - self.assertEquals(len(outdata), frames) + self.assertEqual(len(outdata), frames) for frame in outdata: - self.assertEquals(len(frame), subsize) + self.assertEqual(len(frame), subsize) def test_DataSinkCharSignedData(self): with warnings.catch_warnings(): @@ -2759,7 +2759,7 @@ def test_DataSinkCharSignedData(self): while not snk.eos() and (time.time() - start) < 2.0: time.sleep(0.1) outdata = snk.getData() - self.assertEquals(data,outdata) + self.assertEqual(data,outdata) def test_DataSinkOctetSignedData(self): with warnings.catch_warnings(): @@ -2776,13 +2776,13 @@ def test_DataSinkOctetSignedData(self): while not snk.eos() and (time.time() - start) < 2.0: time.sleep(0.1) outdata = snk.getData() - self.assertEquals([],outdata) + self.assertEqual([],outdata) src.push(data1,EOS=True) start = time.time() while not snk.eos() and (time.time() - start) < 2.0: time.sleep(0.1) outdata = snk.getData() - self.assertEquals(self._formatOctet(data1), outdata) + self.assertEqual(self._formatOctet(data1), outdata) # def test_connections(self): # a = sb.launch(self.test_comp) @@ -2883,16 +2883,16 @@ def wait_for_msg(cond, timeout=2.0): msrc.sendMessage("testing 1") wait_for_msg(cond) - self.assertEquals( mcb.msg, None ) + self.assertEqual( mcb.msg, None ) sb.start() msrc.sendMessage("testing 2") wait_for_msg(cond) msg = mcb.msg['sb_struct']['sb'] - self.assertEquals( msg, "testing 2") + self.assertEqual( msg, "testing 2") rcv_msg = msink.getMessages() - self.assertEquals(len(rcv_msg), 1) - self.assertEquals(rcv_msg[0], mcb.msg) - self.assertEquals(len(msink.getMessages()), 0) + self.assertEqual(len(rcv_msg), 1) + self.assertEqual(rcv_msg[0], mcb.msg) + self.assertEqual(len(msink.getMessages()), 0) sb.stop() # terminate this sink object @@ -2906,19 +2906,19 @@ def wait_for_msg(cond, timeout=2.0): mcb.reset() msrc.sendMessage("testing 3") wait_for_msg(cond) - self.assertEquals( mcb.msg, None) + self.assertEqual( mcb.msg, None) sb.start() msrc.sendMessage("testing 4") wait_for_msg(cond) msg = mcb.msg['sb_struct']['sb'] - self.assertEquals( msg, "testing 4") + self.assertEqual( msg, "testing 4") mcb.reset() msrc.sendMessage("testing 5") wait_for_msg(cond) msg = mcb.msg['sb_struct']['sb'] - self.assertEquals( msg, "testing 5") - self.assertEquals(len(msink.getMessages()), 0) + self.assertEqual( msg, "testing 5") + self.assertEqual(len(msink.getMessages()), 0) sb.stop() # terminate this sink object @@ -2931,14 +2931,14 @@ def wait_for_msg(cond, timeout=2.0): msrc.sendMessage("testing 4") msrc.sendMessage("testing 5") time.sleep(2) - self.assertEquals(len(msink.getMessages()), 2) + self.assertEqual(len(msink.getMessages()), 2) sb.stop() # reset receiver and cycle sandbox state mcb.reset() sb.start() sb.stop() - self.assertEquals( mcb.msg, None) + self.assertEqual( mcb.msg, None) msink.releaseObject() @@ -2975,23 +2975,23 @@ def wait_for_msg(cond, timeout=2.0): src_data={ 'field1': 'testing', 'field2': 100 } c.sendMessage( src_data ) wait_for_msg(cond) - self.assertEquals( mcb.msg, None ) + self.assertEqual( mcb.msg, None ) sb.start() src_data={ 'field1': 'testing 2', 'field2': 100 } c.sendMessage( src_data ) wait_for_msg(cond) res_data = mcb.msg['msg_out'] - self.assertEquals( src_data, res_data ) + self.assertEqual( src_data, res_data ) src_data={ 'field1': 'testing 2-1', 'field2': 101 } c.sendMessage( src_data, msgId='msg_out' ) wait_for_msg(cond) res_data = mcb.msg['msg_out'] - self.assertEquals( src_data, res_data ) + self.assertEqual( src_data, res_data ) src_data={ 'field1': 'testing 2-2', 'field2': 102 } c.sendMessage( src_data, msgId='msg_out', msgPort='msg_out' ) wait_for_msg(cond) res_data = mcb.msg['msg_out'] - self.assertEquals( src_data, res_data ) + self.assertEqual( src_data, res_data ) sb.stop() # terminate this sink object @@ -3006,23 +3006,23 @@ def wait_for_msg(cond, timeout=2.0): src_data={ 'field1': 'testing 3', 'field2': 100 } ret=c.sendMessage( src_data, msgId='test_msg', msgPort='msg_out') wait_for_msg(cond) - self.assertEquals( mcb.msg, None) + self.assertEqual( mcb.msg, None) src_data={ 'field1': 'testing 4', 'field2': 400 } sb.start() ret=c.sendMessage( src_data, msgId='test_msg', msgPort='msg_out') wait_for_msg(cond) - self.assertEquals( ret, False ) + self.assertEqual( ret, False ) ret=c.sendMessage( src_data, msgId='test_msg', msgPort='msg_out', restrict=False) wait_for_msg(cond) res_data = mcb.msg['test_msg'] - self.assertEquals( src_data, res_data ) + self.assertEqual( src_data, res_data ) sb.stop() # reset receiver and cycle sandbox state mcb.reset() sb.start() sb.stop() - self.assertEquals( mcb.msg, None) + self.assertEqual( mcb.msg, None) c.releaseObject() msink.releaseObject() diff --git a/redhawk/src/testing/tests/test_14_bluefile.py b/redhawk/src/testing/tests/test_14_bluefile.py index 13d9caaca..ef0eef048 100644 --- a/redhawk/src/testing/tests/test_14_bluefile.py +++ b/redhawk/src/testing/tests/test_14_bluefile.py @@ -96,7 +96,7 @@ def _test_FileSink(self, format): complexData = format.startswith('C') typecode = format[1] dataFormat, dataType = self.TYPEMAP[typecode] - indata = [dataType(x) for x in xrange(16)] + indata = [dataType(x) for x in range(16)] source = sb.StreamSource(format=dataFormat) sink = sb.FileSink(filename, midasFile=True) @@ -121,7 +121,7 @@ def _test_FileSink(self, format): def _generateSourceData(self, format, size): if format in ('CF', 'CD'): - return [complex(x) for x in xrange(size)] + return [complex(x) for x in range(size)] complexData = format.startswith('C') typecode = format[1] @@ -130,7 +130,7 @@ def _generateSourceData(self, format, size): samples = size if complexData: samples *= 2 - data = [dataType(x) for x in xrange(samples)] + data = [dataType(x) for x in range(samples)] if complexData: data = numpy.reshape(data, (size,2)) @@ -207,7 +207,7 @@ def _test_FileSinkType2000(self, format, subsize): indata = numpy.arange(samples, dtype=numpy.int8) packet = indata.tostring() else: - indata = [dataType(x) for x in xrange(samples)] + indata = [dataType(x) for x in range(samples)] packet = indata # Push the SRI and data directly to the sink's port @@ -260,7 +260,7 @@ def _test_FileSourceType2000(self, format, subsize): dataFormat, dataType = self.TYPEMAP[typecode] frames = 4 - indata = [self._generateSourceData(format, subsize) for x in xrange(frames)] + indata = [self._generateSourceData(format, subsize) for x in range(frames)] hdr = bluefile.header(2000, format, subsize=subsize) bluefile.write(filename, hdr, indata) @@ -383,7 +383,7 @@ def test_FileSinkTimecode(self): sb.start() bulkio_ts = bulkio.timestamp.now() - source.write(range(16), time=bulkio_ts) + source.write(list(range(16)), time=bulkio_ts) source.close() sink.waitForEOS() @@ -402,7 +402,7 @@ def _test_FileSinkOctet(self, format): sb.start() # Push a 256-element ramp (the maximum range of octet) - indata = range(256) + indata = list(range(256)) interleaved = False if format.startswith('C'): source.sri.mode = True @@ -441,7 +441,7 @@ def test_keywords_retrieval_int(self): sri.keywords=kws bf.start() bf.pushSRI(sri) - tmpData = range(0, 1024) + tmpData = list(range(0, 1024)) bf.pushPacket(tmpData, bulkio.timestamp.now(), True, sid) # Read back the timecode from the output file @@ -456,7 +456,7 @@ def test_keywords_retrieval_long(self): filename='bf-kw-test.out' self._tempfiles.append(filename) bf=bluefile_helpers.BlueFileWriter(filename,'dataLong') - kdata=2147483648L + kdata=2147483648 kws = props_from_dict({'TEST_KW': kdata}) sid='streamID' srate=5e6 @@ -466,7 +466,7 @@ def test_keywords_retrieval_long(self): sri.keywords=kws bf.start() bf.pushSRI(sri) - tmpData = range(0, 1024) + tmpData = list(range(0, 1024)) bf.pushPacket(tmpData, bulkio.timestamp.now(), True, sid) # Read back the timecode from the output file diff --git a/redhawk/src/testing/tests/test_15_AllocationManager.py b/redhawk/src/testing/tests/test_15_AllocationManager.py index 8b9b674cb..31916a4da 100644 --- a/redhawk/src/testing/tests/test_15_AllocationManager.py +++ b/redhawk/src/testing/tests/test_15_AllocationManager.py @@ -167,7 +167,7 @@ def test_MultipleRequests(self): response = dict((r.requestID, r) for r in self._allocMgr.allocate(request)) self.assertEqual(len(request), len(response)) self.assertFalse(response['external'].allocatedDevice._is_equivalent(response['matching'].allocatedDevice)) - self._allocMgr.deallocate([r.allocationID for r in response.values()]) + self._allocMgr.deallocate([r.allocationID for r in list(response.values())]) def test_allocationsMethod(self): nb, devMgr = self.launchDeviceManager('/nodes/test_SADUsesDevice/DeviceManager.dcd.xml') @@ -214,7 +214,7 @@ def test_allocationsMethod(self): def test_BasicOperations(self): # Check that the domain manager back link is correct domMgr = self._allocMgr._get_domainMgr() - self.assert_(self._domMgr._is_equivalent(domMgr)) + self.assertTrue(self._domMgr._is_equivalent(domMgr)) # Check that the device list attributes work as expected (with no # devices), and do not throw exceptions @@ -241,7 +241,7 @@ def test_DeviceLists(self): # Collect the complete set of device IDs, making sure new devices # are added every time through the loop devices = allocMgrHelpers.parseDomainDevices(self._domMgr) - self.assert_(len(devices) > devCount) + self.assertTrue(len(devices) > devCount) devCount = len(devices) # Make sure localDevices matches our known state @@ -533,7 +533,7 @@ def test_redhawkutils_MultipleRequests(self): response = dict((r.requestID, r) for r in self.am.allocate(request)) self.assertEqual(len(request), len(response)) self.assertFalse(response['external'].allocatedDevice._is_equivalent(response['matching'].allocatedDevice)) - self.am.deallocate([r.allocationID for r in response.values()]) + self.am.deallocate([r.allocationID for r in list(response.values())]) def test_redhawkutils_allocationsMethod(self): nb, devMgr = self.launchDeviceManager('/nodes/test_SADUsesDevice/DeviceManager.dcd.xml') @@ -720,7 +720,7 @@ def test_redhawkutils_DeviceLists(self): # Collect the complete set of device IDs, making sure new devices # are added every time through the loop devices = allocMgrHelpers.parseDomainDevices(self._domMgr) - self.assert_(len(devices) > devCount) + self.assertTrue(len(devices) > devCount) devCount = len(devices) # Make sure localDevices matches our known state @@ -741,7 +741,7 @@ def test_redhawkutils_DeviceLists(self): def test_redhawkutils_BasicOperations(self): # Check that the domain manager back link is correct domMgr = self.am.getDomainMgr - self.assert_(self._domMgr._is_equivalent(domMgr)) + self.assertTrue(self._domMgr._is_equivalent(domMgr)) # Check that the device list attributes work as expected (with no # devices), and do not throw exceptions diff --git a/redhawk/src/testing/tests/test_15_LoggingConfig.py b/redhawk/src/testing/tests/test_15_LoggingConfig.py index 7958c0bf4..de47b9fe9 100644 --- a/redhawk/src/testing/tests/test_15_LoggingConfig.py +++ b/redhawk/src/testing/tests/test_15_LoggingConfig.py @@ -80,14 +80,14 @@ def test_cpp_event_appender_create_channel(self): for _c in clist: if _c.channel_name == 'TEST_EVT_CH1': reg_count = _c.reg_count - self.assertEquals(reg_count, 2) # both the instance and static root loggers + self.assertEqual(reg_count, 2) # both the instance and static root loggers self.app.releaseObject() clist,citer = self._rhDom._get_eventChannelMgr().listChannels(5) reg_count = -1 for _c in clist: if _c.channel_name == 'TEST_EVT_CH1': reg_count = _c.reg_count - self.assertEquals(reg_count, 0) + self.assertEqual(reg_count, 0) class PyDomainEventLoggingConfig(scatest.CorbaTestCase): def setUp(self): @@ -129,14 +129,14 @@ def test_py_event_appender_create_channel(self): for _c in clist: if _c.channel_name == 'TEST_EVT_CH1': reg_count = _c.reg_count - self.assertEquals(reg_count, 1) + self.assertEqual(reg_count, 1) self.app.releaseObject() clist,citer = self._rhDom._get_eventChannelMgr().listChannels(5) reg_count = -1 for _c in clist: if _c.channel_name == 'TEST_EVT_CH1': reg_count = _c.reg_count - self.assertEquals(reg_count, 0) + self.assertEqual(reg_count, 0) @scatest.requireJava class JavaDomainEventLoggingConfig(scatest.CorbaTestCase): @@ -179,14 +179,14 @@ def test_java_event_appender_create_channel(self): for _c in clist: if _c.channel_name == 'TEST_EVT_CH1': reg_count = _c.reg_count - self.assertEquals(reg_count, 1) + self.assertEqual(reg_count, 1) self.app.releaseObject() clist,citer = self._rhDom._get_eventChannelMgr().listChannels(5) reg_count = -1 for _c in clist: if _c.channel_name == 'TEST_EVT_CH1': reg_count = _c.reg_count - self.assertEquals(reg_count, 0) + self.assertEqual(reg_count, 0) @scatest.requireLog4cxx class CppLoggingConfig(scatest.CorbaTestCase): @@ -246,25 +246,25 @@ def tearDown(self): def test_log_level(self): self.comp.ref._set_log_level( CF.LogLevels.OFF ) lvl = self.comp.ref._get_log_level() - self.assertEquals( lvl, CF.LogLevels.OFF ) + self.assertEqual( lvl, CF.LogLevels.OFF ) self.comp.ref._set_log_level( CF.LogLevels.FATAL ) lvl = self.comp.ref._get_log_level() - self.assertEquals( lvl, CF.LogLevels.FATAL) + self.assertEqual( lvl, CF.LogLevels.FATAL) self.comp.ref._set_log_level( CF.LogLevels.ERROR ) lvl = self.comp.ref._get_log_level() - self.assertEquals( lvl, CF.LogLevels.ERROR) + self.assertEqual( lvl, CF.LogLevels.ERROR) self.comp.ref._set_log_level( CF.LogLevels.WARN ) lvl = self.comp.ref._get_log_level() - self.assertEquals( lvl, CF.LogLevels.WARN) + self.assertEqual( lvl, CF.LogLevels.WARN) self.comp.ref._set_log_level( CF.LogLevels.INFO ) lvl = self.comp.ref._get_log_level() - self.assertEquals( lvl, CF.LogLevels.INFO) + self.assertEqual( lvl, CF.LogLevels.INFO) self.comp.ref._set_log_level( CF.LogLevels.DEBUG ) lvl = self.comp.ref._get_log_level() - self.assertEquals( lvl, CF.LogLevels.DEBUG) + self.assertEqual( lvl, CF.LogLevels.DEBUG) self.comp.ref._set_log_level( CF.LogLevels.TRACE ) lvl = self.comp.ref._get_log_level() - self.assertEquals( lvl, CF.LogLevels.TRACE) + self.assertEqual( lvl, CF.LogLevels.TRACE) self.comp.ref._set_log_level( CF.LogLevels.ERROR ) def test_default_logconfig(self): @@ -279,7 +279,7 @@ def test_default_logconfig(self): ## remove extra white space cfg=cfg.replace(" ","") c_cfg=c_cfg.replace(" ","") - self.assertEquals( cfg, c_cfg) + self.assertEqual( cfg, c_cfg) def test_logconfig(self): @@ -294,7 +294,7 @@ def test_logconfig(self): c_cfg=self.comp.ref.getLogConfig() cfg=cfg.replace(" ","") c_cfg=c_cfg.replace(" ","") - self.assertEquals( cfg, c_cfg) + self.assertEqual( cfg, c_cfg) def test_comp_macro_config(self): @@ -310,14 +310,14 @@ def test_comp_macro_config(self): res=c_cfg.find(self.cname) - self.assertNotEquals( res, -1 ) + self.assertNotEqual( res, -1 ) def test_comp_macro_config2(self): cfg = "@@@COMPONENT.NAME@@@" self.comp.ref.setLogConfig(cfg) c_cfg=self.comp.ref.getLogConfig() res=c_cfg.find(self.cname) - self.assertNotEquals( res, -1 ) + self.assertNotEqual( res, -1 ) def test_comp_log_event_appender(self): @@ -358,25 +358,25 @@ def tearDown(self): def test_log_level(self): self.comp.ref._set_log_level( CF.LogLevels.OFF ) lvl = self.comp.ref._get_log_level() - self.assertEquals( lvl, CF.LogLevels.OFF ) + self.assertEqual( lvl, CF.LogLevels.OFF ) self.comp.ref._set_log_level( CF.LogLevels.FATAL ) lvl = self.comp.ref._get_log_level() - self.assertEquals( lvl, CF.LogLevels.FATAL) + self.assertEqual( lvl, CF.LogLevels.FATAL) self.comp.ref._set_log_level( CF.LogLevels.ERROR ) lvl = self.comp.ref._get_log_level() - self.assertEquals( lvl, CF.LogLevels.ERROR) + self.assertEqual( lvl, CF.LogLevels.ERROR) self.comp.ref._set_log_level( CF.LogLevels.WARN ) lvl = self.comp.ref._get_log_level() - self.assertEquals( lvl, CF.LogLevels.WARN) + self.assertEqual( lvl, CF.LogLevels.WARN) self.comp.ref._set_log_level( CF.LogLevels.INFO ) lvl = self.comp.ref._get_log_level() - self.assertEquals( lvl, CF.LogLevels.INFO) + self.assertEqual( lvl, CF.LogLevels.INFO) self.comp.ref._set_log_level( CF.LogLevels.DEBUG ) lvl = self.comp.ref._get_log_level() - self.assertEquals( lvl, CF.LogLevels.DEBUG) + self.assertEqual( lvl, CF.LogLevels.DEBUG) self.comp.ref._set_log_level( CF.LogLevels.TRACE ) lvl = self.comp.ref._get_log_level() - self.assertEquals( lvl, CF.LogLevels.TRACE) + self.assertEqual( lvl, CF.LogLevels.TRACE) self.comp.ref._set_log_level( CF.LogLevels.ERROR ) def test_default_logconfig(self): @@ -389,7 +389,7 @@ def test_default_logconfig(self): c_cfg=self.comp.ref.getLogConfig() cfg=cfg.replace(" ","") c_cfg=c_cfg.replace(" ","") - self.assertEquals( cfg, c_cfg) + self.assertEqual( cfg, c_cfg) def test_logconfig(self): @@ -405,7 +405,7 @@ def test_logconfig(self): cfg=cfg.replace(" ","") c_cfg=c_cfg.replace(" ","") - self.assertEquals( cfg, c_cfg) + self.assertEqual( cfg, c_cfg) def test_comp_macro_config(self): @@ -421,14 +421,14 @@ def test_comp_macro_config(self): res=c_cfg.find(self.cname) - self.assertNotEquals( res, -1 ) + self.assertNotEqual( res, -1 ) def test_comp_macro_config2(self): cfg = "@@@COMPONENT.NAME@@@" self.comp.ref.setLogConfig(cfg) c_cfg=self.comp.ref.getLogConfig() res=c_cfg.find(self.cname) - self.assertNotEquals( res, -1 ) + self.assertNotEqual( res, -1 ) def test_comp_log_event_appender(self): @@ -484,7 +484,7 @@ def test_comp_macro_directories_config_python(self): os.rmdir('foo') except: pass - self.assertNotEquals(fp, None) + self.assertNotEqual(fp, None) @scatest.requireLog4cxx def test_comp_macro_directories_config_cpp(self): @@ -507,7 +507,7 @@ def test_comp_macro_directories_config_cpp(self): os.rmdir('foo') except: pass - self.assertNotEquals(fp, None) + self.assertNotEqual(fp, None) @scatest.requireJava def test_comp_macro_directories_config_java(self): @@ -530,7 +530,7 @@ def test_comp_macro_directories_config_java(self): os.rmdir('foo') except: pass - self.assertNotEquals(fp, None) + self.assertNotEqual(fp, None) class TokenLoggingConfig(scatest.CorbaTestCase): def setUp(self): @@ -573,7 +573,7 @@ def test_token_devmgr(self): fp = open('sdr/foo/bar/test.log','r') except: pass - self.assertNotEquals(fp, None) + self.assertNotEqual(fp, None) logfile_content = fp.readlines() found_line = None for line in logfile_content: @@ -582,9 +582,9 @@ def test_token_devmgr(self): continue found_line = line break - self.assertNotEquals(found_line, None) - self.assertNotEquals(found_line.find(logstr), -1) - self.assertNotEquals(found_line.find('DeviceManager.parsers'), -1) + self.assertNotEqual(found_line, None) + self.assertNotEqual(found_line.find(logstr), -1) + self.assertNotEqual(found_line.find('DeviceManager.parsers'), -1) @scatest.requireLog4cxx def test_token_config_dev_cpp(self): @@ -593,16 +593,16 @@ def test_token_config_dev_cpp(self): if devmgr._instanceName == 'ExecutableDevice_node': found_devmgr = devmgr break - self.assertNotEquals(found_devmgr, None) + self.assertNotEqual(found_devmgr, None) found_dev = None for dev in found_devmgr.devs: if dev.name == 'ExecutableDevice': found_dev = dev break - self.assertNotEquals(found_dev, None) + self.assertNotEqual(found_dev, None) logcfg = found_dev.getLogConfig() logstr = '|||WAVEFORM.NO_INST|||'+found_devmgr._instanceName+'|||'+self._rhDom.name+'-'+os.uname()[1]+'-'+found_devmgr._instanceName+'_'+str(self.devBooter.pid) - self.assertNotEquals(logcfg.find(logstr), -1) + self.assertNotEqual(logcfg.find(logstr), -1) def test_token_config_dev_py(self): self.devBooter_2, self._devMgr_2 = self.launchDeviceManager("/nodes/py_dev_n/DeviceManager.dcd.xml", loggingURI='file://'+os.getcwd()+'/macro_config.cfg') @@ -611,16 +611,16 @@ def test_token_config_dev_py(self): if devmgr._instanceName == 'py_dev_n': found_devmgr = devmgr break - self.assertNotEquals(found_devmgr, None) + self.assertNotEqual(found_devmgr, None) found_dev = None for dev in found_devmgr.devs: if dev.name == 'py_dev': found_dev = dev break - self.assertNotEquals(found_dev, None) + self.assertNotEqual(found_dev, None) logcfg = found_dev.getLogConfig() logstr = '|||WAVEFORM.NO_INST|||'+found_devmgr._instanceName+'|||'+self._rhDom.name+'-'+os.uname()[1]+'-'+found_devmgr._instanceName+'_'+str(self.devBooter_2.pid) - self.assertNotEquals(logcfg.find(logstr), -1) + self.assertNotEqual(logcfg.find(logstr), -1) @scatest.requireJava def test_token_config_dev_java(self): @@ -630,20 +630,20 @@ def test_token_config_dev_java(self): if devmgr._instanceName == 'java_dev_n': found_devmgr = devmgr break - self.assertNotEquals(found_devmgr, None) + self.assertNotEqual(found_devmgr, None) found_dev = None for dev in found_devmgr.devs: if dev.name == 'java_dev': found_dev = dev break - self.assertNotEquals(found_dev, None) + self.assertNotEqual(found_dev, None) begin = time.time() logcfg = None while time.time()-begin < 1 or not logcfg: logcfg = found_dev.getLogConfig() - self.assertNotEquals(logcfg, None) + self.assertNotEqual(logcfg, None) logstr = '|||WAVEFORM.NO_INST|||'+found_devmgr._instanceName+'|||'+self._rhDom.name+'-'+os.uname()[1]+'-'+found_devmgr._instanceName+'_'+str(self.devBooter_2.pid) - self.assertNotEquals(logcfg.find(logstr), -1) + self.assertNotEqual(logcfg.find(logstr), -1) @scatest.requireLog4cxx def test_token_config_comp_cpp(self): @@ -653,10 +653,10 @@ def test_token_config_comp_cpp(self): if comp.name == 'PropertyChange_C1': found_comp = comp break - self.assertNotEquals(found_comp, None) + self.assertNotEqual(found_comp, None) logcfg = found_comp.getLogConfig() logstr = '|||'+app._instanceName+'|||DEV_MGR.NO_NAME|||DEV_MGR.NO_INST' - self.assertNotEquals(logcfg.find(logstr), -1) + self.assertNotEqual(logcfg.find(logstr), -1) def test_token_config_comp_py(self): app = self._rhDom.createApplication("/waveforms/PropertyChangeListenerNoJava/PropertyChangeListenerNoJava.sad.xml") @@ -665,10 +665,10 @@ def test_token_config_comp_py(self): if comp.name == 'PropertyChange_P1': found_comp = comp break - self.assertNotEquals(found_comp, None) + self.assertNotEqual(found_comp, None) logcfg = found_comp.getLogConfig() logstr = '|||'+app._instanceName+'|||DEV_MGR.NO_NAME|||DEV_MGR.NO_INST' - self.assertNotEquals(logcfg.find(logstr), -1) + self.assertNotEqual(logcfg.find(logstr), -1) @scatest.requireJava def test_token_config_comp_java(self): @@ -678,10 +678,10 @@ def test_token_config_comp_java(self): if comp.name == 'PropertyChange_J1': found_comp = comp break - self.assertNotEquals(found_comp, None) + self.assertNotEqual(found_comp, None) logcfg = found_comp.getLogConfig() logstr = '|||'+app._instanceName+'|||DEV_MGR.NO_NAME|||DEV_MGR.NO_INST' - self.assertNotEquals(logcfg.find(logstr), -1) + self.assertNotEqual(logcfg.find(logstr), -1) class PythonLoggingConfig(scatest.CorbaTestCase): def setUp(self): @@ -700,25 +700,25 @@ def test_log_level(self): self.comp = sb.launch(self.cname, impl="python", execparams={'DISABLE_CB': 'True'} ) self.comp.ref._set_log_level( CF.LogLevels.OFF ) lvl = self.comp.ref._get_log_level() - self.assertEquals( lvl, CF.LogLevels.OFF ) + self.assertEqual( lvl, CF.LogLevels.OFF ) self.comp.ref._set_log_level( CF.LogLevels.FATAL ) lvl = self.comp.ref._get_log_level() - self.assertEquals( lvl, CF.LogLevels.FATAL) + self.assertEqual( lvl, CF.LogLevels.FATAL) self.comp.ref._set_log_level( CF.LogLevels.ERROR ) lvl = self.comp.ref._get_log_level() - self.assertEquals( lvl, CF.LogLevels.ERROR) + self.assertEqual( lvl, CF.LogLevels.ERROR) self.comp.ref._set_log_level( CF.LogLevels.WARN ) lvl = self.comp.ref._get_log_level() - self.assertEquals( lvl, CF.LogLevels.WARN) + self.assertEqual( lvl, CF.LogLevels.WARN) self.comp.ref._set_log_level( CF.LogLevels.INFO ) lvl = self.comp.ref._get_log_level() - self.assertEquals( lvl, CF.LogLevels.INFO) + self.assertEqual( lvl, CF.LogLevels.INFO) self.comp.ref._set_log_level( CF.LogLevels.DEBUG ) lvl = self.comp.ref._get_log_level() - self.assertEquals( lvl, CF.LogLevels.DEBUG) + self.assertEqual( lvl, CF.LogLevels.DEBUG) self.comp.ref._set_log_level( CF.LogLevels.TRACE ) lvl = self.comp.ref._get_log_level() - self.assertEquals( lvl, CF.LogLevels.TRACE) + self.assertEqual( lvl, CF.LogLevels.TRACE) self.comp.ref._set_log_level( CF.LogLevels.ERROR ) def test_default_logconfig(self): @@ -731,7 +731,7 @@ def test_default_logconfig(self): c_cfg=self.comp.ref.getLogConfig() cfg=cfg.replace(" ","") c_cfg=c_cfg.replace(" ","") - self.assertEquals( cfg, c_cfg) + self.assertEqual( cfg, c_cfg) def test_logconfig(self): @@ -746,7 +746,7 @@ def test_logconfig(self): c_cfg=self.comp.ref.getLogConfig() cfg=cfg.replace(" ","") c_cfg=c_cfg.replace(" ","") - self.assertEquals( cfg, c_cfg) + self.assertEqual( cfg, c_cfg) def test_comp_macro_config(self): @@ -762,7 +762,7 @@ def test_comp_macro_config(self): res=c_cfg.find(self.cname) - self.assertNotEquals( res, -1 ) + self.assertNotEqual( res, -1 ) def test_comp_log_event_appender(self): @@ -818,11 +818,11 @@ def test_log_callback(self): orig = self.comp.ref._get_log_level() self.comp.ref._set_log_level( CF.LogLevels.TRACE ) lvl = self.comp.ref._get_log_level() - self.assertEquals( lvl, orig ) + self.assertEqual( lvl, orig ) # change config c_cfg=self.comp.ref.setLogConfig(cfg) - self.assertEquals( self.comp.new_log_cfg, exp_cfg) + self.assertEqual( self.comp.new_log_cfg, exp_cfg) class PythonDeviceLoggingConfig(scatest.CorbaTestCase): @@ -843,25 +843,25 @@ def test_log_level(self): self.comp = sb.launch(self.cname, impl="python", execparams={'DISABLE_CB': 'True'} ) self.comp.ref._set_log_level( CF.LogLevels.OFF ) lvl = self.comp.ref._get_log_level() - self.assertEquals( lvl, CF.LogLevels.OFF ) + self.assertEqual( lvl, CF.LogLevels.OFF ) self.comp.ref._set_log_level( CF.LogLevels.FATAL ) lvl = self.comp.ref._get_log_level() - self.assertEquals( lvl, CF.LogLevels.FATAL) + self.assertEqual( lvl, CF.LogLevels.FATAL) self.comp.ref._set_log_level( CF.LogLevels.ERROR ) lvl = self.comp.ref._get_log_level() - self.assertEquals( lvl, CF.LogLevels.ERROR) + self.assertEqual( lvl, CF.LogLevels.ERROR) self.comp.ref._set_log_level( CF.LogLevels.WARN ) lvl = self.comp.ref._get_log_level() - self.assertEquals( lvl, CF.LogLevels.WARN) + self.assertEqual( lvl, CF.LogLevels.WARN) self.comp.ref._set_log_level( CF.LogLevels.INFO ) lvl = self.comp.ref._get_log_level() - self.assertEquals( lvl, CF.LogLevels.INFO) + self.assertEqual( lvl, CF.LogLevels.INFO) self.comp.ref._set_log_level( CF.LogLevels.DEBUG ) lvl = self.comp.ref._get_log_level() - self.assertEquals( lvl, CF.LogLevels.DEBUG) + self.assertEqual( lvl, CF.LogLevels.DEBUG) self.comp.ref._set_log_level( CF.LogLevels.TRACE ) lvl = self.comp.ref._get_log_level() - self.assertEquals( lvl, CF.LogLevels.TRACE) + self.assertEqual( lvl, CF.LogLevels.TRACE) self.comp.ref._set_log_level( CF.LogLevels.ERROR ) def test_default_logconfig(self): @@ -874,7 +874,7 @@ def test_default_logconfig(self): c_cfg=self.comp.ref.getLogConfig() cfg=cfg.replace(" ","") c_cfg=c_cfg.replace(" ","") - self.assertEquals( cfg, c_cfg) + self.assertEqual( cfg, c_cfg) def test_logconfig(self): @@ -889,7 +889,7 @@ def test_logconfig(self): c_cfg=self.comp.ref.getLogConfig() cfg=cfg.replace(" ","") c_cfg=c_cfg.replace(" ","") - self.assertEquals( cfg, c_cfg) + self.assertEqual( cfg, c_cfg) def test_comp_macro_config(self): @@ -905,7 +905,7 @@ def test_comp_macro_config(self): res=c_cfg.find(self.cname) - self.assertNotEquals( res, -1 ) + self.assertNotEqual( res, -1 ) def test_comp_log_event_appender(self): @@ -962,11 +962,11 @@ def test_log_callback(self): orig = self.comp.ref._get_log_level() self.comp.ref._set_log_level( CF.LogLevels.TRACE ) lvl = self.comp.ref._get_log_level() - self.assertEquals( lvl, orig ) + self.assertEqual( lvl, orig ) # change config c_cfg=self.comp.ref.setLogConfig(cfg) - self.assertEquals( self.comp.new_log_cfg, exp_cfg) + self.assertEqual( self.comp.new_log_cfg, exp_cfg) class DomainTestLogEventAppender(scatest.CorbaTestCase): def setUp(self): @@ -995,7 +995,7 @@ def test_logeventappenderDomainManager(self): fp = open(self.stderr_filename, 'r') contents = fp.read() fp.close() - self.assertEquals(len(contents), 0) + self.assertEqual(len(contents), 0) class LoggingConfigCategory(scatest.CorbaTestCase): def setUp(self): @@ -1024,7 +1024,7 @@ def _test_LoggingCategory(self): self.comp.setLogConfig(x) lvl=self.comp.log_level() - self.assertEquals( orig, lvl ) + self.assertEqual( orig, lvl ) # change component's logger level state from WARN to TRACE @@ -1038,7 +1038,7 @@ def _test_LoggingCategory(self): log4j.category.TestLoggingAPI_1=TRACE,stdout\n\n' self.comp.setLogConfig(y) lvl=self.comp.log_level() - self.assertEquals( proj, lvl ) + self.assertEqual( proj, lvl ) @scatest.requireJava def test_LoggingCategoryJava(self): diff --git a/redhawk/src/testing/tests/test_15_MultiDomain.py b/redhawk/src/testing/tests/test_15_MultiDomain.py index 38e7e53e8..f48fbcb1a 100644 --- a/redhawk/src/testing/tests/test_15_MultiDomain.py +++ b/redhawk/src/testing/tests/test_15_MultiDomain.py @@ -43,7 +43,7 @@ def launchDomain(number, root, dmdFile=''): orb = _CORBA.ORB_init(_sys.argv, _CORBA.ORB_ID) ns = orb.resolve_initial_references("NameService") root = ns._narrow(CosNaming.NamingContext) - except Exception, e: + except Exception as e: _domainManager = None if _domainManager: break @@ -108,7 +108,7 @@ def test_MultipleDomainDeployment(self): self.assertEqual(len(self._domainManager_1._get_applicationFactories()), 0) value_1 = any.from_any(self._domainManager_2._get_deviceManagers()[0]._get_registeredDevices()[0].query(props)[0].value) - self.assertEquals(value_1, value_2) + self.assertEqual(value_1, value_2) def test_AllocationManagerDevices(self): """ @@ -269,20 +269,20 @@ def test_RemoteAllocations(self): resId = 'exec' else: self.fail('Unexpected allocation in results') - self.assert_(allocMgrHelpers.compareAllocationStatus(status, results[resId])) + self.assertTrue(allocMgrHelpers.compareAllocationStatus(status, results[resId])) # Try to retrieve a local and remote allocation via allocations allocs = allocMgr_1.allocations([execId]) self.assertEqual(len(allocs), 1) - self.assert_(allocMgrHelpers.compareAllocationStatus(allocs[0], results['exec'])) + self.assertTrue(allocMgrHelpers.compareAllocationStatus(allocs[0], results['exec'])) allocs = allocMgr_1.allocations([usesId]) self.assertEqual(len(allocs), 1) - self.assert_(allocMgrHelpers.compareAllocationStatus(allocs[0], results['uses'])) + self.assertTrue(allocMgrHelpers.compareAllocationStatus(allocs[0], results['uses'])) # Make sure we can retrieve the local allocation via localAllocations allocs = allocMgr_1.localAllocations([execId]) self.assertEqual(len(allocs), 1) - self.assert_(allocMgrHelpers.compareAllocationStatus(allocs[0], results['exec'])) + self.assertTrue(allocMgrHelpers.compareAllocationStatus(allocs[0], results['exec'])) # Try to retrieve a remote allocation via localAllocations, and make # sure that the invalid ID causes an exception @@ -292,10 +292,10 @@ def test_RemoteAllocations(self): # allocation, but via both allocations and localAllocations allocs = allocMgr_2.allocations([]) self.assertEqual(len(allocs), 1) - self.assert_(allocMgrHelpers.compareAllocationStatus(allocs[0], results['uses'])) + self.assertTrue(allocMgrHelpers.compareAllocationStatus(allocs[0], results['uses'])) allocs = allocMgr_2.localAllocations([]) self.assertEqual(len(allocs), 1) - self.assert_(allocMgrHelpers.compareAllocationStatus(allocs[0], results['uses'])) + self.assertTrue(allocMgrHelpers.compareAllocationStatus(allocs[0], results['uses'])) # The second domain shouldn't know about the local 'exec' allocation self.assertRaises(CF.AllocationManager.InvalidAllocationId, allocMgr_2.allocations, [execId]) @@ -306,11 +306,11 @@ def test_RemoteAllocations(self): allocMgr_1.deallocate([usesId]) allocs = allocMgr_1.allocations([]) self.assertEqual(len(allocs), 1) - self.assert_(allocMgrHelpers.compareAllocationStatus(allocs[0], results['exec'])) + self.assertTrue(allocMgrHelpers.compareAllocationStatus(allocs[0], results['exec'])) self.assertRaises(CF.AllocationManager.InvalidAllocationId, allocMgr_1.allocations, [usesId]) allocs = allocMgr_1.localAllocations([]) self.assertEqual(len(allocs), 1) - self.assert_(allocMgrHelpers.compareAllocationStatus(allocs[0], results['exec'])) + self.assertTrue(allocMgrHelpers.compareAllocationStatus(allocs[0], results['exec'])) # The remote domain should have nothing left self.assertEqual(allocMgr_2.allocations([]), []) @@ -460,9 +460,9 @@ def test_AllocationPersistence(self): self.launchDomainManager(endpoint='giop:tcp::5679', dbURI=self._dbfile) post = dict((al.allocationID, al) for al in allocMgr_1.allocations([])) self.assertEqual(len(pre), len(post)) - self.assertEqual(pre.keys(), post.keys()) - for allocId, status in pre.iteritems(): - self.assert_(allocMgrHelpers.compareAllocationStatus(status, post[allocId])) + self.assertEqual(list(pre.keys()), list(post.keys())) + for allocId, status in pre.items(): + self.assertTrue(allocMgrHelpers.compareAllocationStatus(status, post[allocId])) if __name__ == "__main__": # Run the unittests diff --git a/redhawk/src/testing/tests/test_16_Apps.py b/redhawk/src/testing/tests/test_16_Apps.py index 69ffe0d31..4a894260e 100644 --- a/redhawk/src/testing/tests/test_16_Apps.py +++ b/redhawk/src/testing/tests/test_16_Apps.py @@ -21,21 +21,21 @@ import unittest from _unitTestHelpers import scatest from ossie import parsers -import commands +import subprocess class AppsTest(scatest.CorbaTestCase): def test_DeviceConnections(self): - status,output = commands.getstatusoutput('../base/framework/python/ossie/apps/py2prf app_input/py_prf_check_base.py') - self.assertEquals(status, 0) + status,output = subprocess.getstatusoutput('../base/framework/python/ossie/apps/py2prf app_input/py_prf_check_base.py') + self.assertEqual(status, 0) prf = parsers.PRFParser.parseString(output) - self.assertNotEquals(prf,None) - self.assertEquals(len(prf.get_simple()),1) - self.assertEquals(prf.get_simple()[0].get_id(),'some_simple') - self.assertEquals(len(prf.get_simplesequence()),1) - self.assertEquals(prf.get_simplesequence()[0].get_id(),'some_sequence') - self.assertEquals(len(prf.get_struct()),1) - self.assertEquals(prf.get_struct()[0].get_id(),'some_struct') - self.assertEquals(len(prf.get_structsequence()),1) - self.assertEquals(prf.get_structsequence()[0].get_id(),'some_struct_seq') + self.assertNotEqual(prf,None) + self.assertEqual(len(prf.get_simple()),1) + self.assertEqual(prf.get_simple()[0].get_id(),'some_simple') + self.assertEqual(len(prf.get_simplesequence()),1) + self.assertEqual(prf.get_simplesequence()[0].get_id(),'some_sequence') + self.assertEqual(len(prf.get_struct()),1) + self.assertEqual(prf.get_struct()[0].get_id(),'some_struct') + self.assertEqual(len(prf.get_structsequence()),1) + self.assertEqual(prf.get_structsequence()[0].get_id(),'some_struct_seq') diff --git a/redhawk/src/testing/tests/test_16_ConnectionManager.py b/redhawk/src/testing/tests/test_16_ConnectionManager.py index eb9683dba..91b113d18 100644 --- a/redhawk/src/testing/tests/test_16_ConnectionManager.py +++ b/redhawk/src/testing/tests/test_16_ConnectionManager.py @@ -180,7 +180,7 @@ def test_ApplicationConnectionNoDefer(self): uses = CF.ConnectionManager.EndpointRequest(uses, 'resource_out') provides = CF.ConnectionManager.EndpointResolutionType(deviceId=self.devId1) provides = CF.ConnectionManager.EndpointRequest(provides, '') - self.failUnlessRaises(CF.Port.InvalidPort, self._connMgr.connect, uses, provides, 'test_environment', 'test_connection') + self.assertRaises(CF.Port.InvalidPort, self._connMgr.connect, uses, provides, 'test_environment', 'test_connection') # Try to make a connection to an application that does not exist, again # verifying that it raises an exception @@ -188,7 +188,7 @@ def test_ApplicationConnectionNoDefer(self): uses = CF.ConnectionManager.EndpointRequest(uses, 'resource_out') provides = CF.ConnectionManager.EndpointResolutionType(applicationId='not_there') provides = CF.ConnectionManager.EndpointRequest(provides, '') - self.failUnlessRaises(CF.Port.InvalidPort, self._connMgr.connect, uses, provides, 'test_environment', 'test_connection') + self.assertRaises(CF.Port.InvalidPort, self._connMgr.connect, uses, provides, 'test_environment', 'test_connection') class ConnectionManagerTestRedhawkUtils(scatest.CorbaTestCase): def setUp(self): @@ -518,10 +518,10 @@ def test_redhawkutils_ApplicationConnectionNoDefer(self): # verify that it raises an exception uses = self.cm.applicationEndPoint('not_there', 'resource_out') provides = self.cm.deviceEndPoint( self.devId1, '') - self.failUnlessRaises(CF.Port.InvalidPort, self.cm.connect, uses, provides, 'test_environment', 'test_connection') + self.assertRaises(CF.Port.InvalidPort, self.cm.connect, uses, provides, 'test_environment', 'test_connection') # Try to make a connection to an application that does not exist, again # verifying that it raises an exception uses = self.cm.deviceEndPoint(self.devId2, 'resource_out') provides = self.cm.applicationEndPoint('not_there', '') - self.failUnlessRaises(CF.Port.InvalidPort, self.cm.connect, uses, provides, 'test_environment', 'test_connection') + self.assertRaises(CF.Port.InvalidPort, self.cm.connect, uses, provides, 'test_environment', 'test_connection') diff --git a/redhawk/src/testing/tests/test_16_HierarchicalLogging.py b/redhawk/src/testing/tests/test_16_HierarchicalLogging.py index 06c07b2e9..18ec16958 100644 --- a/redhawk/src/testing/tests/test_16_HierarchicalLogging.py +++ b/redhawk/src/testing/tests/test_16_HierarchicalLogging.py @@ -41,7 +41,7 @@ def setUp(self): domBooter, self._domMgr = self.launchDomainManager() devBooter, self._devMgr = self.launchDeviceManager("/nodes/test_ExecutableDevice_node/DeviceManager.dcd.xml") self._rhDom = redhawk.attach(scatest.getTestDomainName()) - self.assertEquals(len(self._rhDom._get_applications()), 0) + self.assertEqual(len(self._rhDom._get_applications()), 0) def tearDown(self): # Do all application shutdown before calling the base class tearDown, @@ -67,15 +67,15 @@ def test_logconfiguri_application(self): redhawk.setTrackApps(True) # Create Application from $SDRROOT path app_1 = self._rhDom.createApplication("/waveforms/logger_w/logger_w.sad.xml", initConfiguration={'LOGGING_CONFIG_URI':'file://'+os.getcwd()+'/high_thresh.cfg'}) - self.assertEquals(app_1.getLogLevel('logger_1'), 30000) - self.assertEquals(app_1.getLogLevel('logger_2'), 30000) + self.assertEqual(app_1.getLogLevel('logger_1'), 30000) + self.assertEqual(app_1.getLogLevel('logger_2'), 30000) loggers_1 = app_1.getNamedLoggers() app_2 = self._rhDom.createApplication("/waveforms/logger_w/logger_w.sad.xml") loggers_2 = app_2.getNamedLoggers() - self.assertEquals(app_1.getLogLevel('logger_1'), 30000) - self.assertEquals(app_1.getLogLevel('logger_2'), 30000) - self.assertEquals(app_2.getLogLevel('logger_1'), 40000) - self.assertEquals(app_2.getLogLevel('logger_2'), 40000) + self.assertEqual(app_1.getLogLevel('logger_1'), 30000) + self.assertEqual(app_1.getLogLevel('logger_2'), 30000) + self.assertEqual(app_2.getLogLevel('logger_1'), 40000) + self.assertEqual(app_2.getLogLevel('logger_2'), 40000) def test_logconfiguri_overload(self): self.cname = "logger" @@ -90,12 +90,12 @@ def test_logconfiguri_overload(self): fp.write(sad_contents) fp.close() app_1 = self._rhDom.createApplication("/waveforms/logger_overload_w/tmp.sad.xml") - self.assertEquals(app_1.getLogLevel('logger_2'), 30000) + self.assertEqual(app_1.getLogLevel('logger_2'), 30000) loggers_1 = app_1.getNamedLoggers() app_2 = self._rhDom.createApplication("/waveforms/logger_w/logger_w.sad.xml") loggers_2 = app_2.getNamedLoggers() - self.assertEquals(app_1.getLogLevel('logger_2'), 30000) - self.assertEquals(app_2.getLogLevel('logger_1'), 40000) + self.assertEqual(app_1.getLogLevel('logger_2'), 30000) + self.assertEqual(app_2.getLogLevel('logger_1'), 40000) def test_loggingconfig(self): self.cname = "logger" @@ -116,8 +116,8 @@ def test_loggingconfig(self): fp.write(sad_contents) fp.close() app_1 = self._rhDom.createApplication("/waveforms/logger_config/tmp.sad.xml") - self.assertEquals(app_1.getLogLevel('logger_1'), 0) - self.assertEquals(app_1.getLogLevel('logger_2'), 50000) + self.assertEqual(app_1.getLogLevel('logger_1'), 0) + self.assertEqual(app_1.getLogLevel('logger_2'), 50000) logger_1 = -1 logger_2 = -1 for comp_idx in range(len(app_1.comps)): @@ -130,16 +130,16 @@ def test_loggingconfig(self): logger_2 = 0 self.assertNotEqual(logger_1, -1) self.assertNotEqual(logger_2, -1) - self.assertEquals(app_1.comps[logger_1].getLogConfig(), high_thresh_cfg) - self.assertEquals(app_1.comps[logger_2].getLogConfig(), runtest_props) + self.assertEqual(app_1.comps[logger_1].getLogConfig(), high_thresh_cfg) + self.assertEqual(app_1.comps[logger_2].getLogConfig(), runtest_props) loggers_1 = app_1.getNamedLoggers() app_2 = self._rhDom.createApplication("/waveforms/logger_config/tmp.sad.xml", initConfiguration={'LOGGING_CONFIG_URI':'file://'+os.getcwd()+'/high_thresh.cfg'}) loggers_2 = app_2.getNamedLoggers() - self.assertEquals(app_2.getLogLevel('logger_1'), 30000) - self.assertEquals(app_2.getLogLevel('logger_2'), 30000) - self.assertEquals(app_2.comps[logger_1].getLogConfig(), high_thresh_cfg) - self.assertEquals(app_2.comps[logger_2].getLogConfig(), high_thresh_cfg) + self.assertEqual(app_2.getLogLevel('logger_1'), 30000) + self.assertEqual(app_2.getLogLevel('logger_2'), 30000) + self.assertEqual(app_2.comps[logger_1].getLogConfig(), high_thresh_cfg) + self.assertEqual(app_2.comps[logger_2].getLogConfig(), high_thresh_cfg) app_1.start() time.sleep(1.5) @@ -192,49 +192,49 @@ def applicationAccess(self, sadfile): self.assertRaises(CF.UnknownIdentifier, app.getLogLevel, self.cname+'_1.foo') app.setLogLevel(self.cname+'_1', 'all') - self.assertEquals(app.getLogLevel(self.cname+'_1'), CF.LogLevels.ALL) - self.assertEquals(app.getLogLevel(self.cname+'_1.lower'), CF.LogLevels.ALL) - self.assertEquals(app.getLogLevel(self.cname+'_1.namespace.lower'), CF.LogLevels.ALL) - self.assertEquals(app.getLogLevel(self.cname+'_1.user.more_stuff'), CF.LogLevels.ALL) - self.assertEquals(app.getLogLevel(self.cname+'_1.user.some_stuff'), CF.LogLevels.ALL) + self.assertEqual(app.getLogLevel(self.cname+'_1'), CF.LogLevels.ALL) + self.assertEqual(app.getLogLevel(self.cname+'_1.lower'), CF.LogLevels.ALL) + self.assertEqual(app.getLogLevel(self.cname+'_1.namespace.lower'), CF.LogLevels.ALL) + self.assertEqual(app.getLogLevel(self.cname+'_1.user.more_stuff'), CF.LogLevels.ALL) + self.assertEqual(app.getLogLevel(self.cname+'_1.user.some_stuff'), CF.LogLevels.ALL) app.setLogLevel(self.cname+'_1', 'off') - self.assertEquals(app.getLogLevel(self.cname+'_1'), CF.LogLevels.OFF) - self.assertEquals(app.getLogLevel(self.cname+'_1.lower'), CF.LogLevels.OFF) - self.assertEquals(app.getLogLevel(self.cname+'_1.namespace.lower'), CF.LogLevels.OFF) - self.assertEquals(app.getLogLevel(self.cname+'_1.user.more_stuff'), CF.LogLevels.OFF) - self.assertEquals(app.getLogLevel(self.cname+'_1.user.some_stuff'), CF.LogLevels.OFF) + self.assertEqual(app.getLogLevel(self.cname+'_1'), CF.LogLevels.OFF) + self.assertEqual(app.getLogLevel(self.cname+'_1.lower'), CF.LogLevels.OFF) + self.assertEqual(app.getLogLevel(self.cname+'_1.namespace.lower'), CF.LogLevels.OFF) + self.assertEqual(app.getLogLevel(self.cname+'_1.user.more_stuff'), CF.LogLevels.OFF) + self.assertEqual(app.getLogLevel(self.cname+'_1.user.some_stuff'), CF.LogLevels.OFF) # break the level inheritance app.setLogLevel(self.cname+'_1.user', 'trace') app.setLogLevel(self.cname+'_1', 'all') - self.assertEquals(app.getLogLevel(self.cname+'_1'), CF.LogLevels.ALL) - self.assertEquals(app.getLogLevel(self.cname+'_1.lower'), CF.LogLevels.ALL) - self.assertEquals(app.getLogLevel(self.cname+'_1.namespace.lower'), CF.LogLevels.ALL) - self.assertEquals(app.getLogLevel(self.cname+'_1.user.more_stuff'), CF.LogLevels.TRACE) - self.assertEquals(app.getLogLevel(self.cname+'_1.user.some_stuff'), CF.LogLevels.TRACE) + self.assertEqual(app.getLogLevel(self.cname+'_1'), CF.LogLevels.ALL) + self.assertEqual(app.getLogLevel(self.cname+'_1.lower'), CF.LogLevels.ALL) + self.assertEqual(app.getLogLevel(self.cname+'_1.namespace.lower'), CF.LogLevels.ALL) + self.assertEqual(app.getLogLevel(self.cname+'_1.user.more_stuff'), CF.LogLevels.TRACE) + self.assertEqual(app.getLogLevel(self.cname+'_1.user.some_stuff'), CF.LogLevels.TRACE) # set the log with a value rather than the string app.setLogLevel(self.cname+'_1', CF.LogLevels.DEBUG) - self.assertEquals(app.getLogLevel(self.cname+'_1'), CF.LogLevels.DEBUG) - self.assertEquals(app.getLogLevel(self.cname+'_1.lower'), CF.LogLevels.DEBUG) - self.assertEquals(app.getLogLevel(self.cname+'_1.namespace.lower'), CF.LogLevels.DEBUG) - self.assertEquals(app.getLogLevel(self.cname+'_1.user.more_stuff'), CF.LogLevels.TRACE) - self.assertEquals(app.getLogLevel(self.cname+'_1.user.some_stuff'), CF.LogLevels.TRACE) + self.assertEqual(app.getLogLevel(self.cname+'_1'), CF.LogLevels.DEBUG) + self.assertEqual(app.getLogLevel(self.cname+'_1.lower'), CF.LogLevels.DEBUG) + self.assertEqual(app.getLogLevel(self.cname+'_1.namespace.lower'), CF.LogLevels.DEBUG) + self.assertEqual(app.getLogLevel(self.cname+'_1.user.more_stuff'), CF.LogLevels.TRACE) + self.assertEqual(app.getLogLevel(self.cname+'_1.user.some_stuff'), CF.LogLevels.TRACE) app.resetLog() - self.assertEquals(orig_loggers[self.cname+'_1'], app.getLogLevel(self.cname+'_1')) - self.assertEquals(orig_loggers[self.cname+'_1.lower'], app.getLogLevel(self.cname+'_1.lower')) - self.assertEquals(orig_loggers[self.cname+'_1.namespace.lower'], app.getLogLevel(self.cname+'_1.namespace.lower')) - self.assertEquals(orig_loggers[self.cname+'_1.user.more_stuff'], app.getLogLevel(self.cname+'_1.user.more_stuff')) - self.assertEquals(orig_loggers[self.cname+'_1.user.some_stuff'], app.getLogLevel(self.cname+'_1.user.some_stuff')) + self.assertEqual(orig_loggers[self.cname+'_1'], app.getLogLevel(self.cname+'_1')) + self.assertEqual(orig_loggers[self.cname+'_1.lower'], app.getLogLevel(self.cname+'_1.lower')) + self.assertEqual(orig_loggers[self.cname+'_1.namespace.lower'], app.getLogLevel(self.cname+'_1.namespace.lower')) + self.assertEqual(orig_loggers[self.cname+'_1.user.more_stuff'], app.getLogLevel(self.cname+'_1.user.more_stuff')) + self.assertEqual(orig_loggers[self.cname+'_1.user.some_stuff'], app.getLogLevel(self.cname+'_1.user.some_stuff')) # verify that inheritance is re-established app.setLogLevel(self.cname+'_1', 'all') - self.assertEquals(CF.LogLevels.ALL, app.getLogLevel(self.cname+'_1')) - self.assertEquals(CF.LogLevels.ALL, app.getLogLevel(self.cname+'_1.lower')) - self.assertEquals(CF.LogLevels.ALL, app.getLogLevel(self.cname+'_1.namespace.lower')) - self.assertEquals(CF.LogLevels.ALL, app.getLogLevel(self.cname+'_1.user.more_stuff')) - self.assertEquals(CF.LogLevels.ALL, app.getLogLevel(self.cname+'_1.user.some_stuff')) + self.assertEqual(CF.LogLevels.ALL, app.getLogLevel(self.cname+'_1')) + self.assertEqual(CF.LogLevels.ALL, app.getLogLevel(self.cname+'_1.lower')) + self.assertEqual(CF.LogLevels.ALL, app.getLogLevel(self.cname+'_1.namespace.lower')) + self.assertEqual(CF.LogLevels.ALL, app.getLogLevel(self.cname+'_1.user.more_stuff')) + self.assertEqual(CF.LogLevels.ALL, app.getLogLevel(self.cname+'_1.user.some_stuff')) @scatest.requireLog4cxx class ApplicationDomainLogging(scatest.CorbaTestCase): @@ -252,7 +252,7 @@ def setUp(self): except: traceback.print_exc() pass - self.assertEquals(len(self._rhDom._get_applications()), 0) + self.assertEqual(len(self._rhDom._get_applications()), 0) def tearDown(self): # Do all application shutdown before calling the base class tearDown, @@ -342,19 +342,19 @@ def all_log_levels(_obj): # verify that the logger level is inherited _obj.comp.setLogLevel(_obj.cname+'_1', 'all') time.sleep(0.5) - _obj.assertEquals(_obj.comp.getLogLevel(_obj.cname+'_1'), CF.LogLevels.ALL) - _obj.assertEquals(_obj.comp.getLogLevel(_obj.cname+'_1.lower'), CF.LogLevels.ALL) - _obj.assertEquals(_obj.comp.getLogLevel(_obj.cname+'_1.lower.second.first'), CF.LogLevels.ALL) - _obj.assertEquals(_obj.comp.getLogLevel(_obj.cname+'_1.lower.third'), CF.LogLevels.ALL) - _obj.assertEquals(_obj.comp.getLogLevel(_obj.cname+'_1.namespace.lower'), CF.LogLevels.ALL) - _obj.assertEquals(_obj.comp.getLogLevel(_obj.cname+'_1.user.more_stuff'), CF.LogLevels.ALL) - _obj.assertEquals(_obj.comp.getLogLevel(_obj.cname+'_1.user.some_stuff'), CF.LogLevels.ALL) + _obj.assertEqual(_obj.comp.getLogLevel(_obj.cname+'_1'), CF.LogLevels.ALL) + _obj.assertEqual(_obj.comp.getLogLevel(_obj.cname+'_1.lower'), CF.LogLevels.ALL) + _obj.assertEqual(_obj.comp.getLogLevel(_obj.cname+'_1.lower.second.first'), CF.LogLevels.ALL) + _obj.assertEqual(_obj.comp.getLogLevel(_obj.cname+'_1.lower.third'), CF.LogLevels.ALL) + _obj.assertEqual(_obj.comp.getLogLevel(_obj.cname+'_1.namespace.lower'), CF.LogLevels.ALL) + _obj.assertEqual(_obj.comp.getLogLevel(_obj.cname+'_1.user.more_stuff'), CF.LogLevels.ALL) + _obj.assertEqual(_obj.comp.getLogLevel(_obj.cname+'_1.user.some_stuff'), CF.LogLevels.ALL) _obj.comp.setLogLevel(_obj.cname+'_1', 'off') - _obj.assertEquals(_obj.comp.getLogLevel(_obj.cname+'_1'), CF.LogLevels.OFF) - _obj.assertEquals(_obj.comp.getLogLevel(_obj.cname+'_1.lower'), CF.LogLevels.OFF) - _obj.assertEquals(_obj.comp.getLogLevel(_obj.cname+'_1.namespace.lower'), CF.LogLevels.OFF) - _obj.assertEquals(_obj.comp.getLogLevel(_obj.cname+'_1.user.more_stuff'), CF.LogLevels.OFF) - _obj.assertEquals(_obj.comp.getLogLevel(_obj.cname+'_1.user.some_stuff'), CF.LogLevels.OFF) + _obj.assertEqual(_obj.comp.getLogLevel(_obj.cname+'_1'), CF.LogLevels.OFF) + _obj.assertEqual(_obj.comp.getLogLevel(_obj.cname+'_1.lower'), CF.LogLevels.OFF) + _obj.assertEqual(_obj.comp.getLogLevel(_obj.cname+'_1.namespace.lower'), CF.LogLevels.OFF) + _obj.assertEqual(_obj.comp.getLogLevel(_obj.cname+'_1.user.more_stuff'), CF.LogLevels.OFF) + _obj.assertEqual(_obj.comp.getLogLevel(_obj.cname+'_1.user.some_stuff'), CF.LogLevels.OFF) # make sure that the log content is correct content = _obj.readLogFile('foo/bar/test.log') @@ -371,28 +371,28 @@ def all_log_levels(_obj): # verify that the loggers are off time.sleep(0.5) content_again = _obj.readLogFile('foo/bar/test.log') - _obj.assertEquals(len(content), len(content_again)) + _obj.assertEqual(len(content), len(content_again)) # break the level inheritance _obj.comp.setLogLevel(_obj.cname+'_1.user', 'trace') _obj.comp.setLogLevel(_obj.cname+'_1', 'all') - _obj.assertEquals(_obj.comp.getLogLevel(_obj.cname+'_1'), CF.LogLevels.ALL) - _obj.assertEquals(_obj.comp.getLogLevel(_obj.cname+'_1.lower'), CF.LogLevels.ALL) - _obj.assertEquals(_obj.comp.getLogLevel(_obj.cname+'_1.lower.second.first'), CF.LogLevels.ALL) - _obj.assertEquals(_obj.comp.getLogLevel(_obj.cname+'_1.lower.third'), CF.LogLevels.ALL) - _obj.assertEquals(_obj.comp.getLogLevel(_obj.cname+'_1.namespace.lower'), CF.LogLevels.ALL) - _obj.assertEquals(_obj.comp.getLogLevel(_obj.cname+'_1.user.more_stuff'), CF.LogLevels.TRACE) - _obj.assertEquals(_obj.comp.getLogLevel(_obj.cname+'_1.user.some_stuff'), CF.LogLevels.TRACE) + _obj.assertEqual(_obj.comp.getLogLevel(_obj.cname+'_1'), CF.LogLevels.ALL) + _obj.assertEqual(_obj.comp.getLogLevel(_obj.cname+'_1.lower'), CF.LogLevels.ALL) + _obj.assertEqual(_obj.comp.getLogLevel(_obj.cname+'_1.lower.second.first'), CF.LogLevels.ALL) + _obj.assertEqual(_obj.comp.getLogLevel(_obj.cname+'_1.lower.third'), CF.LogLevels.ALL) + _obj.assertEqual(_obj.comp.getLogLevel(_obj.cname+'_1.namespace.lower'), CF.LogLevels.ALL) + _obj.assertEqual(_obj.comp.getLogLevel(_obj.cname+'_1.user.more_stuff'), CF.LogLevels.TRACE) + _obj.assertEqual(_obj.comp.getLogLevel(_obj.cname+'_1.user.some_stuff'), CF.LogLevels.TRACE) # set the log with a value rather than the string _obj.comp.setLogLevel(_obj.cname+'_1', CF.LogLevels.DEBUG) - _obj.assertEquals(_obj.comp.getLogLevel(_obj.cname+'_1'), CF.LogLevels.DEBUG) - _obj.assertEquals(_obj.comp.getLogLevel(_obj.cname+'_1.lower'), CF.LogLevels.DEBUG) - _obj.assertEquals(_obj.comp.getLogLevel(_obj.cname+'_1.lower.second.first'), CF.LogLevels.DEBUG) - _obj.assertEquals(_obj.comp.getLogLevel(_obj.cname+'_1.lower.third'), CF.LogLevels.DEBUG) - _obj.assertEquals(_obj.comp.getLogLevel(_obj.cname+'_1.namespace.lower'), CF.LogLevels.DEBUG) - _obj.assertEquals(_obj.comp.getLogLevel(_obj.cname+'_1.user.more_stuff'), CF.LogLevels.TRACE) - _obj.assertEquals(_obj.comp.getLogLevel(_obj.cname+'_1.user.some_stuff'), CF.LogLevels.TRACE) + _obj.assertEqual(_obj.comp.getLogLevel(_obj.cname+'_1'), CF.LogLevels.DEBUG) + _obj.assertEqual(_obj.comp.getLogLevel(_obj.cname+'_1.lower'), CF.LogLevels.DEBUG) + _obj.assertEqual(_obj.comp.getLogLevel(_obj.cname+'_1.lower.second.first'), CF.LogLevels.DEBUG) + _obj.assertEqual(_obj.comp.getLogLevel(_obj.cname+'_1.lower.third'), CF.LogLevels.DEBUG) + _obj.assertEqual(_obj.comp.getLogLevel(_obj.cname+'_1.namespace.lower'), CF.LogLevels.DEBUG) + _obj.assertEqual(_obj.comp.getLogLevel(_obj.cname+'_1.user.more_stuff'), CF.LogLevels.TRACE) + _obj.assertEqual(_obj.comp.getLogLevel(_obj.cname+'_1.user.some_stuff'), CF.LogLevels.TRACE) _obj.comp.stop() @@ -421,52 +421,52 @@ def reset_logger(_obj): # verify that the logger level is inherited _obj.comp.setLogLevel(_obj.cname+'_1', 'all') time.sleep(0.5) - _obj.assertEquals(_obj.comp.getLogLevel(_obj.cname+'_1'), CF.LogLevels.ALL) - _obj.assertEquals(_obj.comp.getLogLevel(_obj.cname+'_1.lower'), CF.LogLevels.ALL) - _obj.assertEquals(_obj.comp.getLogLevel(_obj.cname+'_1.lower.second.first'), CF.LogLevels.ALL) - _obj.assertEquals(_obj.comp.getLogLevel(_obj.cname+'_1.lower.third'), CF.LogLevels.ALL) - _obj.assertEquals(_obj.comp.getLogLevel(_obj.cname+'_1.namespace.lower'), CF.LogLevels.ALL) - _obj.assertEquals(_obj.comp.getLogLevel(_obj.cname+'_1.user.more_stuff'), CF.LogLevels.ALL) - _obj.assertEquals(_obj.comp.getLogLevel(_obj.cname+'_1.user.some_stuff'), CF.LogLevels.ALL) + _obj.assertEqual(_obj.comp.getLogLevel(_obj.cname+'_1'), CF.LogLevels.ALL) + _obj.assertEqual(_obj.comp.getLogLevel(_obj.cname+'_1.lower'), CF.LogLevels.ALL) + _obj.assertEqual(_obj.comp.getLogLevel(_obj.cname+'_1.lower.second.first'), CF.LogLevels.ALL) + _obj.assertEqual(_obj.comp.getLogLevel(_obj.cname+'_1.lower.third'), CF.LogLevels.ALL) + _obj.assertEqual(_obj.comp.getLogLevel(_obj.cname+'_1.namespace.lower'), CF.LogLevels.ALL) + _obj.assertEqual(_obj.comp.getLogLevel(_obj.cname+'_1.user.more_stuff'), CF.LogLevels.ALL) + _obj.assertEqual(_obj.comp.getLogLevel(_obj.cname+'_1.user.some_stuff'), CF.LogLevels.ALL) _obj.comp.setLogLevel(_obj.cname+'_1', 'off') - _obj.assertEquals(_obj.comp.getLogLevel(_obj.cname+'_1'), CF.LogLevels.OFF) - _obj.assertEquals(_obj.comp.getLogLevel(_obj.cname+'_1.lower'), CF.LogLevels.OFF) - _obj.assertEquals(_obj.comp.getLogLevel(_obj.cname+'_1.lower.second.first'), CF.LogLevels.OFF) - _obj.assertEquals(_obj.comp.getLogLevel(_obj.cname+'_1.lower.third'), CF.LogLevels.OFF) - _obj.assertEquals(_obj.comp.getLogLevel(_obj.cname+'_1.namespace.lower'), CF.LogLevels.OFF) - _obj.assertEquals(_obj.comp.getLogLevel(_obj.cname+'_1.user.more_stuff'), CF.LogLevels.OFF) - _obj.assertEquals(_obj.comp.getLogLevel(_obj.cname+'_1.user.some_stuff'), CF.LogLevels.OFF) + _obj.assertEqual(_obj.comp.getLogLevel(_obj.cname+'_1'), CF.LogLevels.OFF) + _obj.assertEqual(_obj.comp.getLogLevel(_obj.cname+'_1.lower'), CF.LogLevels.OFF) + _obj.assertEqual(_obj.comp.getLogLevel(_obj.cname+'_1.lower.second.first'), CF.LogLevels.OFF) + _obj.assertEqual(_obj.comp.getLogLevel(_obj.cname+'_1.lower.third'), CF.LogLevels.OFF) + _obj.assertEqual(_obj.comp.getLogLevel(_obj.cname+'_1.namespace.lower'), CF.LogLevels.OFF) + _obj.assertEqual(_obj.comp.getLogLevel(_obj.cname+'_1.user.more_stuff'), CF.LogLevels.OFF) + _obj.assertEqual(_obj.comp.getLogLevel(_obj.cname+'_1.user.some_stuff'), CF.LogLevels.OFF) # break the level inheritance _obj.comp.setLogLevel(_obj.cname+'_1.user', 'trace') _obj.comp.setLogLevel(_obj.cname+'_1', 'all') - _obj.assertEquals(_obj.comp.getLogLevel(_obj.cname+'_1'), CF.LogLevels.ALL) - _obj.assertEquals(_obj.comp.getLogLevel(_obj.cname+'_1.lower'), CF.LogLevels.ALL) - _obj.assertEquals(_obj.comp.getLogLevel(_obj.cname+'_1.lower.second.first'), CF.LogLevels.ALL) - _obj.assertEquals(_obj.comp.getLogLevel(_obj.cname+'_1.lower.third'), CF.LogLevels.ALL) - _obj.assertEquals(_obj.comp.getLogLevel(_obj.cname+'_1.namespace.lower'), CF.LogLevels.ALL) - _obj.assertEquals(_obj.comp.getLogLevel(_obj.cname+'_1.user.more_stuff'), CF.LogLevels.TRACE) - _obj.assertEquals(_obj.comp.getLogLevel(_obj.cname+'_1.user.some_stuff'), CF.LogLevels.TRACE) + _obj.assertEqual(_obj.comp.getLogLevel(_obj.cname+'_1'), CF.LogLevels.ALL) + _obj.assertEqual(_obj.comp.getLogLevel(_obj.cname+'_1.lower'), CF.LogLevels.ALL) + _obj.assertEqual(_obj.comp.getLogLevel(_obj.cname+'_1.lower.second.first'), CF.LogLevels.ALL) + _obj.assertEqual(_obj.comp.getLogLevel(_obj.cname+'_1.lower.third'), CF.LogLevels.ALL) + _obj.assertEqual(_obj.comp.getLogLevel(_obj.cname+'_1.namespace.lower'), CF.LogLevels.ALL) + _obj.assertEqual(_obj.comp.getLogLevel(_obj.cname+'_1.user.more_stuff'), CF.LogLevels.TRACE) + _obj.assertEqual(_obj.comp.getLogLevel(_obj.cname+'_1.user.some_stuff'), CF.LogLevels.TRACE) # verify that the levels are reset back to their original level _obj.comp.resetLog() - _obj.assertEquals(orig_loggers[_obj.cname+'_1'], _obj.comp.getLogLevel(_obj.cname+'_1')) - _obj.assertEquals(orig_loggers[_obj.cname+'_1.lower'], _obj.comp.getLogLevel(_obj.cname+'_1.lower')) - _obj.assertEquals(orig_loggers[_obj.cname+'_1.lower.second.first'], _obj.comp.getLogLevel(_obj.cname+'_1.lower.second.first')) - _obj.assertEquals(orig_loggers[_obj.cname+'_1.lower.third'], _obj.comp.getLogLevel(_obj.cname+'_1.lower.third')) - _obj.assertEquals(orig_loggers[_obj.cname+'_1.namespace.lower'], _obj.comp.getLogLevel(_obj.cname+'_1.namespace.lower')) - _obj.assertEquals(orig_loggers[_obj.cname+'_1.user.more_stuff'], _obj.comp.getLogLevel(_obj.cname+'_1.user.more_stuff')) - _obj.assertEquals(orig_loggers[_obj.cname+'_1.user.some_stuff'], _obj.comp.getLogLevel(_obj.cname+'_1.user.some_stuff')) + _obj.assertEqual(orig_loggers[_obj.cname+'_1'], _obj.comp.getLogLevel(_obj.cname+'_1')) + _obj.assertEqual(orig_loggers[_obj.cname+'_1.lower'], _obj.comp.getLogLevel(_obj.cname+'_1.lower')) + _obj.assertEqual(orig_loggers[_obj.cname+'_1.lower.second.first'], _obj.comp.getLogLevel(_obj.cname+'_1.lower.second.first')) + _obj.assertEqual(orig_loggers[_obj.cname+'_1.lower.third'], _obj.comp.getLogLevel(_obj.cname+'_1.lower.third')) + _obj.assertEqual(orig_loggers[_obj.cname+'_1.namespace.lower'], _obj.comp.getLogLevel(_obj.cname+'_1.namespace.lower')) + _obj.assertEqual(orig_loggers[_obj.cname+'_1.user.more_stuff'], _obj.comp.getLogLevel(_obj.cname+'_1.user.more_stuff')) + _obj.assertEqual(orig_loggers[_obj.cname+'_1.user.some_stuff'], _obj.comp.getLogLevel(_obj.cname+'_1.user.some_stuff')) # verify that inheritance is re-established _obj.comp.setLogLevel(_obj.cname+'_1', 'all') - _obj.assertEquals(CF.LogLevels.ALL, _obj.comp.getLogLevel(_obj.cname+'_1')) - _obj.assertEquals(CF.LogLevels.ALL, _obj.comp.getLogLevel(_obj.cname+'_1.lower')) - _obj.assertEquals(CF.LogLevels.ALL, _obj.comp.getLogLevel(_obj.cname+'_1.lower.second.first')) - _obj.assertEquals(CF.LogLevels.ALL, _obj.comp.getLogLevel(_obj.cname+'_1.lower.third')) - _obj.assertEquals(CF.LogLevels.ALL, _obj.comp.getLogLevel(_obj.cname+'_1.namespace.lower')) - _obj.assertEquals(CF.LogLevels.ALL, _obj.comp.getLogLevel(_obj.cname+'_1.user.more_stuff')) - _obj.assertEquals(CF.LogLevels.ALL, _obj.comp.getLogLevel(_obj.cname+'_1.user.some_stuff')) + _obj.assertEqual(CF.LogLevels.ALL, _obj.comp.getLogLevel(_obj.cname+'_1')) + _obj.assertEqual(CF.LogLevels.ALL, _obj.comp.getLogLevel(_obj.cname+'_1.lower')) + _obj.assertEqual(CF.LogLevels.ALL, _obj.comp.getLogLevel(_obj.cname+'_1.lower.second.first')) + _obj.assertEqual(CF.LogLevels.ALL, _obj.comp.getLogLevel(_obj.cname+'_1.lower.third')) + _obj.assertEqual(CF.LogLevels.ALL, _obj.comp.getLogLevel(_obj.cname+'_1.namespace.lower')) + _obj.assertEqual(CF.LogLevels.ALL, _obj.comp.getLogLevel(_obj.cname+'_1.user.more_stuff')) + _obj.assertEqual(CF.LogLevels.ALL, _obj.comp.getLogLevel(_obj.cname+'_1.user.some_stuff')) _obj.comp.stop() @@ -476,15 +476,15 @@ def single_log_level(_obj): loggers = _obj.comp.getNamedLoggers() _obj.assertRaises(Exception, _obj.comp.setLogLevel, _obj.cname+'_1.user.more_stuff', 'hello') _obj.comp.setLogLevel(_obj.cname+'_1.user.more_stuff', 'all') - _obj.assertEquals(_obj.comp.getLogLevel(_obj.cname+'_1.user.more_stuff'), CF.LogLevels.ALL) + _obj.assertEqual(_obj.comp.getLogLevel(_obj.cname+'_1.user.more_stuff'), CF.LogLevels.ALL) time.sleep(0.5) _obj.comp.setLogLevel(_obj.cname+'_1.user.more_stuff', 'off') _obj.comp.setLogLevel(_obj.cname+'_1.user.some_stuff', 'all') - _obj.assertEquals(_obj.comp.getLogLevel(_obj.cname+'_1.user.some_stuff'), CF.LogLevels.ALL) + _obj.assertEqual(_obj.comp.getLogLevel(_obj.cname+'_1.user.some_stuff'), CF.LogLevels.ALL) time.sleep(0.5) _obj.comp.setLogLevel(_obj.cname+'_1.user.some_stuff', 'off') _obj.comp.setLogLevel(_obj.cname+'_1.user.more_stuff', 'all') - _obj.assertEquals(_obj.comp.getLogLevel(_obj.cname+'_1.user.more_stuff'), CF.LogLevels.ALL) + _obj.assertEqual(_obj.comp.getLogLevel(_obj.cname+'_1.user.more_stuff'), CF.LogLevels.ALL) time.sleep(0.5) _obj.comp.setLogLevel(_obj.cname+'_1.user.more_stuff', 'off') content = _obj.readLogFile('foo/bar/test.log') @@ -500,9 +500,9 @@ def selective_log_setting(_obj): _obj.comp.start() loggers = _obj.comp.getNamedLoggers() _obj.comp.setLogLevel('logger_1.user.more_stuff', 'all') - _obj.assertEquals(_obj.comp.getLogLevel('logger_1.user.more_stuff'), CF.LogLevels.ALL) - _obj.assertEquals(_obj.comp.getLogLevel('logger_1.user.some_stuff'), CF.LogLevels.WARN) - _obj.assertEquals(_obj.comp.getLogLevel('logger_1.namespace.lower'), CF.LogLevels.TRACE) + _obj.assertEqual(_obj.comp.getLogLevel('logger_1.user.more_stuff'), CF.LogLevels.ALL) + _obj.assertEqual(_obj.comp.getLogLevel('logger_1.user.some_stuff'), CF.LogLevels.WARN) + _obj.assertEqual(_obj.comp.getLogLevel('logger_1.namespace.lower'), CF.LogLevels.TRACE) time.sleep(0.5) _obj.comp.stop() test_content = _obj.readLogFile('foo/bar/test.log') @@ -513,8 +513,8 @@ def selective_log_setting(_obj): count_java_eventchannel_messages = test_content.count('Unable to resolve EventChannelManager') count_logger_test = logger_test_content.count('message from namespaced_logger') count_logger_newline = logger_test_content.count('\n') - _obj.assertEquals(count_test, count_newline-count_log4cxx_test-count_java_eventchannel_messages) - _obj.assertEquals(count_logger_test, count_logger_newline) + _obj.assertEqual(count_test, count_newline-count_log4cxx_test-count_java_eventchannel_messages) + _obj.assertEqual(count_logger_test, count_logger_newline) class PyHierarchicalLogging(scatest.CorbaTestCase): def setUp(self): @@ -838,22 +838,22 @@ def test_domMgr_log_level(self): self._rhDom = redhawk.attach(scatest.getTestDomainName()) current_level = self._rhDom._get_log_level() self.assertNotEqual(current_level, 5000) - self.assertEquals(self._rhDom.getLogLevel('DomainManager'),current_level) - self.assertEquals(self._rhDom.getLogLevel('DomainManager.AllocationManager'),current_level) - self.assertEquals(self._rhDom.getLogLevel('DomainManager.ConnectionManager'),current_level) - self.assertEquals(self._rhDom.getLogLevel('DomainManager.File'),current_level) - self.assertEquals(self._rhDom.getLogLevel('DomainManager.FileManager'),current_level) - self.assertEquals(self._rhDom.getLogLevel('DomainManager.proputils'),current_level) - self.assertEquals(self._rhDom.getLogLevel('DomainManager.EventChannelManager'),current_level) + self.assertEqual(self._rhDom.getLogLevel('DomainManager'),current_level) + self.assertEqual(self._rhDom.getLogLevel('DomainManager.AllocationManager'),current_level) + self.assertEqual(self._rhDom.getLogLevel('DomainManager.ConnectionManager'),current_level) + self.assertEqual(self._rhDom.getLogLevel('DomainManager.File'),current_level) + self.assertEqual(self._rhDom.getLogLevel('DomainManager.FileManager'),current_level) + self.assertEqual(self._rhDom.getLogLevel('DomainManager.proputils'),current_level) + self.assertEqual(self._rhDom.getLogLevel('DomainManager.EventChannelManager'),current_level) self._rhDom._set_log_level(5000) current_level = self._rhDom._get_log_level() - self.assertEquals(self._rhDom.getLogLevel('DomainManager'),current_level) - self.assertEquals(self._rhDom.getLogLevel('DomainManager.AllocationManager'),current_level) - self.assertEquals(self._rhDom.getLogLevel('DomainManager.ConnectionManager'),current_level) - self.assertEquals(self._rhDom.getLogLevel('DomainManager.File'),current_level) - self.assertEquals(self._rhDom.getLogLevel('DomainManager.FileManager'),current_level) - self.assertEquals(self._rhDom.getLogLevel('DomainManager.proputils'),current_level) - self.assertEquals(self._rhDom.getLogLevel('DomainManager.EventChannelManager'),current_level) + self.assertEqual(self._rhDom.getLogLevel('DomainManager'),current_level) + self.assertEqual(self._rhDom.getLogLevel('DomainManager.AllocationManager'),current_level) + self.assertEqual(self._rhDom.getLogLevel('DomainManager.ConnectionManager'),current_level) + self.assertEqual(self._rhDom.getLogLevel('DomainManager.File'),current_level) + self.assertEqual(self._rhDom.getLogLevel('DomainManager.FileManager'),current_level) + self.assertEqual(self._rhDom.getLogLevel('DomainManager.proputils'),current_level) + self.assertEqual(self._rhDom.getLogLevel('DomainManager.EventChannelManager'),current_level) def test_devMgr_cpp_access(self): self.cname = "log_test_cpp" @@ -871,7 +871,7 @@ def test_devMgr_java_access(self): def devMgrAccess(self, dcdfile): devBooter, self._devMgr = self.launchDeviceManager(dcdfile) self._rhDom = redhawk.attach(scatest.getTestDomainName()) - self.assertEquals(len(self._rhDom.devMgrs), 1) + self.assertEqual(len(self._rhDom.devMgrs), 1) # Create Application from $SDRROOT path devMgr = self._rhDom.devMgrs[0] loggers = devMgr.getNamedLoggers() @@ -905,49 +905,49 @@ def devMgrAccess(self, dcdfile): self.assertRaises(CF.UnknownIdentifier, devMgr.getLogLevel, self.cname+'_1.foo') devMgr.setLogLevel(self.cname+'_1', 'all') - self.assertEquals(devMgr.getLogLevel(self.cname+'_1'), CF.LogLevels.ALL) - self.assertEquals(devMgr.getLogLevel(self.cname+'_1.lower'), CF.LogLevels.ALL) - self.assertEquals(devMgr.getLogLevel(self.cname+'_1.namespace.lower'), CF.LogLevels.ALL) - self.assertEquals(devMgr.getLogLevel(self.cname+'_1.user.more_stuff'), CF.LogLevels.ALL) - self.assertEquals(devMgr.getLogLevel(self.cname+'_1.user.some_stuff'), CF.LogLevels.ALL) + self.assertEqual(devMgr.getLogLevel(self.cname+'_1'), CF.LogLevels.ALL) + self.assertEqual(devMgr.getLogLevel(self.cname+'_1.lower'), CF.LogLevels.ALL) + self.assertEqual(devMgr.getLogLevel(self.cname+'_1.namespace.lower'), CF.LogLevels.ALL) + self.assertEqual(devMgr.getLogLevel(self.cname+'_1.user.more_stuff'), CF.LogLevels.ALL) + self.assertEqual(devMgr.getLogLevel(self.cname+'_1.user.some_stuff'), CF.LogLevels.ALL) devMgr.setLogLevel(self.cname+'_1', 'off') - self.assertEquals(devMgr.getLogLevel(self.cname+'_1'), CF.LogLevels.OFF) - self.assertEquals(devMgr.getLogLevel(self.cname+'_1.lower'), CF.LogLevels.OFF) - self.assertEquals(devMgr.getLogLevel(self.cname+'_1.namespace.lower'), CF.LogLevels.OFF) - self.assertEquals(devMgr.getLogLevel(self.cname+'_1.user.more_stuff'), CF.LogLevels.OFF) - self.assertEquals(devMgr.getLogLevel(self.cname+'_1.user.some_stuff'), CF.LogLevels.OFF) + self.assertEqual(devMgr.getLogLevel(self.cname+'_1'), CF.LogLevels.OFF) + self.assertEqual(devMgr.getLogLevel(self.cname+'_1.lower'), CF.LogLevels.OFF) + self.assertEqual(devMgr.getLogLevel(self.cname+'_1.namespace.lower'), CF.LogLevels.OFF) + self.assertEqual(devMgr.getLogLevel(self.cname+'_1.user.more_stuff'), CF.LogLevels.OFF) + self.assertEqual(devMgr.getLogLevel(self.cname+'_1.user.some_stuff'), CF.LogLevels.OFF) # break the level inheritance devMgr.setLogLevel(self.cname+'_1.user', 'trace') devMgr.setLogLevel(self.cname+'_1', 'all') - self.assertEquals(devMgr.getLogLevel(self.cname+'_1'), CF.LogLevels.ALL) - self.assertEquals(devMgr.getLogLevel(self.cname+'_1.lower'), CF.LogLevels.ALL) - self.assertEquals(devMgr.getLogLevel(self.cname+'_1.namespace.lower'), CF.LogLevels.ALL) - self.assertEquals(devMgr.getLogLevel(self.cname+'_1.user.more_stuff'), CF.LogLevels.TRACE) - self.assertEquals(devMgr.getLogLevel(self.cname+'_1.user.some_stuff'), CF.LogLevels.TRACE) + self.assertEqual(devMgr.getLogLevel(self.cname+'_1'), CF.LogLevels.ALL) + self.assertEqual(devMgr.getLogLevel(self.cname+'_1.lower'), CF.LogLevels.ALL) + self.assertEqual(devMgr.getLogLevel(self.cname+'_1.namespace.lower'), CF.LogLevels.ALL) + self.assertEqual(devMgr.getLogLevel(self.cname+'_1.user.more_stuff'), CF.LogLevels.TRACE) + self.assertEqual(devMgr.getLogLevel(self.cname+'_1.user.some_stuff'), CF.LogLevels.TRACE) # set the log with a value rather than the string devMgr.setLogLevel(self.cname+'_1', CF.LogLevels.DEBUG) - self.assertEquals(devMgr.getLogLevel(self.cname+'_1'), CF.LogLevels.DEBUG) - self.assertEquals(devMgr.getLogLevel(self.cname+'_1.lower'), CF.LogLevels.DEBUG) - self.assertEquals(devMgr.getLogLevel(self.cname+'_1.namespace.lower'), CF.LogLevels.DEBUG) - self.assertEquals(devMgr.getLogLevel(self.cname+'_1.user.more_stuff'), CF.LogLevels.TRACE) - self.assertEquals(devMgr.getLogLevel(self.cname+'_1.user.some_stuff'), CF.LogLevels.TRACE) + self.assertEqual(devMgr.getLogLevel(self.cname+'_1'), CF.LogLevels.DEBUG) + self.assertEqual(devMgr.getLogLevel(self.cname+'_1.lower'), CF.LogLevels.DEBUG) + self.assertEqual(devMgr.getLogLevel(self.cname+'_1.namespace.lower'), CF.LogLevels.DEBUG) + self.assertEqual(devMgr.getLogLevel(self.cname+'_1.user.more_stuff'), CF.LogLevels.TRACE) + self.assertEqual(devMgr.getLogLevel(self.cname+'_1.user.some_stuff'), CF.LogLevels.TRACE) devMgr.resetLog() - self.assertEquals(orig_loggers[self.cname+'_1'], devMgr.getLogLevel(self.cname+'_1')) - self.assertEquals(orig_loggers[self.cname+'_1.lower'], devMgr.getLogLevel(self.cname+'_1.lower')) - self.assertEquals(orig_loggers[self.cname+'_1.namespace.lower'], devMgr.getLogLevel(self.cname+'_1.namespace.lower')) - self.assertEquals(orig_loggers[self.cname+'_1.user.more_stuff'], devMgr.getLogLevel(self.cname+'_1.user.more_stuff')) - self.assertEquals(orig_loggers[self.cname+'_1.user.some_stuff'], devMgr.getLogLevel(self.cname+'_1.user.some_stuff')) + self.assertEqual(orig_loggers[self.cname+'_1'], devMgr.getLogLevel(self.cname+'_1')) + self.assertEqual(orig_loggers[self.cname+'_1.lower'], devMgr.getLogLevel(self.cname+'_1.lower')) + self.assertEqual(orig_loggers[self.cname+'_1.namespace.lower'], devMgr.getLogLevel(self.cname+'_1.namespace.lower')) + self.assertEqual(orig_loggers[self.cname+'_1.user.more_stuff'], devMgr.getLogLevel(self.cname+'_1.user.more_stuff')) + self.assertEqual(orig_loggers[self.cname+'_1.user.some_stuff'], devMgr.getLogLevel(self.cname+'_1.user.some_stuff')) # verify that inheritance is re-established devMgr.setLogLevel(self.cname+'_1', 'all') - self.assertEquals(CF.LogLevels.ALL, devMgr.getLogLevel(self.cname+'_1')) - self.assertEquals(CF.LogLevels.ALL, devMgr.getLogLevel(self.cname+'_1.lower')) - self.assertEquals(CF.LogLevels.ALL, devMgr.getLogLevel(self.cname+'_1.namespace.lower')) - self.assertEquals(CF.LogLevels.ALL, devMgr.getLogLevel(self.cname+'_1.user.more_stuff')) - self.assertEquals(CF.LogLevels.ALL, devMgr.getLogLevel(self.cname+'_1.user.some_stuff')) + self.assertEqual(CF.LogLevels.ALL, devMgr.getLogLevel(self.cname+'_1')) + self.assertEqual(CF.LogLevels.ALL, devMgr.getLogLevel(self.cname+'_1.lower')) + self.assertEqual(CF.LogLevels.ALL, devMgr.getLogLevel(self.cname+'_1.namespace.lower')) + self.assertEqual(CF.LogLevels.ALL, devMgr.getLogLevel(self.cname+'_1.user.more_stuff')) + self.assertEqual(CF.LogLevels.ALL, devMgr.getLogLevel(self.cname+'_1.user.some_stuff')) def test_devMgr_overload(self): fp = open('sdr/dev/nodes/log_test_cpp_override_node/DeviceManager.dcd.xml','r') @@ -960,7 +960,7 @@ def test_devMgr_overload(self): devBooter, self._devMgr = self.launchDeviceManager('/nodes/log_test_cpp_override_node/tmp.dcd.xml') devBooter_2, self._devMgr_2 = self.launchDeviceManager('/nodes/log_test_cpp_node/DeviceManager.dcd.xml') self._rhDom = redhawk.attach(scatest.getTestDomainName()) - self.assertEquals(len(self._rhDom.devMgrs), 2) + self.assertEqual(len(self._rhDom.devMgrs), 2) # Create Application from $SDRROOT path _devMgr_o = None _devMgr = None @@ -971,52 +971,52 @@ def test_devMgr_overload(self): _devMgr = _d self.assertNotEqual(_devMgr, None) self.assertNotEqual(_devMgr_o, None) - self.assertEquals(_devMgr_o.getLogLevel('log_test_cpp_1'), 40000) - self.assertEquals(_devMgr_o.getLogLevel('log_test_cpp_2'), 30000) - self.assertEquals(_devMgr.getLogLevel('log_test_cpp_1'), 40000) - self.assertEquals(_devMgr.getLogLevel('log_test_cpp_2'), 40000) + self.assertEqual(_devMgr_o.getLogLevel('log_test_cpp_1'), 40000) + self.assertEqual(_devMgr_o.getLogLevel('log_test_cpp_2'), 30000) + self.assertEqual(_devMgr.getLogLevel('log_test_cpp_1'), 40000) + self.assertEqual(_devMgr.getLogLevel('log_test_cpp_2'), 40000) def test_devMgr_level_trace(self): devBooter, self._devMgr = self.launchDeviceManager('/nodes/node_device_deps/DeviceManager.dcd.xml.cpp', debug=5) self._rhDom = redhawk.attach(scatest.getTestDomainName()) - self.assertEquals(len(self._rhDom.devMgrs), 1) - self.assertEquals(self._rhDom.devMgrs[0]._get_log_level(), CF.LogLevels.ALL) # CF ALL and CF TRACE overlap for compatibility reasons - self.assertEquals(self._rhDom.devMgrs[0].devs[0]._get_log_level(), CF.LogLevels.ALL) + self.assertEqual(len(self._rhDom.devMgrs), 1) + self.assertEqual(self._rhDom.devMgrs[0]._get_log_level(), CF.LogLevels.ALL) # CF ALL and CF TRACE overlap for compatibility reasons + self.assertEqual(self._rhDom.devMgrs[0].devs[0]._get_log_level(), CF.LogLevels.ALL) def test_devMgr_level_debug(self): devBooter, self._devMgr = self.launchDeviceManager('/nodes/node_device_deps/DeviceManager.dcd.xml.cpp', debug=4) self._rhDom = redhawk.attach(scatest.getTestDomainName()) - self.assertEquals(len(self._rhDom.devMgrs), 1) - self.assertEquals(self._rhDom.devMgrs[0]._get_log_level(), CF.LogLevels.DEBUG) - self.assertEquals(self._rhDom.devMgrs[0].devs[0]._get_log_level(), CF.LogLevels.DEBUG) + self.assertEqual(len(self._rhDom.devMgrs), 1) + self.assertEqual(self._rhDom.devMgrs[0]._get_log_level(), CF.LogLevels.DEBUG) + self.assertEqual(self._rhDom.devMgrs[0].devs[0]._get_log_level(), CF.LogLevels.DEBUG) def test_devMgr_level_info(self): devBooter, self._devMgr = self.launchDeviceManager('/nodes/node_device_deps/DeviceManager.dcd.xml.cpp', debug=3) self._rhDom = redhawk.attach(scatest.getTestDomainName()) - self.assertEquals(len(self._rhDom.devMgrs), 1) - self.assertEquals(self._rhDom.devMgrs[0]._get_log_level(), CF.LogLevels.INFO) - self.assertEquals(self._rhDom.devMgrs[0].devs[0]._get_log_level(), CF.LogLevels.INFO) + self.assertEqual(len(self._rhDom.devMgrs), 1) + self.assertEqual(self._rhDom.devMgrs[0]._get_log_level(), CF.LogLevels.INFO) + self.assertEqual(self._rhDom.devMgrs[0].devs[0]._get_log_level(), CF.LogLevels.INFO) def test_devMgr_level_warn(self): devBooter, self._devMgr = self.launchDeviceManager('/nodes/node_device_deps/DeviceManager.dcd.xml.cpp', debug=2) self._rhDom = redhawk.attach(scatest.getTestDomainName()) - self.assertEquals(len(self._rhDom.devMgrs), 1) - self.assertEquals(self._rhDom.devMgrs[0]._get_log_level(), CF.LogLevels.WARN) - self.assertEquals(self._rhDom.devMgrs[0].devs[0]._get_log_level(), CF.LogLevels.WARN) + self.assertEqual(len(self._rhDom.devMgrs), 1) + self.assertEqual(self._rhDom.devMgrs[0]._get_log_level(), CF.LogLevels.WARN) + self.assertEqual(self._rhDom.devMgrs[0].devs[0]._get_log_level(), CF.LogLevels.WARN) def test_devMgr_level_error(self): devBooter, self._devMgr = self.launchDeviceManager('/nodes/node_device_deps/DeviceManager.dcd.xml.cpp', debug=1) self._rhDom = redhawk.attach(scatest.getTestDomainName()) - self.assertEquals(len(self._rhDom.devMgrs), 1) - self.assertEquals(self._rhDom.devMgrs[0]._get_log_level(), CF.LogLevels.ERROR) - self.assertEquals(self._rhDom.devMgrs[0].devs[0]._get_log_level(), CF.LogLevels.ERROR) + self.assertEqual(len(self._rhDom.devMgrs), 1) + self.assertEqual(self._rhDom.devMgrs[0]._get_log_level(), CF.LogLevels.ERROR) + self.assertEqual(self._rhDom.devMgrs[0].devs[0]._get_log_level(), CF.LogLevels.ERROR) def test_devMgr_level_fatal(self): devBooter, self._devMgr = self.launchDeviceManager('/nodes/node_device_deps/DeviceManager.dcd.xml.cpp', debug=0) self._rhDom = redhawk.attach(scatest.getTestDomainName()) - self.assertEquals(len(self._rhDom.devMgrs), 1) - self.assertEquals(self._rhDom.devMgrs[0]._get_log_level(), CF.LogLevels.FATAL) - self.assertEquals(self._rhDom.devMgrs[0].devs[0]._get_log_level(), CF.LogLevels.FATAL) + self.assertEqual(len(self._rhDom.devMgrs), 1) + self.assertEqual(self._rhDom.devMgrs[0]._get_log_level(), CF.LogLevels.FATAL) + self.assertEqual(self._rhDom.devMgrs[0].devs[0]._get_log_level(), CF.LogLevels.FATAL) if __name__ == "__main__": # Run the unittests diff --git a/redhawk/src/testing/tests/test_17_UnpackPackIntKW.py b/redhawk/src/testing/tests/test_17_UnpackPackIntKW.py index 5bfa54e8e..f293f4531 100644 --- a/redhawk/src/testing/tests/test_17_UnpackPackIntKW.py +++ b/redhawk/src/testing/tests/test_17_UnpackPackIntKW.py @@ -71,7 +71,7 @@ def _createtempfile(self, name): sri.keywords=mykw bf.start() bf.pushSRI(sri) - tmpData = range(0, 1024) + tmpData = list(range(0, 1024)) srid=ossie.properties.props_to_dict(sri.keywords) return filename diff --git a/redhawk/src/testing/tests/test_30_orb_shutdown.py b/redhawk/src/testing/tests/test_30_orb_shutdown.py index 38896a528..e70cc1f20 100644 --- a/redhawk/src/testing/tests/test_30_orb_shutdown.py +++ b/redhawk/src/testing/tests/test_30_orb_shutdown.py @@ -22,7 +22,7 @@ from _unitTestHelpers import scatest import time import contextlib -import cStringIO +import io import tempfile import re import resource @@ -31,8 +31,8 @@ from omniORB import any as _any from xml.dom import minidom import os as _os -import Queue -import StringIO +import queue +import io from ossie.cf import CF from ossie.utils import redhawk from ossie.utils import type_helpers @@ -75,11 +75,11 @@ def test_attach_shutdown(self): self.assertNotEqual(dom, dom3) self.assertEqual(dom.name, dom3.name) self.assertEqual(dom3.location, 'localhost:2809') - self.assertEquals(orb1, dom3.orb) + self.assertEqual(orb1, dom3.orb) orb1.shutdown(True) # Verify that we get the location=None domain, not dom4 dom4=redhawk.base.attach(dom_name) self.assertNotEqual(dom, dom4) - self.assertNotEquals(orb1, dom4.orb) + self.assertNotEqual(orb1, dom4.orb) diff --git a/redhawk/src/tools/Makefile.am b/redhawk/src/tools/Makefile.am index 96a079d69..9f2f57e27 100644 --- a/redhawk/src/tools/Makefile.am +++ b/redhawk/src/tools/Makefile.am @@ -29,4 +29,5 @@ redhawk_shminfo_LDFLAGS = $(OSSIE_LIBS) redhawk_shmclean_SOURCES = src/shmclean.cpp src/ShmVisitor.cpp src/ShmVisitor.h redhawk_shmclean_CXXFLAGS = -Wall $(OSSIE_CFLAGS) -redhawk_shmclean_LDFLAGS = $(OSSIE_LIBS) -lrt +redhawk_shmclean_LDFLAGS = $(OSSIE_LIBS) +redhawk_shmclean_LDADD = $(RT_LIB)